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 Internal Developer Toolings team is responsible for accelerating Stripe’s developers and providing a positive experience. We work on tools, processes, and code refactoring to enhance Stripe's engineering as it scales.
The team has three main areas of responsibility. Our mission encompasses optimizing day-to-day engineering work in regards to our QA infrastructure, advancing the capabilities of the Synthetics tool, and facilitating effective service-to-service testing. Through these efforts, we aim to improve the reliability of Stripe's systems and platforms, enhance the quality of deliverables, and ultimately foster a more efficient and innovative development process.
What you’ll do
You will be responsible for defining and driving the core feature set of the platform, as well as the user experience of using the platform and driving the adoption of the tool sets and practices. The scope includes engineers who iterate on features locally and engineers who run end-to-end tests in any supported deployment environments.
Responsibilities
- Collaborating with engineers on the team, as well as cross-functional stakeholders, to develop prototype solutions for domains which are underserved by existing tooling.
- Scope, design, and build large-scale distributed systems, tools, and libraries that serve as the interface to QA and testing infrastructure for all of Stripe’s engineering teams.
- Maintaining and evolving existing distributed and local services.
- Participating in roadmap planning and prioritization.
Who you are
We’re looking for candidates who meet the minimum requirements to be considered for the role. The preferred qualifications are a bonus, not a requirement.
Minimum requirements
- 3+ years of professional, full-time software development experience building large-scale APIs or asynchronous jobs.
- Experience writing high-quality code in a major programming language, preferably Ruby or Java.
- Experience designing, developing, maintaining, and debugging distributed systems built with open-source tools and frameworks.
- Experience with different testing tools and frameworks (For example, any of CI/CD, Unit testing, End to End testing, Acceptance testing, Selenium, Synthetic testing, Puppeteer, or other similar ones).
- Comfortable with direct communication interfacing with internal users, peers, and stakeholders across Stripe.
Preferred qualifications
- Experience in leadership roles with other engineers is a plus.
- Experience in mentoring other engineers is a plus.
- Experience introducing internal developer productivity tools and empathy for the end users.
- Experience working with infrastructure as a code tool, preferably Terraform.
- Proficiency in either Java or Ruby.
- Excellent communication skills and the ability to work well in a collaborative environment.
Office-assigned Stripes in most of our locations are currently expected to spend at least 50% of the time in a given month in their local office or with users. This expectation may vary depending on role, team and location. For example, Stripes in our Bucharest, Romania site have an 80% in-office expectation, and those in Stripe Delivery Center roles in Mexico City, Mexico and Bengaluru, India work 100% from the office. Also, some teams have greater in-office attendance requirements, to appropriately support our users and workflows, which the hiring manager will discuss. This approach helps strike a balance between bringing people together for in-person collaboration and learning from each other, while supporting flexibility when possible.