Senior Software Engineer, Machine Learning Platform
About the team:
At Sift we enhance trust and safety in the digital world with our AI driven technology platform. Our products deliver payment protection, ensure content integrity, and protect account defense for businesses around the world. The Machine Learning Platform team exists to enable product teams to construct and operate their production machine learning services as effectively as possible.
The team does this by providing a platform which handles the common needs of the product teams including production system integration, model training, model availability, health and monitoring infrastructure for model serving, and a streamlined model release process.
What you’ll do:
As a Senior Engineer in the Machine Learning Platform team you will build tools and processes to manage, improve, and rapidly scale our platform. Specifically, you will
- Design and build tools and processes to make the release of new machine learning models fast, easy, safe, and minimally disruptive.
- Lead architecture discussions to meet the requirement to serve hundreds of machine learning models at thousands of queries per second.
- Ensure that our systems can continue to scale rapidly while addressing rapidly evolving product team needs.
- Implement scalable, low-latency, high-throughput, fault-tolerant, extensible, and easily maintainable data processing pipelines for both batch and real-time systems.
- Motivate, listen and empathize, and help engineers and data scientists to excel.
What would make you a strong fit:
- 5+ years of professional software development experience or a degree in CS (or a related field) with 3+ years of experience.
- Experience building highly available low-latency systems using Java, Scala, C++ or other object-oriented languages.
- Experience working with large datasets and best in class data processing technologies for both stream and batch processing, such as Apache Spark, Apache Beam, MapReduce.
- Strong debugging, testing, tuning, and problem-solving skills.
- Strong communication & collaboration skills, and a belief that team output is more important than individual output.
- Self-starter, with a quick learning curve.
- Familiarity with practical challenges in ML systems such as feature extraction and definition, data validation, training, monitoring, and management of features and models.
- Practical knowledge of how to build end-to-end ML workflows.
- Experience with building an ML feature store for batch and real-time aggregation/serving.
- Knowledge of GCP or AWS cloud stack for web services and big data processing.