Software Engineer, Online Databases
Stripe (View all Jobs)
Remote Canada, Toronto
1. Programming/debugging phone screen 2. On-site with your own laptop/setup and full access to internet. Interviews include systems design, 45 min practical coding question, integrating an API exercise, debugging, and talking with hiring manager about team alignment.
Programming Languages Mentioned
Who we are
Stripe is a financial infrastructure platform for businesses. Millions of companies - from the world’s largest enterprises to the most ambitious startups - use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone's reach while doing the most important work of your career.
About the team
Stripe’s infrastructure powers businesses all over the world. We process payments, run marketplaces, help entrepreneurs start an internet business from anywhere in the world, and more. Infrastructure engineers at Stripe build the systems that power all of our products, globally and at scale.
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.
What you’ll do
- 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
Who you are
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.
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.
- 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 themself and others to a high bar when working with production
- Uses a metrics driven approach and can make informed decisions using data
- Is able to write high quality code in a programming language (e.g. Ruby, Scala, Go)
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄