Permutive is expanding our engineering team further and we are looking for Scala Engineers to help us build the future of real-time data management and activation.
You'll use a wide range of technologies to build the functionality that solves previously-impossible problems for our customers and helps them deliver value through our platform. You should be keen to own the process of building new product features and managing the whole development process, including coding, testing, deploying, and monitoring.
The wider context
Permutive is a B2B SaaS company building the data platform and tools for a world with a trillion edge devices. We have product–market fit and customers that love us, and we’re 90+ people and growing rapidly in Europe and the US. We have received funding from some of the world’s best investors, including Y Combinator.
We’re 30+ engineers working to build an outstanding engineering culture so that everyone who joins has the opportunity and the support to do the best work of their life. Small, autonomous teams are important to us, and we want to empower everyone to make—and be accountable for—decisions through ownership.
Everything we build has to scale: our platform handles more requests each day than there are new tweets and Google searches, and each month we see more than a billion users. We think applying functional programming techniques like compositionality and type-safety is the best way to build the type of massive distributed system our platform comprises, allowing us to move fast without sacrificing quality.
Teams and technologies
Each engineer at Permutive belongs to a chapter—a group of engineers responsible for building best-in-class infrastructure that our product is built on, consolidating learnings, and sharing knowledge:
- Our Audiences chapter is responsible for collecting billions of first-party data points, segmenting and estimating audiences, training and deploying models, and activating audience data.
- Our Data Onboarding chapter helps our customers import and share data in a way that preserves the privacy of our end-users and the permissions and controls that our customers have put in place.
- Our Insights chapter own the infrastructure that delivers real-time insights and data to our customers. Their work includes taming huge datasets, building compelling visualisations, and streaming data to 100s of destinations.
- Our Edge chapter is responsible for distributing data processing and synchronizing computation state across the billions of users that run our SDKs.
- Platform Services underpin the other chapters and own the foundational services, libraries, and developer tools upon which other engineering teams build. They are responsible for developing new practices and standards to help scale our software and teams.
We have a common stack across all of our chapters, and we would love to hear from Scala engineers that have experience or interest in the technologies we use:
- Scala: cats, cats-effect, fs2, http4s, circe, doobie, refined
- Infrastructure: Kubernetes, Kafka, Bigtable, BigQuery, Beam, Postgres, Grafana, Terraform, TensorFlow, Cloud Run
The ideal candidate will have
- Experience working with REST APIs in Scala
- Interest in batch and stream data processing
- Able to communicate technical concepts clearly
- Have a broad understanding of software engineering concepts
- Excellent verbal and written communication skills
We'd be particularly excited if you have one or more of the below
- Experience with messaging systems (e.g. Kafka or Kinesis) and distributed data stores (e.g. Cassandra, Bigtable, DynamoDB)
- Familiarity with functional Scala libraries, e.g. Cats or fs2
- Experience building and deploying microservices, e.g. using Kubernetes
- Experience with cloud platforms such as AWS or GCP
- Familiar with stream processing frameworks, e.g. Spark, Beam, or Flink.
We take a structured, objective approach to salary-setting, which is based on market information, our compensation strategy, and your experience and capability as assessed through our interview process.
For a typical candidate with strong Scala experience plus most of our requirements we would likely pay £70,000 + options.
For a candidate with a breadth of experience, and who meets several of our bonus criteria, we’d pay up to £100,000 + options.
- Stock options (you'll own a piece of the pie)
- Parental Leave Policy entitling new parents up to 26 weeks of leave on full pay
- Everyone has an annual learning budget of £2,400 which we encourage you to use to level up
- Time to rest and relax with unlimited paid leave (minimum expectation of 25 days annually)
- Extensive training and development opportunities
- Automatic enrolment into our pension scheme from day one
- Free access to Spill, our mental health partners
Diversity, Equity & Inclusion
At Permutive, we’re taking a thoughtful, intersectional, long-term approach to diversity, equity & inclusion. We care deeply about creating an inclusive work environment that allows everyone to flourish, and we are taking continual action to progress in that direction. If you would like to read an outline of efforts we have already made towards becoming a more inclusive company as well as insight into what we are actively working on, you can find that information here.
How we are responding to COVID-19
We have a presence in London and New York. At the beginning of March 2020 we made the decision to move to working from home for all Permutive employees until 2022. We have invested significant time and budget into ensuring that everyone is suitably equipped to manage this time period. Our guiding principle behind any decision we make will always be the health and well-being of our employees.