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!