Inclusive culture — A core part of our engineering culture is our commitment to building an actively inclusive work environment that makes Stripe an excellent home for everyone
End-to-end ownership — For any given project, we have one person on point. While they don’t necessarily have to do all the work themselves, it’s their job to make sure all the work gets done.
Bias towards action — We launch betas and prototypes as early as we can. (The first version of Stripe, for example, had a beta user as soon as we could charge a credit card—even before we could pay out those charges!) This helps ensure that we’re building what users actually want.
Rather than adopting extreme models of “horizontal” teams oriented around technologies (a web team, a platform team, etc.) or “vertical” teams oriented around business goals (a revenue team), we pick and choose the parts we like about both models for our teams.
Our “vertical” teams (Checkout, Ops, Product, and Risk) can operate independently, building the technology that they need to operate. Each one may not have deep expertise in every part of the stack, but they have enough that things can get done without blocking on other teams.
Our “horizontal” teams (Data, Dev Tools, Internal Tools, Security, Sys) provide support to the others and have deeper expertise on particular parts of the stack. It’s their job to build platforms that are so good the other teams want to use them, rather than being forced into it.
Teams at Stripe are relatively fluid. Some people stay on a given team for a
handful of months, while others seem to prefer sticking to their team
permanently. Once you join, we’ll work with you to choose a team to get started with—it’s all pretty flexible.
We believe that one-click payments, supporting a wide range of payment instruments (such as Alipay and Bitcoin) and good mobile experiences should be available to every company from day one. It’s our responsibility to handle the subtleties of collecting payment information and relentlessly improve it. Checkout builds on top of the core Stripe API to make this possible and beautiful on every website.
Checkout engineers are responsible for building a robust frontend application that gets the details, like subtle animations, just right. We pay careful attention to data to help us understand how people use our product and constantly experiment to improve it. Every Checkout engineer contributes to the vision of how we grow the product and is directly involved in vetting new features with our customers.
You can try out Checkout by clicking here or on the “try me” button below. You can use 4242 4242 4242 4242 as your card number or select bitcoin and we’ll simulate a successful transaction after a short delay.
Our Data team is responsible for building and maintaining the
infrastructure for our data needs. Each day, we load a
snapshot of our production data into an HDFS cluster, where it
becomes queryable via
or processable via
As Stripe grows, so too does the amount of production data to be
ingested, the number of sources we need to support, and the number of
ways that people want to slice and dice it. At this point, we have a
robust pipeline for our core data, and we’re continually expanding the
set of use cases for it.
Great developer tooling is the best way we’ve found to develop great products quickly and safely. We work hard to maximize developer productivity and maximize the rate at which we can ship new and improved products.
Now that Stripe has 100+ engineers, we see our choice of developer tools having a very concrete impact on our productivity. More importantly, we’re laying the tooling foundation that will allow our team to grow to 500+ engineers over the next few years.
We build language agnostic tooling and environments to allow Stripe to scale and adapt to technical and architectural changes. We are a multiplier of productivity of Stripe’s engineers, and do this through a mix of custom engineering and tuning of existing software. In Dev Tools, you’ll make tools for developing at Stripe so powerful that you’ll miss them while working on personal projects and advocate for us to open source them (which you then would do).
The Internal Tools team helps scale business operations by making operational work at Stripe easier and more enjoyable. We reduce toil as a strategic company advantage, and we like to have the stats to prove it.
We’re a service to other parts of the organization: our users sit right next to us, and we build things they’re *excited* to use. We start with infrastructure first so teams can experiment and adapt our tools to ever-changing business needs. We constantly talk with our users and measure the impact of our tools to inform what we work on next.
If you’re passionate about working side-by-side with your users, moving quickly to solve their immediate needs, and turning that work into sustainable products, we’d love to chat.
We use machine learning across Stripe to develop data-driven products that help
our users and solve some of our thorniest internal problems—from blocking
fraud to identifying and minimizing
risky user behavior to helping route support questions, all in real-time.
Engineers working on the Machine Learning team build and deploy models and
infrastructure—our work runs the gamut from data science to production
engineering. On any given day, we are analyzing our data, investigating new
models, developing tools that help us with
evaluation, and designing and
implementing reliable and maintainable production systems for scoring.
The last few decades have brought major shifts in how people spend
money: from cash, to checks, to debit and credit cards. Similarly,
shopping habits have been morphing from in-store and home deliveries to
online and next-day delivery. We’re now likely in the early stages of
the next shift: the internet is changing the landscape of how people pay
online, and while now-traditional payment methods like cards are still
hugely popular, new alternatives like Bitcoin and ApplePay suggest it’s
time to rethink payments for the modern online world.
Stripe sits at the nexus of finance and engineering, and Financial
Operations (“Ops”) is the engineering team at the core of Stripe. Ops
builds the abstractions around payment flows and financial systems not
just in the U.S., but around the world. Unique purchasing behaviors,
local payment methods and various compliance sensitivities means Ops
systems must be adaptable, highly scalable, and resilient to failures
from external systems in all parts of the world, with code robust enough
to deal with all the constraints and protocols involved. Working on Ops,
you’ll be at the center of Stripe’s economic activity, dealing not only
with the complexities of today’s global financial systems, but those yet
More than in other teams, the engineering decisions made in the Product team need to balance non-engineering factors. Implementing the products might itself be tough, but even harder is choosing what to implement in the first place—the problems and prioritization are open-ended. You have to balance user experience, aesthetics, legal and financial considerations, and a general sense for what’s most important. The properties you want in your datastore might be clear, but the bounds of what makes a new product great are likely to be much murkier.
Engineers on the Product team have a knack for making tools powerful without compromising their ease of use. This applies to both for visual tools (like our dashboard, docs, or email receipts) and programming tools (like our API).
Risk is a hybrid team of engineers and
risk analysts whose combined job is to
defend Stripe and our users against fraud.
In contrast to typical security work, where you’ll spend most of your
time defending against a theoretical adversary, we see targeted
attacks by fraudsters against Stripe and our users every single
day. Many of these attackers are quite clever and strongly motivated
(since success directly translates to money in their bank
account). Consequently, we’re continually building and adapting our
systems to keep fraudsters away without degrading the experience for
We’ve built and designed identity verification processes which allow users to
instantly accept payments. We spend time building great tooling to maximize the
leverage of our risk analysts. We constantly evolve our systems as our
adversaries reverse-engineer what we’re doing.
Our users trust us with some of their most sensitive information, and
we correspondingly make security a first-class consideration in
everything we do.
Stripe’s Security team designs, builds, and maintains the security
architecture underlying Stripe. They also serve as consultants for
other teams, helping the entire engineering organization build more secure applications. The work is
not just technical—it’s also about threat modeling, policy setting,
and generally figuring out how we can (move fast and) be secure.
One of the hardests parts of the Security team is judgement—evaluating
possible threats, figuring out how we should prioritize various
improvements, deciding whether we should be comfortable using some
external service. By its nature, security work is never done, and we
need to constantly be questioning our own assumptions and figuring out
what we could be doing better.
Our Systems team (or, colloquially, “Sys”) is responsible for building
and running the platforms that the rest of our engineers build on top
of. They also help ensure the reliability of our production
Because the dollar value per bit flowing through our systems is so
high, we care about availability in a way that other companies
don’t. We’ve had to build our own highly-available load balancing
layer on EC2, since EC2’s own load balancer doesn’t have the
availability properties we need. We’ve also had to build our own
event-processing system (affectionately dubbed Monster) in order to be
guaranteed not to lose events. We never accept downtime for
maintenance, which has meant we needed to build our own zero-downtime