Permutive is built on the core principle of responsible marketing, which includes privacy, consent and transparency. Its Audience Platform empowers publishers and advertisers to responsibly activate audiences without any third-party access to personal data.
Permutive is listed in Y Combinator’s Top 150 companies of all time and are trusted by the world’s largest publishers and advertisers, including News Corp, Hearst, BuzzFeed, Penske Media, Future plc, The Guardian, Vox Media, Insider, Hubert Burda Media and Condé Nast International to power their first party audience platforms. We are backed by Octopus Ventures, Softbank Vision Fund and EQT Ventures.
About the Role...
Permutive is expanding our engineering team further and we are looking for a Scala Engineer to join our Publisher Growth Team within our Publisher Pod.
Our Publisher Pod supports Permutive’s largest customer base. We’re focussed on building best-in-class products for publishers to set them up for success during a period of great change: with increasing regulation, significant shifts in browser technology and privacy becoming front of mind for consumers. In the Publisher Growth Team, we are building and scaling Permutive’s analytics platform to enable our customers to better understand their audiences and increase revenue while preserving privacy.
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
We’re 60+ 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
The Publisher Growth Team is focussed on building and improving our analytics platform and insights product which helps publishers to understand their audience and drive revenue growth while preserving privacy.
We are responsible for the real time consumption, analysis and forwarding of user events flowing to the Permutive platform. To give an idea of the scale we operate at, we have multiple data pipelines, each processing at around 150k events/sec at peak times and doing 200k read/write operations per second to our databases. It’s not unusual for our analytics Kafka cluster to be handling around 6M messages/sec.
We would love to hear from Software Engineers that have knowledge or an interest in working with some of the technologies we use:
- Scala: cats, cats-effect, http4s, fs2, circe, doobie
- Infrastructure: Kubernetes, Kafka, Bigtable, BigQuery, Beam, Postgres, Grafana, Terraform
You will be responsible for building new and maintaining existing backend systems that power our analytics platform, including data pipelines, data storage mechanisms and APIs for enabling other teams to access analytics data.
The ideal candidate will have
- Understanding of functional programming and general software engineering concepts.
- Experience with Scala programming.
- Experience with designing systems that have to operate at scale.
- Experience working in a dynamic environment.
- Excellent communication skills, in particular, when discussing technical concepts.
We'd be particularly excited if you have one or more of the below
- Experience with messaging systems (e.g. Kafka or Kinesis).
- Experience with distributed data stores (e.g. Bigtable, DynamoDB).
- Experience with functional Scala libraries, e.g. Cats, Cats-effect, Fs2, Http4s, or Doobie.
- 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 £95,000 + options.
For a candidate with a breadth of experience, and who meets several of our bonus criteria, we’d pay up to £115,000 + options.
- Stock options
- 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
Permutive is a remote first company. We also have an office presence in London and New York. All employees have optional access to a permanent in-person collaboration space in NYC and London. You are expected to do your primary work from home however everyone at Permutive has the option to spend as much (or as little) time as they need working from our office spaces. As a company, we gather in person at least once per quarter for different company-wide events.