Software Engineer — AI/ML Systems
We’re on a mission to democratize AI by building the definitive AI data development platform. The AI landscape has gone through incredible change between 2016, when Snorkel started as a research project in the Stanford AI Lab, to the generative AI breakthroughs of today. But one thing has remained constant: the data you use to build AI is the key to achieving differentiation, high performance, and production-ready systems. We work with some of the world’s largest organizations to empower scientists, engineers, financial experts, product creators, journalists, and more to build custom AI with their data faster than ever before. Excited to help us redefine how AI is built? Apply to be the newest Snorkeler!
You’ll work closely with other engineers, product managers, and field team members to ensure that Snorkel Flow users working with NLP 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
Main Responsibilities
- Prototype, optimize, and maintain scalable back-end services that will power new ML development workflows
- Design extensible and testable interfaces between internal services including the underlying storage and data models
- Own the architecture, design, development, and operations of large-scale NLP-focused AI/ML tasks including data management systems, data representation, micro-services design, and connect to the front-end components.
- Work with customers and product and sales teams to understand product use case, desired capabilities, and scale requirements. Translate that to engineering specifications and code
- Keep CI/CD pipelines healthy and support customers in production via engaged on-call support
- 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
Required Qualifications
- Bachelor's degree in Computer Science or related field
- 2 years experience in delivering distributed systems and services in a production setting for cloud-native applications
- Strong development and debugging skills in python
- Experience with deep learning frameworks such as PyTorch
- Strong communication and coding skills with emphasis on designing for scale and robustness
- Proactive and positive attitude to lead, learn, troubleshoot and take ownership of shipping multi-quarter large feature development as well as immediate debugging and unblocking customers
Preferred Qualifications
- 5 years of professional software engineering experience
- Experience with NLP and relevant libraries such as scikit-learn, spaCy, xgboost, torch
- Experience developing enterprise software products for machine learning and/or data science applications
- Experience building and maintaining large scale, distributed and high performance data pipelines for AI/ML tasks
The salary range for this position based in the San Francisco Bay Area is $130,000.00 - $230,000.00. All offers include equity compensation in the form of employee stock options.
If you're a recent university graduate, please submit your application via the Recent University Graduate opening.