Apollo is building GraphQL tooling in Rust that is foundational for both our own infrastructure and server products, as well as the GraphQL Rust ecosystem on the whole. The needs of the Apollo Platform require common representations of graph data structures that enable our product features. Read more about this initiative on our blog
Do you like writing ergonomic, lower-level libraries with stable, debuggable and well-tested abstractions? Do you have an understanding of the Rust ecosystem’s patterns or similar experiences in other languages? If so we’d love to talk to you about joining us to build tooling that enables a new generation of performant, backend GraphQL APIs to emerge.
The team and its counterparts are primarily based in EMEA (Europe, the Middle East and Africa) timezones and the ability to align closely within those timezones is beneficial.
We have tier-1 backing from Andreessen Horowitz and Matrix Partners and our technology is used in production by some of today's largest and most innovative companies, including Airbnb, Netflix, Expedia, Peloton, DoorDash, The New York Times, Zillow and many more.
What you'll do
- Develop lower-level Rust tools, like apollo-rs, that facilitate the work of engineers on product teams building in Rust.
- You’ll write Rust but read code written in other languages — primarily TypeScript.
- Maintain ongoing collaborations with adjoining teams to follow their ongoing needs and help accommodate them in clean ways that can be utilized across the Apollo Platform. You might participate in working groups that evolve the language.
- Review code and documentation written by others, in addition to having your code and documentation reviewed. In a similar spirit, seek and offer feedback early and often with the team around you.
Who you are
- You enjoy writing thought out, ergonomic, and diagnostics-focused tooling that prioritizes developer experience.
- You build and design systems with kindness and empathy for the end user and fellow developers.
- You understand compiler design, and have familiarity with lexers, parsers and code generators. You may have experience writing compilers or interpreters.
- You have worked in lower-level languages like C or C++ before. You may have not written Rust before, but you’re passionate about learning it.
- You admire strong architectural principles and you recognize that the stability you offer at this level is empowering for teams that use your tools.
- You understand a variety of data structures and how to trade off between their costs — both in terms of performance and user-friendliness.
- You enjoy reviewing code, getting your code reviewed and seek feedback from your team early and often.
- You're pragmatic and you know how to make tradeoffs between different designs in the pursuit of urgency. You optimize for overall business goals, not just immediate technical results.
- You deliver. Shipping working software and seeing it in the hands of end users brings you satisfaction.
We don’t expect anyone to meet 100% of these qualifications so we hope you’ll consider applying if this position sounds exciting to you!
This position is best suited for anyone in timezones from GMT-5 through GMT+4.
Apollo is proud to be an equal opportunity workplace dedicated to pursuing and hiring a talented and diverse workforce.