Infrastructure Engineer, Latency and Performance
Optimize resource consumption (CPU, memory, disk) of different Stripe products, improve architecture, drive optimal operation of our computing resources, and enable a richer end-user experience.
Stripe’s infrastructure powers businesses all over the world. We process payments, run marketplaces, detect fraud, help entrepreneurs start internet businesses across the globe, build world-class developer-friendly APIs, and more. As a Performance engineer here, you’ll get to optimize the systems that power our products and identify bottlenecks in our designs that impact end-user experience. Whether the optimization lies in the operating system, network access path, application code, or something else you discover, you’ll help identify the bottlenecks via creative tooling and analysis. We’re looking for people with a strong background (or interest!) in performance tuning.
You’ll join a fledgling Performance engineering team at Stripe. You’ll operate in an environment of high autonomy, with accountability driven through impact and focused execution on problems of highest leverage.
You’ll be on a team that builds tools used by the rest of engineering and consults with other teams as performance domain experts. You’ll collaborate on cross-organizational engineering projects in both product and infrastructure. You’ll make decisions with a significant impact on Stripe. There is a lot of work to do to make Stripe engineers’ work easier and our platform even more performant than it is today, and we’d love for you to be part of it.
Many of our infrastructure engineers work remotely, and we’d be happy to talk to you about the possibility of working remote.
- Enable Engineering at Stripe to scale effectively by making informed trade-offs around latency, cost, and other performance constraints
- Conduct deep-dives on product design and architecture, in collaboration with various Engineering teams, driving cost optimization initiatives and having a direct impact on product development
- Identify and debug bottlenecks to improve end-user experience and evaluate efficient technological changes to reduce resource consumption and request latency
- Help determine scaling and utilization parameters for various service tiers, optimizing memory/CPU/system stability characteristics through focused tuning
- Build observability and nudging to proactively inform people about regression trends in latency, develop performance tests, and experiments for benchmarking
- Build a great customer experience for people using your infrastructure
We’re looking for someone who has:
- A rich experience in scalable distributed systems, systems architecture, and/or performance analysis and tuning of web-based applications at scale
- Developed data analysis tools or visualization of real world application and distributed system performance
- Proven past infrastructure tuning experience at any of JVM/Linux/Ruby levels
- Written high quality code in more than one programming language (e.g. Ruby, Scala, Java)
- Experience debugging complex problems across the whole stack
- Excellent communication skills to initiate and drive Stripe-wide performance initiatives
- Worked independently, holding yourself and others to a high bar while developing and working on production systems
- Worked successfully with cross-functional teams across specialties
It’s not expected that any single candidate would have expertise across all of these areas. For instance, we have highly effective members of the team who are really focused on their customers’ needs and building amazing user experiences, but didn’t come in with as much systems knowledge.
What’s it like to work at Stripe?
Stripe is helping the internet fulfill its potential as a platform for economic progress by building software tools that accelerate global economic access and technological development. Stripe makes it easy to start, run and scale an internet business from anywhere in the world.
Stripe is, at its heart, an engineering company. To provide a missing pillar of core internet infrastructure, we hire people with a broad set of technical skills (and from a wide variety of backgrounds) who are ready to take on some of the most challenging problems in the industry and to enable entrepreneurs worldwide to start a global internet business.
We look at Stripe as a constant work in progress and the same is true of our people; for all of us, we believe the best is yet to come. We’re here to support each other in our curiosity and creativity – which we pursue through thoughtful discussion and knowledge-sharing among a diverse set of peers and colleagues.
We encourage all engineers to transition teams once every year and a half and also take on short-term projects with other teams across Stripe. This enables engineers to learn how different parts of Stripe work while also establishing stronger ties and cross-pollination between groups.
We want to work in a company of warm, inclusive people who treat their colleagues exceptionally well. The kind of people who are committed to going out of their way to help other Stripes in the short-term and pushing them to improve over the long-term (by helping them to get better at what they do).
We’re a highly cross-functional organization and view that as part of the fun: we design our space to encourage as much collaboration as possible. We have long tables in the kitchen for a reason (to enable everyone to meet new people and learn from them). We also have a culture of transparency that we carry through to email communication, ensuring that Stripes all around the world have the information they need to make good local decisions.
In both our products and our people, we aim to reflect, represent and advocate for all of our users, globally. Our users transcend geography, culture and language; what we share, collectively, is a drive to create a fairer, more economically interconnected world.