Senior Software Developer
Job description
About the role
We are seeking a Senior Software Developer to join the Cards team at Wealthsimple, where you will play a central role in shaping the future of our card infrastructure. In this position, you will own critical components of the card stack from end to end, including card issuance, authorization, transaction processing, and lifecycle management. This role is not about applying features on top of a third-party banking as a service solution; it is about building the foundational systems in-house that enable our products. You will be responsible for designing and implementing the backend systems that ensure reliable, performant, and correct financial experiences for millions of Canadians. The role requires a strong sense of ownership, technical judgment, and the ability to turn complex, high-stakes problems into simple and reliable user outcomes. You will have the opportunity to define technical direction for a growing program and directly influence the reliability and security of card journeys.
Key facts
What you'll do
- Shape and own greenfield work in a space that is still early for Wealthsimple, where the card program is in its initial growth phase and significant building lies ahead for the incoming hire.
- Own complex, end-to-end projects that span the entire card stack, covering technical design, implementation, testing, launch, and ongoing iteration in production environments.
- Build and enhance the backend systems that power card products, with a primary focus on reliability, performance, correctness, and scalability under real-world financial workloads.
- Work on core card infrastructure components such as card issuance, tokenization, authorization flows, BIN management, transaction processing, card lifecycle management, and dispute infrastructure.
- Make thoughtful architectural decisions that balance delivery speed, software quality, and long-term scalability while aligning with business and regulatory requirements.
- Partner closely with product managers and designers to clarify objectives, surface trade-offs, and deliver measurable outcomes rather than merely completing feature tasks.
- Build with the reliability and observability standards required for card journeys, where issues such as a declined tap or a mishandled dispute have immediate impact on members.
- Leverage AI-centric workflows and tooling to ship faster and safer, using intelligent assistance to augment engineering judgment without compromising rigor.
- Raise the technical bar across the team through participation in design reviews, code reviews, documentation, pairing sessions, and active mentorship of peers and junior engineers.
- Help foster a team culture that values clear communication, rapid learning, and shared ownership of the product and its long-term success.
Requirements
- Bring 5 or more years of professional software engineering experience with a track record of shipping production-grade systems that are relied upon by real users in demanding environments.
- Demonstrate experience building and owning backend systems within payments, card, or financial services environments, ideally with direct exposure to card issuance, authorization, payment rails, or card lifecycle management.
- Possess strong backend engineering fundamentals, including a deep understanding of how money moves between systems, how failures propagate, and how to design for correctness at scale.
- Show a maker-owner mindset by seeking opportunities to plant a flag in a growing domain and shape it over time, driven by the ambition to build the best card program in Canada rather than focusing solely on short-term delivery.
- Thrive in environments with ambiguity and greenfield work, having successfully built something from the ground up in situations where requirements were not fully defined.
- Adopt an AI-first development workflow that moves beyond using AI as simple autocomplete, incorporating genuinely agentic workflows while maintaining strong engineering judgment to validate model outputs.
- Exercise product judgment by focusing on member problems, simplifying complexity, and making informed decisions about when to iterate quickly and when to invest for the long term.
- Navigate ambiguity and define a clear path forward by synthesizing information and communicating decisions effectively through both written and verbal communication.
- Demonstrate technical leadership and mentorship instincts by raising standards through code reviews, design documents, and supportive collaboration with teammates.
- Maintain a collaborative, low-ego approach to engineering, showing willingness to give and receive candid feedback in the pursuit of better outcomes.
Nice to have
- Experience working directly with card networks or card processors on either the integration or operational side of financial services platforms.
- Experience building card infrastructure in-house instead of layering features on top of a banking as a service platform.
- Familiarity with Ruby on Rails or experience in a comparable backend language, where Ruby may be helpful but is not a strict requirement and depth of learning ability matters more.
- Experience with React and/or React Native for building user interfaces that interact with card workflows and member-facing experiences.
Practical notes
This role is based full-time at our Toronto Headquarters. We are not currently offering remote or hybrid options for this position. Compensation details are not specified in this posting. The position is open until filled, and candidates are encouraged to apply promptly with relevant examples of past work.