Staff Engineer, Developer Tools
The Developer Productivity group is responsible for making Stripe’s developers happy and productive. We work on tools, processes, and code refactoring to accelerate Stripe engineering as Stripe scales.
We’re looking for people with an interest in building the tools to improve the day to day experience of Engineers in Stripe. The ideal candidate will have a mix of technical expertise in either language processing tools, version control systems, contract testing, build systems, but most importantly a passion for solving developer experience problems, and a pragmatic ability to ship results iteratively. You’ll be working on a mix of fault tolerant distributed systems and also software which runs on individual developer machines.
- Scope and lead large technical projects with enormous impact for Engineers within Stripe.
- Design, build, and maintain the core infrastructure used by all of Stripe’s engineering teams.
- Scrutinize and reason clearly about the technology and architecture choices we make in building these products. In many cases, you will be the decider of these decisions
- Directly contribute to core interface design and write code. Serve as a role model for how great software should be written for Stripe as a whole
- Arbitrate critical decisions correctly that fully consider software best practices, Stripe system realities, and numerous stakeholders’ preferences and concerns
- Teach and mentor the next generation of technical leaders at Stripe
You may be a fit if:
- You have a strong technical background, including 8+ years of experience with system architecture and API design.
- You have served as the technical lead for a team of engineers and can demonstrate broad technical leadership
- You have owned the technical roadmap for a business area
- You listen well and internalize the best ideas from all over the organization while also setting a vision that others are excited to get behind
- You work well cross-functionally and your co-workers at all levels and across all teams trust you You are often cited as the inspiration for engineers that join your teams. Even senior engineers feel that they’re able to learn from you
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 that we’ve completed in the past, so you can get an idea of the types of work we do. Technologies we use include: haproxy, nginx, consul, jenkins, datadog, statsd, kafka, rabbitmq, storm, and others.
- Plan and implement multi-region availability for our CI infrastructure! All of our systems can sustain losing machines, and making our systems even more resistant to failure is a big theme for us. If you like thinking about distributed systems, you might find a good home here!
- Design and implement industry-leading infrastructure to support contract tests. You’ll help define the features and capabilities of the system, including the generation of synthetic data where appropriate. If you like cross-functional collaboration, and solving real-world problems faced by teams striving to reach five 9s of reliability, this is the area for you!
- Build fantastic code review tools! If you love helping developers be more effective at their jobs, we have a ton of interesting projects in this area. Related projects: you could help us have better reproducible builds with Bazel and build great developer environments.
- Improve the reliability, speed and efficiency of our largest builds. One of the key ways to execute builds efficiently is to bake incrementality into every aspect of the build process. We have accomplished a significant amount in this area, but have a long way to go! Additionally, when an incremental test run consists of a few hundred thousand tests, a handful of bad tests which randomly fail can cause a cascade of build failures. Building and enhancing the system responsible for detecting these will be critical to keep Stripe scaling!
- Improve the ability for Engineers to test new workflows on their local machines, and in CI, by providing great support for generating Synthetic data for all services within Stripe.
Please find our EU applicant personal information notice here
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.