The problem we're trying to solve
As we move forward with our ambitious plans for the SDK, we need an experienced engineer to help lead it's development and provide the innovation and thought leadership on the latest web technologies to make it successful. Some of the questions we're asking:
- When and how should we deploy web assembly?
- How can we go beyond tree-shaking to really focus on reduction in payload size?
- What can we do to reduce our payloads parse time in modern browsers?
- How do service workers and PWA's fit into our execution and deployment model?
- How can we provide a (type)safe, highly-parallel execution environment for our query language beyond our current web-worker model?
- How can we further integrate with ad-servers or other SDKs in a users browser?
- What does a completely ubiquitous, automated testing environment look like for a project like this?
- How should our SDK operate in restricted environments like AMP or multi-frame environments?
- How do we track the functional and non-functional performance of the SDK in real-time?
The wider technology context
We're huge believers in functional programming, type safety and of building the highest quality, more 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 want our values to speak for themselves, but would encourage you to read about them and ask us any questions you might have. Our aim is to build an inclusive, cutting edge, high-achieving and caring environment for engineers to build their careers.
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 the year 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 Lead Engineer, 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 2-4 hours for most people
- A ~3.5 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.5 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 ~4 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
Things we need to see from you
- Strong knowledge of the web platform
- A degree in Computer Science or a related discipline
- A deep understanding of complexity, data structures and performance
- Experience in working with RESTful APIs
- A broad understanding of software engineering concepts
- A desire to solve interesting and challenging engineering problems
- Excellent verbal and written communication skills
Things we'd like to see from you
- Knowledge or experience with of TypeScript or Elm
- Experience with asynchronous functional code, e.g. futures and promises
- An interest or experience in functional programming
- Interest in or experience in being a voice for our work in the wider tech community (e.g. meetups, conferences, articles
- 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