Backend Engineer, Stream Compute, Canada
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
The Stream Compute team at Stripe manages the infrastructure, tooling, and systems
behind our Flink-powered stream processing systems. We're at the heart of several
core asynchronous workflows, operating at significant scale and handling vast amounts of
sensitive financial data. Our work powers intricate processes involving various critical
financial operations and real-time analytics.
What makes our team truly exciting is our commitment to our users: we ensure no event
is dropped, state integrity is preserved, and support exactly-once processing as a
first-class feature. Working at the intersection of real-time data processing and fintech
innovation, we continuously push the boundaries of what's possible. Our focus
on innovation, user experience, reliability, and compliance drives increased ROI and
operational excellence, making us a crucial part of Stripe's success.
What you’ll do
We're looking for a Software Engineer with experience designing, building and maintaining
high-scale, distributed systems. You will work with a team that is in charge of the core
infrastructure used by the product teams to build and operate stream processing jobs. You
will have an opportunity to play a hands-on role in significantly advancing our current
infrastructure to be much more efficient and resilient.
Responsibilities
● Scope and lead technical projects within the Stream Compute domain
● Build and maintain the infrastructure which powers the core of Stripe.
● Directly contribute to core systems and write code.
● Work closely with the open source community to identify opportunities for adopting
new open source features as well contribute back to the OSS.
● Ensure operational excellence and enable a highly available, reliable and secure
Stream Compute platform
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
● 2+ years of professional experience writing high quality production level code or
software programs.
● Have experience with distributed data systems such as Spark, Flink, Trino, Kafka,
etc
● Experience developing, maintaining and debugging distributed systems built with
open source tools.
● Experience building and scaling infrastructure as a product
● Strong software engineering skills and a passion for Big Data Distributed Systems
● Ability to write high quality code (in programming languages like Go, Java, C/C++
etc)
● Strong collaboration skills, can work across workstreams within your team and
contribute to your peers’ success
● Customer obsession, ability to articulate and represent customer experience in
various forums to drive the right outcome
● Have the ability to thrive on a high level of autonomy, responsibility, and think of
yourself as entrepreneurial
Preferred qualifications
● Aside from experience within the Data Infrastructure mentioned above, experience
as a user of stream processing, authoring and optimizing Flink, Spark Streaming,
Storm, Trill, Kafka, and/or Apache Beam applications
● Experience building and maintaining a multi-tenant data-plane and/or control-plane.
● Open source contributions to data processing or big data systems (Hadoop, Spark,
Celeborn, Flink, etc)
Hybrid work at Stripe
This role is available either in an office or a remote location (typically, 35+ miles or 56+ km
from a Stripe office).
Office-assigned Stripes spend at least 50% of the time in a given month in their local office
or with users. This hits a balance between bringing people together for in-person
collaboration and learning from each other, while supporting flexibility about how to do this
in a way that makes sense for individuals and their teams.
A remote location, in most cases, is defined as being 35 miles (56 kilometers) or more
from one of our offices. While you would be welcome to come into the office for
team/business meetings, on-sites, meet-ups, and events, our expectation is you would
regularly work from home rather than a Stripe office. Stripe does not cover the cost of
relocating to a remote location. We encourage you to apply for roles that match the
location where you currently or plan to live.
We look forward to hearing from you
At Stripe, we're looking for people with passion, grit, and integrity. You're encouraged to
apply even if your experience doesn't precisely match the job description. Your skills and
passion will stand out—and set you apart—especially if your career has taken some
extraordinary twists and turns. At Stripe, we welcome diverse perspectives and people
who think rigorously and aren't afraid to challenge assumptions. Join us.
Apply now