Software Engineer, High Availability

Published on November 03, 2023

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.

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

In this role, you will be joining the High Availability and Disaster Recovery team. At Stripe, availability is a core feature of our products. This team designs and builds new solutions to allow latency-critical, stateful applications to survive any type of disaster. We build distributed systems on top of unreliable architecture to provide highly available and resilient customer solutions. This team is creating greenfield solutions which will serve as the basis for Stripe’s architecture 5, 10, or 20 years into the future.

This is a distributed team with many remote engineers. You are encouraged to apply if you meet the minimum requirements and are able to work from anywhere in the United States or Canada.

What you’ll do

You will help develop our global architecture by combining less-available components and data centers into a highly available and resilient whole. You will work on latency-critical solutions where every millisecond matters and data redundancy is a hard requirement. You will learn quickly and work on a broad range of problems - one day may be investigating Mongo write concerns, the next may be minimizing cross-region TLS handshakes, followed by developing new systems to automate disaster detection and failovers. Your work will enable Stripe to increase the GDP of the internet by providing uptime and data protection which have historically been impossible.

Responsibilities

  • First and foremost, you will write code
  • Scope, design, implement, and deploy solutions using multiple technologies (Ruby, Java, Mongo, Postgres, and a variety of other tools as necessary)
  • Investigate issues in live, distributed production systems
  • Work with teams across Stripe to help them understand multi-region architectures, high durability implementation patterns, and best practices
  • Learn, meet, and uphold high engineering standards through design and code review

Who you are 

We’re looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.

Minimum requirements

This is where you’ll include the minimum requirements for the job. These are the absolute minimum experiences and skills needed to be considered for the position. Any candidate, whether outbound, inbound, or referred, who does not meet these, will not be considered so be fastidious when listing these.

  • 2+ years of experience in software development
  • Professional working proficiency in English
  • Bachelor’s degree in Computer Science or related field or equivalent work experience

Preferred qualifications

  • Understanding of distributed system concepts (ex. leader election, voting, quorum)
  • Understanding of data reporting and analysis using SQL
  • Experience with cloud infrastructure
  • Experience with document databases like MongoDB