Software Engineer - Recommendation Engine (Scala)
Engineering - Boston, MA - Full Time
Our personalization platform is strategically leveraged by 250 global retail sites, representing 17,000 brands and 100 million registered users. Since 2005, we have built the world’s largest data collective connecting consumers with apparel and footwear they will love and keep.
As our data collective continues to grow, so does our team! Let’s disrupt this $2 trillion industry together.
We're a Boston Globe Top Place to Work, and looking for a software engineer to work on our predictive recommendation engine in our downtown Boston headquarters. The Engine Team designs and builds the software behind our personalized fashion recommendations. We start with algorithms from our data scientists, 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 data set, including billions of transactions, user registration data, product catalog information, images, and text.
Responsibilities
- Deliver Software: Design, implement, test, and support high-quality software, used by millions of consumers every day, in an agile, iterative development culture.
- Apply Machine Learning: Design, implement, test, and support Big Data-driven, ML-based algorithms in conjunction with our team of data scientists.
- Focus on Performance: Make that software hit our Service-Level Agreements, serving personalized recommendations in 10s of milliseconds (e.g., without hitting disk).
- 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
Strong candidates will have many of the following qualifications:
- 2+ years as a professional software engineer with progressive levels of responsibility.
- Experience with functional and/or object oriented programming experience: Scala, Kotlin, Java, C#, or F# (JVM experience preferred).
- Experience developing and releasing commercial software, especially software with a large user base or strict performance requirements.
- Software Design skills: Understand business requirements and design software to solve them in the face of competing priorities.
- 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.
- Experience 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.
- Experience 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).