Senior Software Engineer - Recommendation Engine (Scala)
Senior engineer on an 'Engine Team' that turns data-science prototypes into production Scala/Spark software powering personalized fashion recommendations, serving ML-driven suggestions to millions of shoppers within tens-of-milliseconds SLAs over billions of retail transactions.
- Compensation
- Not disclosed
- Location
- Boston, MA
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 5+ years as a professional software engineer
- Functional and/or object-oriented programming experience (e.g., Scala, Kotlin, Java, C#, C/C++, Erlang)
- Demonstrated focus on software quality: unit testing, integration testing, and collaboration with QA
- Familiar with developing and releasing software as a service, especially with large user base or strict performance requirements
- Collaboration skills: working with various internal teams, listening and communicating
- Execution skills: works independently and collaboratively, understanding when each is appropriate
- Familiar with Big Data: large data volume design, relational and NoSQL databases, parallel/distributed computing, enterprise data management
- Familiar with machine learning, especially in commercial environments
- Undergraduate degree in Computer Science or a quantitative field (e.g., Math, Physics, Engineering)
Nice to have
- JVM experience preferred
- Spark experience helpful
- Interest in the fashion business domain or Big Data & Machine Learning solution space
Full description
The Engine Team designs and builds the software behind our personalized fashion recommendations. We start with algorithms and prototypes from our Data Science team, then design and build software to reliably generate machine learning models and give shoppers personalized recommendations, all while meeting our strict performance requirements. To do this, we use Scala, Spark, and the world’s largest fashion retail dataset, including billions of transactions, user registration data, product catalog information, images, and text.
Responsibilities
- Deliver Software: Implement, test, and support high quality software, used by millions of consumers every day, in an agile, iterative development culture.
- Focus on Performance: Make that software hit our Service-Level Agreements, serving personalized recommendations in 10s of milliseconds (e.g., without hitting disk).
- Apply Machine Learning: Design, implement, test, and support Big Data-driven, ML-based algorithms in conjunction with our team of data scientists.
- Learn: Contribute to team success by learning new technologies and algorithms, often while designing and building the software.
- Collaborate: Work with product managers, scientists, engineers, and customer support to invent, prioritize, build, and support our predictive analytics applications.
-
Qualifications
- 5+ years as a professional software engineer
- Experience with functional and/or object oriented programming experience: e.g., Scala, Kotlin, or Java, C#, C/C++, Erlang; JVM experience preferred.
- Demonstrated focus on software quality including unit testing, integration testing, and strong collaboration with QA
- Familiar with developing and releasing software as a service, especially software with a large user base or strict performance requirements.
- Collaboration skills: Work together with members of various internal teams, including listening and communicating.
- Execution skills: Gets things done both independently and collaboratively, and understand when each is appropriate.
- Familiar with Big Data: For example, designing for large data volume, combining relational and NoSQL databases, parallel or distributed computing (Spark experience helpful), enterprise-level data management.
- Familiar with Machine learning, especially in commercial environments.
- Passion: Has an interest in our business domain (fashion), solution space (Big Data & Machine Learning), or technology stack.
- Undergraduate degree in Computer Science or a quantitative field (e.g., Math, Physics, Engineering).