Software Engineer - Backend

Permutive ,
London, Greater London

Overview

Job Description

Description Permutive is looking for backend engineers with Scala experience to develop our real-time data management platform. You'll use a wide range of technologies to build 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 80+ 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 25+ 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. Roles and teams We would like to hear from backend software engineers for various teams based on your experience and interests. You can find out more about our teams below: Our Insights team own the product and infrastructure that delivers real-time data insights to our customers. Our work includes building compelling visualisations, taming huge datasets and identifying product opportunities * Scala, Kafka, fs2, Http4s, Distributed databases, Elm Our Routing team build and maintain the infrastructure that allows us to stream billions of events to 100s of destinations * Scala, Kafka, Cats, Cats-effect, fs2 Our Data team is responsible for the collection, enrichment and processing of billions of data points every month. The team also sets the data standards and principles for the wider Engineering organisation. * Scala, APIs, Microservices, ETL (Kafka, Dataflow, Spark, Flink, Beam), HTTP4s, Circe, Avro/Protobuf Our Edge team is responsible for distributing data processing and synchronisingstorage across the billions of user nodes that comprise our network. * Scala, Distributed Systems, Haskell, WebAssembly, JavaScript, APIs Our Modeling team provides an efficient and scalable infrastructure for deploying real-time data-driven models. The team builds on our edge & cloud capabilities to solve problems in personalisation, optimisation, and prediction. * Scala, data engineering, TensorFlow, Keras, BigQuery, scikit-learn, GCS. 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. Salary 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. Benefits * 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 * Time to rest and relax with unlimited paid leave * A technology budget to spend (as you see fit) to set up your work environment * Extensive training and development opportunities * A good contributory pension * The opportunity to learn from some amazing colleagues across the company, while creating something that impacts the way we build technology How we are responding to COVID-19 We have a physical office 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 January 2021. We have invested significant time and budget into ensuring that everyone is suitably equipped to manage this time period. Ou