Data Infrastructure Engineer, Search
Remote or Seattle
Data Infrastructure Engineer, Search
Seattle, Remote (NA)
As a platform company powering businesses all over the world, Stripe processes payments, runs marketplaces, detects fraud, and helps entrepreneurs start an internet business from anywhere in the world. Stripe’s search engineers build the platform and the write-heavy real-time data ingestion pipelines that enable other teams to store and search their data for both internal and external users at petabyte scale.
We care a great deal about the quality of our data and how fast it can be made searchable. Because every record can be vitally important for the businesses that use Stripe, we’re looking for people with a strong background in search systems and/or in streaming technologies. You’ll be working with a variety of teams to adapt and engineer search to help them solve their needs.
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 reliable and scalable than it is today, and we’d love for you to be part of it. We’re close to the people using our systems, so we constantly get feedback that we can use to make them better.
- Design, build, and maintain the search infrastructure and platform used by all of Stripe’s engineering teams.
- Plan for the growth of Stripe’s search platform.
- Debug production issues across services and levels of the stack.
- Build a great experience for teams using search.
- Improve engineering standards, tooling and processes and be a mentor and leader to others.
We’re looking for someone who:
- Thinks about systems — their edge cases, failure modes, and lifecycles.
- Can debug complex problems across the whole stack.
- Focuses on the needs of our users, both internal and external to Stripe.
- Holds yourself and others to a high bar when working with production.
- Has a metrics driven approach and makes informed decisions using data.
- Is able to write high quality code in a programming language (e.g. Ruby, Scala, Go).
- Thrives in a collaborative environment involving different stakeholders and subject matter experts.
- Can reason and communicate clearly and operate in a geo-distributed team.
You also likely have:
- Experience with search and/or streaming technologies including but not limited to Elasticsearch, Lucene, Solr, Kafka, Flink.
It’s not expected that any single candidate would have expertise across all of these areas. For instance, we have wonderful team members who are great at building great interfaces with partner teams, but didn’t come in with as much systems knowledge.
Some things you might work on:
- Engineer search and ingestion systems that scale to the next order of magnitude to match Stripe’s growth while delighting users with fast and relevant results.
- Evolve our real-time data ingestion system that keeps up with updates in source data and improves observability on data quality.
- Reduce friction of creating and operating new search systems to enable new use cases of search at Stripe.
- Build a seamless zero-downtime process to upgrade Elasticsearch. Our write-heavy workloads combined with our users’ need for reliability make this a unique challenge.
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.