Engineering

We love the web, and care deeply about beautiful code, APIs, and documentation. This belief is as true today as it was when we first wrote this line on our website when we were ten people. Our engineering blog captures how, what, and why we code at Stripe.

Engineering

How Stripe builds interactive docs with Markdoc

Ryan Paul Docs Product
Makdoc Logo

Delivering a good user experience without compromising the authoring experience required us to develop an authoring format that enables writers to express interactivity and simple page logic without mixing code and content.

While developing Markdoc, we learned how to balance interactivity, customization, and authoring productivity while undertaking a major overhaul of our documentation platform.

Read more 

Engineering

Fast builds, secure builds. Choose two.

Sushain Cherivirala Software Engineer, Build Team

Stripe's continuous integration (CI) system is responsible for orchestrating build pipelines and executing the tens of thousands of test suites that our engineers depend on to validate their changes. We lean on a combination of open-source technologies and novel engineering to deliver a CI system that is performant, secure, and delivers a delightful developer experience.

Read more 

Engineering

Similarity clustering to catch fraud rings

Andrew Tausz Risk Intelligence

Stripe enables businesses in many countries worldwide to onboard easily so they can accept payments as quickly as possible. Stripe’s scale makes our platform a common target for payments fraud and cybercrime, so we’ve built a deep understanding of the patterns bad actors use. We take these threats seriously because they harm both our users and our ecosystem; every fraudulent transaction we circumvent keeps anyone impacted from having a bad day.

Read more 

Engineering

Introducing the Stripe CLI

Tomer Elmalem Developer Products
Stripe CLI index

Building and testing a Stripe integration can require frequent switching between the terminal, your code editor, and the Dashboard. Today, we’re excited to launch the Stripe command-line interface (CLI). It lets you interact with Stripe right from the terminal and makes it easier to build, test, and manage your integration.

Read more 

Engineering

Singapore engineering hub

Piruze Sabuncu Revenue & Growth

Stripe launched in Singapore in 2016. Since then, we’ve seen strong traction, and are proud to work with some of the fastest-growing companies in the region, including Grab, Mobike, and Carousell. Today, we’re increasing our investment: we’re very excited to announce that Singapore is joining Seattle, Dublin, and San Francisco to become Stripe’s fourth global engineering hub.

Read more 

Engineering

Fast and flexible observability with canonical log lines

Brandur Leach API Experience
API request durations

Logging is one of the oldest and most ubiquitous patterns in computing. We’ve found using a slight augmentation to traditional logging immensely useful at Stripe—an idea that we call canonical log lines. It’s a simple technique: in addition to their normal log traces, requests also emit one long log line at the end that includes many of their key characteristics. Having that data colocated in single information-dense lines makes queries and aggregations over it faster to write, and faster to run.

Read more 

Engineering

Railyard: how we rapidly train machine learning models with Kubernetes

Rob Story Risk Intelligence

Stripe uses machine learning to respond to our users’ complex, real-world problems. Machine learning powers Radar to block fraud, and Billing to retry failed charges on the network. Our machine learning infrastructure scores hundreds of millions of predictions across many machine learning models. Over time, the volume, quality of data, and number of signals have grown enormously. Here we discuss Railyard and our lessons on building and operating machine learning infrastructure.

Read more 

Engineering

Stripe’s fifth engineering hub is Remote

Stripe has engineering hubs in San Francisco, Seattle, Dublin, and Singapore. We are establishing a fifth hub that is less traditional but no less important: Remote. We are doing this to situate product development closer to our customers, improve our ability to tap the 99.74% of talented engineers living outside the metro areas of our first four hubs, and further our mission of increasing the GDP of the internet.

Read more 

Engineering

On building a new engineering hub in Dublin

Madison White Banking Integrations
Dublin office

Stripe builds economic infrastructure, and we’re designing for a global audience and market. In doing so, we carefully consider our technology and tools, organizational structure, and employee representation. Successful global organizations establish this mindset for different reasons. For some, it’s foundational—their mission, product, and addressable market crosses time zones. Others develop an international customer base, hire remote employees, or begin to open offices abroad to extend their physical presence.

Read more 

Engineering

Effectively using AWS Reserved Instances

Ryan Lopopolo Merchant Experience
illustration aws reserved instances

Reserved instances are hard to purchase effectively. It’s easy to allocate the wrong number, and hard to predict future compute requirements over time. Deciding which and how many reserved instances to buy is a non-trivial exercise at the nexus of cloud strategy, bin packing, and capacity planning. Here's how we use AWS Reserved Instances to dynamically scale our fleet of servers and predictably forecast our cloud spend.

Read more 

Engineering

Learning to operate Kubernetes reliably

Julia Evans Engineering

We built a distributed cron job scheduling system on top of Kubernetes, an exciting new platform for container orchestration. In this post, we’ll explain why we chose to build on top of Kubernetes, how we integrated Kubernetes into our existing infrastructure, our approach to building confidence in (and improving) our Kubernetes’ cluster’s reliability, and the abstractions we’ve built on top of Kubernetes.

Read more 

Engineering

Supporting Hypothesis

Sam Ritchie Engineering

At Stripe, we regularly contribute to open-source projects and rely on open-source software for developing many different parts of our stack. Stripe supported the development of Hypothesis, an open-source testing library for Python created by David MacIver. Hypothesis provides effective tooling for testing code for machine learning, a domain in which testing and correctness are notoriously difficult.

Read more 
  1. 1
  2. 2
Next

Like this post? Join our team.

Stripe builds financial tools and economic infrastructure for the internet.

Have any feedback or questions?

We’d love to hear from you.