Software Engineer, Online Databases
Build the database infrastructure for a platform powering economic growth.
Our users trust us with their businesses and livelihoods, and every request that Stripe handles is critical. We process billions of dollars every year for millions of users, from the largest enterprises to a startup making their first sale. We invest deeply in the reliability of our infrastructure to earn their trust.
Stripe’s Online Database teams are responsible for the two real-time storage technologies used by the rest of engineering: our MongoDB document database and our MySQL transactional database. We have a lot of work to do: in 2021 we must make our platforms even more reliable and scalable than today, automate away the toil inherent in operating a large database server farm, empower and educate our users, and make our systems a delight to use. We’d love for you to be a part of it. We’re close to the people using our systems and we constantly get feedback that we use to make our systems better.
We have a few dozen engineers today spread across several different teams, and you’ll work with other engineers as well as product engineers who use the systems you are building.
We’re looking for people with a strong background (or interest!) in systems. We’d love to hear from you whether you’re a seasoned systems developer, or whether you’ve just learned you might like working with databases. Many of our engineers work remotely from both the US and Canada, and we’d be happy to talk to you about the possibility of working remote.
- Design, build, and maintain the core database infrastructure used by all of Stripe’s engineering teams
- Solve complicated problems that only exist at very high scale
- Debug production issues across services and levels of the stack
- Plan for the growth of Stripe’s database platform infrastructure
- Develop tooling and automate processes to provide a resilient and flexible platform for other engineers
- Build a great customer experience for people using your infrastructure
- To get a concrete idea of what projects you might work on here, see the “Projects you could work on” section
We’re looking for someone who:
- Thinks in systems: their edge cases, failure modes, and lifecycles
- Knows their way around a Unix shell
- Can debug complex problems in a distributed system
- Focuses on the needs of our users, both internal and external
- Holds yourself and others to a high bar when working with production
- Uses a metrics driven approach and can make informed decisions using data
- Are able to write high quality code in a programming language (e.g. Ruby, Scala, Go)
It’s not expected that any single candidate would have expertise across all of these areas. For instance, we have wonderful team members who are really focused on their customers’ needs and building amazing user experiences, but didn’t come in with as much systems knowledge.
Projects you could work on:
We have a ton of important work to do, which is why we’re hiring! Our projects are of course changing all the time, but here are a few projects either that we’ve done in the past or are upcoming, so you can get an idea of the types of work we do. Technologies we use include: Golang, Ruby, MongoDB, MySQL, Vitess, Envoy, Kafka, and others.
- Build observability and tooling to automate the management of thousands of database servers
- Design and build data sharding mechanisms and infrastructure to enable Stripe’s growth over the next 10 years
- Implement dynamic capacity management and rate limiting infrastructure to keep systems healthy during 10x load events
- Create tools and APIs that engineers love to use to understand the performance of and optimize their database queries
What’s it like to work at Stripe?
Stripe is helping the internet fulfill its potential as a platform for economic progress by building software tools that accelerate global economic access and technological development. Stripe makes it easy to start, run and scale an internet business from anywhere in the world.
Stripe is, at its heart, an engineering company. To provide a missing pillar of core internet infrastructure, we hire people with a broad set of technical skills (and from a wide variety of backgrounds) who are ready to take on some of the most challenging problems in the industry – from reliably handling 100M API requests per day, to building adaptive machine learning as a result of years of data science and infrastructure work, and enabling entrepreneurs worldwide to start a global internet business.
We look at Stripe as a constant work in progress and the same is true of our people; for all of us, we believe the best is yet to come. We’re here to support each other in our curiosity and creativity – which we pursue through thoughtful discussion and knowledge-sharing among a diverse set of peers and colleagues.
We encourage all engineers to transition teams once every year and a half and also take on short-term projects with other teams across Stripe. This enables engineers to learn how different parts of Stripe work while also establishing stronger ties and cross-pollination between groups.
We contribute to existing open-source projects and the people working on them, and we release several tools as open-source.
We want to work in a company of warm, inclusive people who treat their colleagues exceptionally well. The kind of people who are committed to going out of their way to help other Stripes in the short-term and pushing them to improve over the long-term (by helping them to get better at what they do).
We’re a highly cross-functional organization and view that as part of the fun: we design our space to encourage as much collaboration as possible. We have long tables in the kitchen for a reason (to enable everyone to meet new people and learn from them). We also have a culture of transparency that we carry through to email communication, ensuring that Stripes all around the world have the information they need to make good local decisions.
In both our products and our people, we aim to reflect, represent and advocate for all of our users, globally. Our users transcend geography, culture and language; what we share, collectively, is a drive to create a fairer, more economically interconnected world.
At Stripe, we're looking for people with passion, grit, and integrity. You're encouraged to apply even if your experience doesn't precisely match the job description. Your skills and passion will stand out—and set you apart—especially if your career has taken some extraordinary twists and turns. At Stripe, we welcome diverse perspectives and people who think rigorously and aren't afraid to challenge assumptions. Join us.