Engineer Seattle

Type things to make the programs go.

What’s it like to work in engineering at Stripe?

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.

Part of the community — We contribute to existing projects and the people working on them, and we release several tools as open-source.


Teams at Stripe

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.

Checkout

Our Checkout team strives to make beautiful, sophisticated payment experiences accessible to any business with one line of JavaScript.

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.

Send us an email at jobs+checkout@stripe.com!

Data

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 Redshift or processable via Scalding.

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.

Dev Tools

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).

Internal Tools

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.

ML

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 training and evaluation, and designing and implementing reliable and maintainable production systems for scoring.

Ops

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 to come.

Some of the work involves:

  • Exposing innovative payment methods, like Bitcoin, Apple Pay and Alipay
  • Bringing Stripe to new countries around the world (which may include travel, if you’d like)
  • Working with the world’s largest companies on automating money transfers
  • Being the voice of Stripe to banking partners
  • Bringing engineering to finance to predict cash flow needs
  • Understanding the impact of currency conversions and the implications of fluctuations worldwide
  • And ultimately, rethinking the world’s financial networks

Product

Our primary product is our API, but of course building a great API also requires building out a bunch of associated tooling, documentation, and libraries. We’re constantly launching APIs for new payment domains, such as Bitcoin and marketplaces.

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

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 good users.

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.

Security

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.


Sys

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 infrastructure.

If you enjoy playing with tech like nginx, haproxy, consul, AWS, elastic search, nagios, or graphite, you’d fit right in on Sys.

The following are examples of the kinds of problems our Sys team has tackled in the past:

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 migration infrastructure.



You should include these in your application:

  • Links to online profiles you use (GitHub, Twitter, etc).
  • A description of your work history (whether as a resume, LinkedIn profile, or in the form of a cover letter).
#LI-CB1

We look forward to hearing from you.

Apply now