Senior Software Engineer, Knowledge Platform (ML Infrastructure)

  • San Francisco, CA
  • Full-time

Company Description

When we launched the little white reader, we invented mobile, ubiquitous payments and enabled anyone to start, run, and grow a business. Ten years and billions of transactions later we’re reimagining commerce for businesses of all types and sizes—we’re enabling the independent electrician to send invoices, helping the beauty salon pay its employees, and giving the burgeoning coffee chain capital for a second, third, and fourth location. We’re working to find new and better ways to help businesses succeed on their own terms—and we’re looking for people like you to help shape tomorrow at Square.

Job Description

Square's Knowledge Platform team has two goals:

  1. Make machine learning at Square easy. Square has over 100 engineers and data scientists building machine learning solutions; our team’s job is to support these efforts. We build model development tools, feature computation infrastructure, and high scale serving systems to ensure that those trying to use machine learning can spend less time on infrastructure and more time delivering value.

  2. Provide ecosystem intelligence to all of Square's products.  Few things are more frustrating than trying to access and decipher another team's data.  We provide systems and models that help teams transform their idiosyncratic data into reusable knowledge, so that each new ML system starts with access to a large set of observations and features.

To accomplish these goals, we build highly scalable systems that can serve our customers needs. Our systems have to be tough enough to stand up to the high scale load of processing all payments at square; furthermore, they have to be flexible enough to enable data scientists to do their job. We sit in a unique spot, our team is an infrastructure one, but we work directly with Data Scientists on a daily basis. We get to learn directly from our customers and build new and better tools to directly improve their productivity and impact.

Within our team, we're looking for senior engineers to focus on building out Square’s Machine Learning systems. Specifically:

  1. Building tools and systems that make data scientists happier and more productive. As an infrastructure team that supports data scientists, we need need people with both the DS/ML and engineering experience to understand the process and pain points of ML, and the engineering skills to build reusable, maintainable systems. Two tools we’ve open-sourced recently are Bionic and pydocker.

  2. Build highly scalable systems that can do the heavy lifting of feature processing. Our team maintains the infrastructure to compute real time features used in the decision flows of all payments at square and the historical store that allows models to be trained. We need someone with experience with how to design and build flexible big data processing systems and knows how to move fast, but carefully, in production.

  3. Build highly flexible, fault tolerant serving systems. The main job of the team is to evaluate models to make the Data Scientist’s job easy in production. We need someone with experience in production system or experience that supports the vast array of ML requirements that can serve models built through any DS tool.


For this role, we like to see:

  • A desire to design systems that solve our customer’s problems; you want to understand your customers’ needs and requirements.

  • An ability to lead small projects and mentor junior engineers

  • Ability to produce scalable and robust production-quality code incorporating testing, evaluation, and monitoring.

  • Experience in designing and productionizing large-scale distributed systems built around machine-learned models and big data.

  • Experience using any of the major cloud vendors (GCP, AWS, Azure).

  • (Nice to have) Experience in any of: knowledge graphs, recommendation systems, NLP, deep learning, interpretable machine learning.

  • (Nice to have) An advanced degree focusing in computer science or other computational field.

Technologies we use:
  • Java, Python, Google Cloud Platform, AWS, Snowflake, JanusGraph, Docker

  • Python ML stack (pandas, scikit-learn, Jupyter, etc.)

  • MySQL, Redis, Hibernate, jOOQ, Bigtable

Additional Information

At Square, our purpose is to empower – within and outside of our walls. In order to build the best tools for the businesses and customers we support all over the world, we have to start at home with a workforce as diverse and empowered as our sellers. To this end, we take great care to evaluate all employees and job applicants equally, based on merit, competence, and qualifications. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law. We encourage candidates from all backgrounds to apply and always consider qualified applicants with arrest and conviction records, in accordance with the San Francisco Fair Chance Ordinance. Applicants in need of special assistance or accommodation during the interview process or in accessing our website may contact us by sending an email to assistance(at) We will treat your request as confidentially as possible. In your email, please include your name and preferred method of contact, and we will respond as soon as possible. Perks At Square, we want you to be well and thrive. Our global benefits package includes: Healthcare coverage, Retirement Plans, Employee Stock Purchase Program, Meal reimbursements, Wellness perks, Paid parental leave, Flexible time off, Learning and Development resources