Skip to main content

Software Engineer (Query Language)

Posted: 20 Sep 2021 Closes: 19 Nov 2021
London, United Kingdom Competitive
Permanent & Full-time -939626219

About Us...

Permutive is powering the future of targeted advertising on the Open Web today. As the only Audience Platform built on edge computing, we enable premium advertisers and publishers to plan, build and activate cohorts - all while keeping everyone's data safe.

We're a remote-first B2B SaaS company with 140+ people-centred around our London and New York hubs-and growing rapidly. We have received funding from some of the world's best investors, including a recent $75m Series C led by SoftBank Vision Fund 2.

About the Role...

Permutive is growing the Query Language team further and looking for a Software Engineer to develop our edge-compute capabilities.

We would be excited to hear from software engineers who are mathematically minded in their approach and have some commercial experience with embedded SDKs.

You will be working on our query language, which sits at the core of our platform and distributes computation to over a billion devices each month. Written in Haskell, this language currently supports segmentation, analytics, and model inference for users across the web.

This role is perfect for someone excited by contributing to a new computing paradigm through the lens of real-world business problems, who strives for perfection but also knows when to compromise and prioritise for the greater good of the team. There are numerous technical yet practical challenges to tackle, and there are novel questions that come with building a massively geo-distributed system which need answering.

Some problems you will help solve in this role are...
  • How do we handle distributed compute and storage at a massive scale?
  • How can we collect, aggregate, and query data across billions of devices while respecting user privacy?
  • How can we balance edge and cloud processing to optimize for the performance metrics that benefit our end-users?
  • How can we safely migrate our target language from JavaScript to WebAssembly, bearing in mind we would become one of the largest WebAssembly deployments on the Internet?
  • How can we seamlessly deploy changes to millions/billions of users and confidently revert back if needed?
  • How can we perform rigorous testing and simulations of our query language to ensure correctness and performance?
  • How can we measure edge compute metrics in production?
The wider context

We're 35+ 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.

The ideal person will have...
  • Strong commercial awareness with a bias towards delivery
  • Experience and/or hobby projects in Haskell, or a keen interest in learning it
  • Experience with generic, strongly-typed programming
  • Experience with JavaScript
  • Knowledge of distributed systems
  • Some experience of low-level programming
It is a bonus if you have any of the below
  • Experience and/or an interest in working with Conflict Free Replicated Data Types (CRDTs)
  • Experience processing data from high-volume sources (e.g. IoT, telecommunications, autonomous cars)
  • An understanding of JavaScript's performance characteristics on different JavaScript engines
  • Experience working with WebAssembly or LLVM
  • Interest or experience in being a voice for our work in the wider tech community (e.g. open source work, meetups, conferences, articles)
  • A mathematical background or interest in using mathematics (particularly abstract algebra) as a rigorous foundation for encoding properties of distributed systems
How we pay...

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 candidate meeting most of our requirements with some industry experience 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. Permutive is a remote first company committed to working from home for all Permutive employees until February 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. In February 2022, we will continue to be a remote first company, and all employees will have optional access to in-person collaboration space in NYC and London.
If you would like help and advice about applying for this role please visit the Career Hive

Share Job

If you would like help and advice about applying for this role please visit the Career Hive