Who we are
About Stripe
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
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.
What you’ll do
We have a ton of important work to do, which is why we’re hiring! Our active projects change all the time, but here are a few examples of recent projects so you can get an idea of the types of work we do:
- Work with the team to plan and deliver the next step change improvements to performance, reliability and cost efficiency for our CI platform. 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!
- If you love helping developers be more effective at their jobs, we have a ton of interesting projects around improving build reproducibility, improved performance using Bazel, as well as building new capabilities to simplify life for engineers working at Stripe.
- Enhance 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!
- Enhance the ability for Engineers to test new workflows on their local machines, and in CI.
Responsibilities
Build large scale distributed systems, tools and libraries that serve as the interface to data infrastructure for all of Stripe’s engineering teams
- Maintaining and evolving existing distributed, and local, services.
- Collaborating with engineers on the team, as well as cross-functional stakeholders, to develop prototype solutions for domains which are underserved by existing tooling.
- Design, build, and maintain distributed cloud infrastructure services
- Participate in roadmap planning and prioritization
Who you are
We’re looking for someone who meets the minimum requirements to be
considered for the role. If you meet these requirements, you are
encouraged to apply. The preferred qualifications are a bonus, not a
requirement.
Minimum requirements
- 2+ years of professional, full-time software development experience
- Experience designing, developing, maintaining and debugging distributed systems built with open source tools
- Experience building tools to improve developer productivity, and empathy for the end users
- Experience writing high quality code in a major programming language (e.g. Ruby, Java, C#, Golang, Python)
- A background supporting engineer focused tools.
Preferred qualifications
- Experience optimizing the end to end performance and reliability of distributed Systems
- Proficiency in either Golang or Ruby.
- Familiarity with data privacy best practices
- Excellent communication skills and the ability to work well in a collaborative environment
- Experience mentoring and leading other engineers is a plus