Developer Experience Engineer San Francisco

Join us in doubling the productivity of every engineer

Stripe cares deeply about developer productivity, both for engineers internally and for the engineers using the tools that we ship to the world. Our code base continues to grow in both scale and complexity, requiring constant innovation when upgrading our code and toolchain to increase our development velocity. Our product suite also continues to grow in breadth and depth, making the challenge of maintaining a cohesive, simple and powerful public API a top priority.

You’ll work on a team whose focus is enabling other engineers to ship code quickly, reliably, and with the minimum of cognitive overhead. Our goal over time is to more than double the productivity of every engineer.

You will:

  • Design and create highly stable build systems for code repositories and test harnesses
  • Write and drive adoption of new libraries in service of engineering teams throughout the company
  • Define the development experience at Stripe by building linters, editor plugins, and development tooling
  • Design, implement, and drive adoption of abstractions in many layers of our internal stack, from the customer-facing HTTP API down to the client libraries of our storage backends.
  • Optimize the experience of working with the programming languages we use, ensuring that using each language is a great experience.
  • Work on Stripe API-wide features such as rate limiting, logging, versioning, authentication and error handling.
  • Improve developer-centric Stripe API product areas such as webhooks, API keys, permissions, and test mode.
  • Build abstractions that help maintain the quality and correctness of our external API.

You may be fit for this role if you match some of:

  • Enjoy designing APIs in an existing code base
  • Are a strong communicator, and effective at driving consensus around code quality and architecture by listening to people’s needs
  • Enjoy greatly accelerating all engineers around you with innovative tools and processes that make their lives easier and enable them to focus on what they are building
  • Have a strong interest in programming languages, and love learning about and optimizing runtimes, data interfaces and full stack performance.
  • Understand the value of documenting and gradually enforcing best practices
  • Are passionate about building great integration experiences
  • Care about API quality, clean interfaces, and empowering developers
  • Want to build new tools for people to explore and test APIs

You might work on:

  • Building an integrated development environment across local editors and remote services for all Stripe engineers to use as their primary development platform
  • Refactoring large codebases to better enable many teams to work independently
  • Building consistent, polished SDKs for multiple languages, enabling customers of Stripe to easily integrate with our products both on web and native mobile platforms
  • Creating frameworks for loading and packaging code, and defining the dependencies between services, speeding up the development loop of all Stripe engineers
  • Extending a programming language with a type system, or creating a highly performant runtime which enables it to significantly reduce its CPU or memory footprint
  • Improving our client libraries to provide great integration experiences for Stripe customers
  • Refining our webhook system as we continue to scale up in volume
  • New APIs that go beyond REST

Examples

  • Scaling your API with rate limiters https://stripe.com/blog/rate-limiters
  • Designing robust and predictable APIs with idempotency https://stripe.com/blog/idempotency
  • Running three hours of Ruby tests in under three minutes https://stripe.com/blog/distributed-ruby-testing

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 – from reliably handling 100M API requests per day, to building adaptive machine learning as a result of years of data science and infrastructure work, and enabling 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 contribute to existing open-source projects and the people working on them, and we release several tools as open-source.

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.

#LI-CW1

We look forward to hearing from you.

Apply now