Staff Software Engineer — AI/ML
Software Engineering, Data Science
Redwood City, CA, USA
Posted on Saturday, June 17, 2023
At Snorkel AI, we’re redefining how people and organizations build AI applications. Snorkel started as a research project in the Stanford AI Lab in 2016, creating a higher-level interface to machine learning through programmatically labeled and managed training data. From deploying in some of the world’s largest and most sophisticated tech organizations, to empowering scientists, doctors, and journalists — we’ve seen firsthand how this approach democratizes and accelerates AI. Now, we’re building Snorkel Flow to bring our technology to everyone!
Building Snorkel Flow requires outstanding engineers and technologies across the stack, including scalable data pipelines, elegant and intuitive interfaces (both visual and programmatic), state-of-the-art ML modeling techniques, and best practices for seamless deployment. Modern AI approaches require large labeled training datasets to learn from. While traditional approaches typically rely on armies of human annotators to label by hand, Snorkel Flow empowers users to programmatically label and build training data sets to drive a radically faster, more flexible, and higher quality end-to-end AI development process. Snorkel Flow is an end-to-end development platform, complete with a GUI and powerful programmatic interfaces for driving the development process for full AI application workflows: from preprocessing, to programmatic training data creation, to ML model training, to analysis, and deployment. It's the data-first platform for enterprise AI.
Excited to help us redefine how AI applications are built? Apply to be the newest Snorkeler!
As a Staff AI/ML Engineer, you'll build systems to power large-scale machine learning and foundation model (e.g. large language model) workloads. You’ll work closely with other engineers, product managers, and field team members to ensure that Snorkel Flow users working with different data modalities (e.g. text, PDF, image) and different use cases can build high quality training datasets, integrate with the latest foundation model technology to build and adapt models, and take advantage of state-of-the-art error analysis and development automation.
- Own the architecture, design, development, and operations of large-scale systems designed for AI/ML tasks including distributed compute systems, data management systems, data engineering workflow systems, and end user experiences
- Recognize and act on opportunities to integrate the latest foundation model and related technologies to power user workflows
- Prototype, optimize, and maintain scalable back-end services that will power new ML and foundation model development workflows
- Design extensible and testable interfaces between internal services including the underlying storage and data models
- Be an engaged team player in a customer-focused cross-functional environment where you will feel excited to take on whatever is most impactful for the company and product
- Work a hybrid schedule with one or two days per week in our Redwood City HQ and work remotely with "No Meeting" Tuesdays and Thursdays
- 4+ years experience in delivering distributed and ML systems and services in a production setting for cloud-native applications
- Experience with distributed compute frameworks and deep learning frameworks
- Ability to design and build efficient scalable data storage, compute, and retrieval systems for AI/ML tasks
- Strong communication and coding skills with emphasis on designing for scale and robustness
- Experience owning the delivery of large multi-person projects
- 8+ years of professional software engineering experience
- Experience with architecting and developing production web-scale systems (monitoring, telemetry, performance, reliability, triage and debug)
- Strong development and debugging skills in Python
- Experience working with foundation models (e.g. large language models)
- Experience developing enterprise software products for machine learning and/or data science applications
The salary range for our Tier 1 locations of San Francisco, Seattle, Los Angeles & New York is $191,000.00 - $225,000.00.
Be Your Best At Snorkel
Snorkel AI is on a mission to make machine learning practical for everyone, and it starts with building a team that welcomes, represents and gives opportunity to all. We work at the frontier of AI and software engineering, and believe that underrepresented communities need to play a part in shaping the future of these fields. At Snorkel AI, we actively work to create an environment that values end-to-end ownership, diverse forms of impact, and opportunities for personal growth.
Snorkelers are supported by an amazing team and an amazing set of benefits. We offer comprehensive medical, dental, and vision plans for Snorkelers and their families, plus a yearly wellness stipend. Our 401k program lets Snorkelers plan for their future and our parental leave program lets new parents take up to 20 weeks of paid time off. Learn more about these benefits and more — like our workstation setup allowance — on our Careers page.
Snorkel AI is proud to be an Equal Employment Opportunity employer and is committed to building a team that represents a variety of backgrounds, perspectives, and skills. Snorkel AI embraces diversity and provides equal employment opportunities to all employees and applicants for employment. Snorkel AI prohibits discrimination and harassment of any type on the basis of race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state, or local law. All employment is decided on the basis of qualifications, performance, merit, and business need.
We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.