Senior Software Engineer, Knowledge Platform (ML Infrastructure)
- San Francisco, CA
Square builds common business tools in unconventional ways so more people can start, run, and grow their businesses. When Square started, it was difficult and expensive (or just plain impossible) for some businesses to take credit cards. Square made credit card payments possible for all by turning a mobile phone into a credit card reader. Since then Square has been building an entire business toolkit of both hardware and software products including Square Capital, Square Terminal, Square Payroll, and more. 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.
Square's Knowledge Platform team has two goals:
- Make machine learning at Square easy. Square has over 100 engineers and data scientists building machine learning solutions; our team’ supports 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.
- Provide ecosystem expertise to all of Square's products. 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.
- Build tools and systems that make data scientists happier and more productive. As an infrastructure team that supports data scientists, we have a tight connection with the DS community and need people who enjoy working on tools and building reusable, maintainable systems. Two tools we’ve open-sourced are Bionic and pydocker.
- Build 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.
- Build 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 building flexible systems that support the vast array of ML requirements that can serve models built through any DS tool.
- Software development skills and computer science fundamentals.
- Experience producing scalable production-quality code incorporating testing, evaluation, and monitoring.
- Experience designing and productionizing large-scale distributed systems built around machine-learned models and big data.
Technologies we use and teach:
- Java, Python, Google Cloud Platform, AWS, Snowflake, JanusGraph, and Docker
- Python ML tech (pandas, scikit-learn, Jupyter)
- MySQL, Redis, Hibernate, jOOQ, Bigtable
At Square, we value diversity and always treat all employees and job applicants based on merit, qualifications, competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. We will consider for employment qualified applicants with criminal histories in a manner consistent with the requirements of 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)squareup.com. 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.