Cloud Infrastructure Engineer
Permutive is looking for a Cloud Infrastructure Engineer who can help own our highly-scaled, automated, observable event-driven platform.
The problem were trying to solve
We believe that computing at the edge represents a sea change in the way technology will be built, but we need a highly scaled and resilient cloud infrastructure to make that happen. We've built a horizontally scalable streaming platform that is currently serving ~50k req/s and is growing at ~25% per month. In doing this our technology is deployed across dozens of the world's largest web properties, and is being deployed to 100's of millions of users.
As we move forward with our ambitious plans for the platform, we need an experienced engineer to help push forward its development and innovation with the latest thinking and technologies at our ever increasing scale. Some of the questions we're asking:
- How do we scale our persistent storage to provide performant write and read performance at multiple petabytes and trillions of records?
- How we do deploy and run performant analytics and machine learning across 100's of billions of events?
- How do we provide security and recoverability guarantees when consuming and producing events to/from dozens of sources?
- How do you federate and scale Kubernetes deployments across global regions?
- How do you maintain and scale an infrastructure that optimises for developers having complete observability (like monitoring, logging, traceability and live debugging)?
- How do we progressively release complete front-end to back-end features to subsets of our users and customers?
- How should we think about microservice control planes? What about data planes?
- How we continue to allow engineers to move quickly and efficiently while maintaining the resiliency and performance necessary to operate at scale?
- What's the right balance between optimisation and time to market? Where should we make compromises and where should we not?
The wider technology context
The platform you'll deliver is the cornerstone powering our 10x growth, building services ourselves or leveraging those from Google Cloud. Our core values of automation and delivering with a small, highly capable team mean things like infrastructure as code are a core part of our culture and are owned by the whole team.
We're huge believers in functional programming, type safety and of building the highest quality, most scalable technology we can. We want our engineers to own as much as possible, so we believe empowering them to make (and be accountable for) big strategic decisions is one of the first steps in building a great engineering culture.
We’re 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 growing rapidly in Europe and the US. We raised a $10M Series A at the beginning of 2018 and have received funding from some of the world’s best investors, including Y Combinator. We're currently >30 people based in our offices, close to Old Street/Clerkenwell.
Our hiring process
We believe three things are important in a hiring process: what we ask you to do during an interview will be as close as possible to what we would ask you to do as part of your job; to provide you with open, honest feedback throughout the process; and to be respectful of your time. As such, our process is:
- A 30 minute phone interview with our Cloud Infrastructure Lead, where we'll talk a little about Permutive and the role we're hiring for and you'll talk about yourself, your experience and technology
- We'll provide you with a take-home technology challenge, and give you a week to complete it. We expect the challenge to take 1-2 hours for most people
- A ~3 hour on-site interview, where you'll: spend first 1.5 hours talking to a couple of our engineers about your solution to the technical challenge; the following 1 talking to a couple more of our engineers about technology and algorithms; and finally, our Lead Engineer will give you a 30 minute demo of our product
- Finally, we'll have you in for another onsite interview, that'll last ~3 hours (we can do them the following week or as close together as you'd like). First you'll meet our CEO, who'll talk to about our mission as a company and what you're looking for in your career. Second, you'll talk to someone from a non-Engineering team (like Customer Success) to try and give you a wider context of Permutive, but also to understand how you'll culturally fit into our company. Finally, you'll spend time with our CTO, where you'll have an opportunity to ask any remaining questions you have, and talk more broadly about our technology and our vision for it
- At this point, if it's appropriate, we'll make an offer
The things we need to see from you
- Significant experience managing infrastructure (preferably at scale)
- Significant experience running cloud infrastructure
- Experience building and maintaining infrastructure-as-code, automation and observability
- Excitement about cloud native technology, scalable data engineering and stream processing
- A degree in Computer Science or a related discipline
Things we'd like to see from you
- Experience in Google Cloud
- Experience with configuration management and automation (Terraform, Packer, Ansible, Spinnaker)
- Experience working in the JVM ecosystem (most of our services are written in Scala)
- Familiarity with distributed databases (Bigtable/HBase, Cassandra, InfluxDB)
- Experience with Kubernetes, Docker and containerisation
- Experience with stream processing frameworks (Beam, Flink, Storm, Spark)
- Experience with distributing messaging queues (PubSub, Kafka, Kinesis)
- Familiarity with monitoring tools such as Prometheus and Grafan
- Very competitive salary
- Stock options (you'll own a piece of the pie)
- Weekly lunches and quarterly social events
- Fully stocked office snacks and drinks
- A technology budget to spend (as you see fit) to setup your work environment
- Extensive training and development opportunities
- A good contributory pension