Senior Platform Engineer (Scala) at Retention Science
Santa Monica, CA, US
Retention Science is looking for an experienced Scala engineer who is passionate about writing clean, well-tested code. You will be working on our “platform squad” - the team that handles data engineering pipelines, and creates scalable / high-throughput backend services, primarily in Scala / Spark. You will be building out robust micro-services that ingest and process huge data sets, work closely with our data science team to ensure that our machine learning models scale and support our product. Ultimately, this is all used to power our predictions and optimize and automate marketing campaigns for our clients. You will work with real-time / streaming technologies and build tools that help our clients visualize and interact with their data (millions of users and billions of data points.)

You'll get to work across our micro-services and distributed systems. You should love working with Scala, although you’ll also have the opportunity to work on other services, frameworks, languages (eg. Ruby, Node.JS, etc). In addition, you will gain exposure into our machine learning stack (Spark framework) that our data scientists have developed to predict and personalize at scale.

In addition to having meaningful responsibilities and improving your engineering chops, you will also receive comprehensive exposure to all aspects of our business. The code and ideas that you contribute will have a tangible impact on the cumulative work of the team as a whole. You thrive in a small, dynamic team environment and want to make an impact in a fast-paced start-up environment.


3+ years experience Scala and Spark development
Consideration for Java expert with some exposure and strong interest in Scala
Experience designing and implementing large, scalable services
Experience with automating & deploying micro-services
Experience working with third-party APIs and creating robust APIs
Know when and where to optimize and cache
Comfortable working with large data sets and distributed systems (datastores, frameworks)
Experience with streaming / realtime technologies (Kinesis, Kafka, Spark streaming etc)
Deep understanding of MySQL, Postgres, Redshift, relational databases etc.
Understand when to use NOSQL databases / other distributed "big data" technologies
Experience with AWS technologies
Startup work experience a major plus!