Software Engineer, Experimentation
Build out the experimentation platform used to drive product and infrastructure improvements.
Stripe is the best software platform for running an internet business. We handle billions of dollars every year for hundreds of thousands of businesses around the world. One third of Amercians bought something on Stripe in the last year.
As a payments platform powering businesses around the world, Stripe offers numerous products beyond payments processing, each of which is supported by a number of teams working to improve and grow our business. Stripe’s internal experimentation platform supports these improvements by enabling teams to rapidly conduct A/B tests and automatically reporting statistical results so that teams can make informed product/infrastructure decisions.
The experimentation team is working on building out a scalable, flexible, and easy to use platform for conducting A/B tests and analyzing their results. We work closely with engineers and data scientists to design and implement their experiments and metrics for analysis. Additionally, we collaborate with platform infrastructure teams to build new experimentation infrastructure and expand the platform’s capabilities and ease of use.
- Build batch and streaming infrastructure which will enable rapid development of experiments as well as analysis and monitoring of running experiments
- Build infrastructure that supports functions all across Stripe, ranging from payment processing to user onboarding to internal operational processes
- Design and implement incremental improvements to accelerate experiment development, reduce results latency, and enable new types of analysis
- Build easy to use client libraries to enable integration with the platform and instrumentation of important events
- Work across teams of engineers and data scientists to design, implement, and analyze their experiments using our instrumentation framework and platform
- Work with the team to establish a unified repository and interface for defining experiments and metrics
We’re looking for someone who:
- Has 5+ years of experience in an engineering or data science role, ideally with experience in building experimentation platforms
- Has a strong engineering background in at least two of the following: data engineering, stream processing, frontend (Ruby/JS)
- Has a focus on providing an excellent user experience
- Has the ability to communicate and work across teams to help users integrate with the platform
- Holds themselves and others to a high bar when working with production systems
- Enjoys working with a diverse group of people with different expertise
- Think about systems and services and write high quality code. Languages can be learned: we care much more about your general engineering skill than knowledge of a particular language or framework.
Nice to haves:
- Experience developing in Java/Scala
- A background in statistics/data analysis
Some things you might work on:
- Enabling realtime observability over massive scale charge experiments running in critical paths in order to optimize acceptance rates. See this tweet by our CEO highlighting such a project.
- Unifying metric definitions across our batch, realtime, and query-based architectures
- Implementing a Python service that gives every engineer a personal “data scientist” sitting on their shoulder, providing p-value corrections, sequential analysis, regression models, causal trees, automated power analysis, and experiment planning.
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.