Toronto, Ontario, Canada
With over 20 years of professional software development experience I've worked in a wide variety of roles, most recently focused around software architecture, scalability, and enabling teams themselves to execute more quickly. My recent experience includes a mix of frontend and backend work, and I'm comfortable adapting to new environments, technologies and challenges toward expanding my experience.
Stripe is a leading financial technology company historically well known for acting as the payments backbone of the internet but rapidly evolving into a flexible platform for all financial services needs. My role at Stripe has focused primarily on building and maintaining our money movement products, in particular those were our users need to manage their own money. Use cases we enable include, but aren't limited to: - Platforms moving funds between connected businesses, for example online marketplaces or gig economy companies paying out to their merchants or contractors. - Recovering funds from users' external bank accounts to maintain healthy balances and protect Stripe and our partners from losses. - New and novel cases for the company as part of Stripe's Global Payments and Treasury Network (GPTN) initiative, such as money sending, funds storage and multi-currency, including enabling stablecoin and other crypto use cases. In my role I've led architectural design and implementation of a number of our GPTN services at both the product and platform layers, built support for new funding rails, and currently lead our funds recovery work stream from a technical standpoint. Work involves close and active collaboration across engineering teams and with other departments such as fraud, risk, accounting and legal. Development is primarily in Ruby and Java heavily leveraging Stripe's home-grown frameworks and focused on scalable service-oriented architecture with additional day-to-day tools such as Mongo, Temporal, Trino, Spark, Flink, and a wide variety of our various cloud platforms' features.
PagerDuty is an industry leader in incident response and real-time operations, with an emphasis toward notifying and mobilizing the right people within a given organization encountering an incident. Early on I acted as a senior engineer and tech lead working projects within our developer ecosystem, including our webhook platform, public APIs, open source projects, API gateways, on-prem agent, and our third-party app directory. Projects involved significant work on legacy Ruby on Rails and Scala systems along with net new React, Elixir, JavaScript and Golang work. In 2020 we pivoted and I became tech lead on a new team dedicated to scaling up our notifications pipeline. Goals included a 100x increase in per-event notifications and improved management tools, ensuring even larger stakeholder groups could receive incident updates. This project once again involved major RoR, React and Elixir work with a higher emphasis on scalability, microservice architecture, cloud platform features and provider integrations. More recently I've worked as an individual contributor and tech lead on our auth modernization project. Goals included cross-region authentication, authorization and user management while maintaining backward compatibility and paving the way for future enhancements.
League Inc. is dedicated to re-imagining employee health benefits through an online platform designed to improve employee experience while automating traditional administrative HR tasks. As a senior engineer I worked to expand brokerage integration, build out security features and automate traditionally manual tasks as part of an initially small team. As the team grew I transitioned to acting engineering manager, managing a group of seven engineers while continuing to act as a tech lead for the team. League's platform is largely a mix of Go for backend and React for frontend, and the both development and management roles involve close collaboration with product managers, designers, customer service and other teams across our engineering organization.
Influitive is the world leader in advocate marketing, providing a platform for companies to build, engage and leverage their user networks. My time as a senior software engineer and tech lead was split between two teams: Scalability and Infrastructure: Helping to scale, maintain and architect the company's core platform and growing number of microservices. Notable projects included rearchitecting authentication, improving third-party integrations, and introducing JWT for inter-service authentication. Embedded and Beta: Tech lead and senior developer for a team rapidly iterating on new products and services primarily built using React and Rails, aiming to explore new opportunities and improve user experience while reducing technical debt.