Backend Engineer, Payments
Stripe (View all Jobs)
Toronto, CA
Interview Process
1. Programming/debugging phone screen 2. On-site with your own laptop/setup and full access to internet. Interviews include systems design, 45 min practical coding question, integrating an API exercise, debugging, and talking with hiring manager about team alignment.
Programming Languages Mentioned
Java
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
Payments are the core of Stripe’s business, and the orgs and teams within Payments are broadly responsible for processing and moving funds at a huge scale - a platform that processes hundreds of billions of dollars annually.
Stripe’s goal is to make payments dead simple for our users. Internally, we operate a complex network of systems which interact with all parts of the financial system. We build infrastructure for charging credit cards (or other payment methods, like bank transfers or BNPL), integrations with our banking partners to send transfers to our users across the globe, systems that collect Stripe’s revenue and estimate cost, and more. Collectively, these systems power all payments products at Stripe.
What you’ll do
Engineers on the team have the opportunity to expand the reach of Stripe’s global payments network, and deliver best-in-class reliability and performance.
Responsibilities
- Scope, design and implement unique, large scale, high-performance distributed computing engine to handle billions of money movement requests in face of complex and often changing business logic
- Scope, design and implement highly performant hybrid transaction processing solution for large scale financial data
- Build a comprehensive set of tools to enable effective and delightful developer experience for payment related products by codifying complex payment logic and engineering needs with declarative artifacts (data model, rules, configurations, etc)
- Design, build, and maintain platform APIs, services, dashboards and user Interfaces to efficiently add, monitor and maintain payment methods and onboard Merchants
- Integrate with external Payment providers
- Help debug and solve critical production issues across services and multiple levels of the stack
- Teach and mentor others to become the next generation of leaders at Stripe
- Collaborate with technical and non-technical stakeholders across the company to build new features at large-scale, while improve internal engineering standards, tooling, and processes
Who you are
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. 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
- A strong technical background, including 3+ years of experience with software engineering
- Strong coding skills in Java or related languages for building high performance services
- Strong expertise and practical knowledge in database technologies particularly in utilizing large scale databases in the cloud, which includes clustering, sharding and failure recovery of RDBMS, Key-value store, and document databases
- Familiarity with the full life cycle of software development, from design and implementation to testing and deployment
- Strong analytical capability especially in modeling complex business flows and turning the business requirements into programmatic artifacts such as data models, algorithms, and API designs
- Experience in systems engineering on large scale testing, as well as reliability, security, and observability
Preferred qualifications
- Prior knowledge in financial technology space, particularly in payment processing
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄