I'm a Software Developer (and amateur runner) living in Toronto ๐จ๐ฆ [email protected]
Currently putting my 21 years of experience to work upleveling KOHO's tech processes and engineering culture. Since joining them I've streamlined deployment and test automation processes enabling each team to deploy to prod several times a day.
Aside from that "side hustle", my main duties revolve around designing and implementing solutions that enable payments. Think taping your credit card, or getting your paycheque as a direct deposit. Those services are mission-critical APIs written in Go and deployed on AWS.
Go / Golang
, JavaScript (ES6)
, express
, React
, JSON
, XML
, CSS
, REST
, Unit Testing / TDD
, PostgreSQL
, C#
, Jenkins
, OpenAPI/Swagger
, GitHub
, DataDog
, โญ๏ธ Google Search
CI/CD
, Test Automation (TDD)
, Observability
, Pub/Sub
, Extreme Programming (XP)
, Pair Programming
, Trunk Based Development
, Owner/Operator
, Documentation
, Working Async
, Psychological safety
, Mentoring & Feedback
KOHO is focused on eliminating banking fees in Canada. It allows customers to fund and spend for a cash account using a VISA card.
- Currently scoping, planning, and rolling out internal API changes to enable one of the largest technical changes in KOHO's history.
- Designed, implemented, and led the replacement of an existing system built around a manual processes.
- Went from start to launch 3 months after my first day with no customer outages.
- Event based design (pub/sub) for loose coupling with the existing payment services.
- Encouraging a culture of collaboration and "handbook-first" documentation through mentorship, writing, and presenting.
- Rolling out an Innersource process to my team with the hope of having it adopted company-wide if successful.
- Taking my solution designs to the architecture review meeting for company-level discussion and approval. Also, reviewing proposals brought forward by other teams.
- Documenting and teaching testing patterns and best practices resulting in faster running, less fragile, and more valuable tests.
- Defined a deployment process using feature toggles to remove the bottleneck on manual QA testing before deployments.
- Migrated my team, then the rest of the company to Trunk Based Development.
- Writing Architecture Decision Records and How-To guides to address pain points in the development processes as I identify them.
- Hold tech team "talks" on new processes and ideas during monthly tech days. Presenting with one of my mentees when possible.
- Introduced pair programming and mentoring for less experienced developers.
- Pairing across teams and departments during "Eng-Life Fridays" to help solve engineering problems we can't solve on our own.
ATB Financial is an Alberta based financial institution servicing over 700,000 customers. My work there has focused on their online banking platforms.
Project: ATB Business (business.atb.com)
- Architecturally responsible for the online business banking app.
- Designed and developed REST based APIs to be consumed internally and externally. APIs are documented with Swagger which was used to create a centralized API library developers could use to find APIs.
- Building React web applications.
- Started ATB's shared "design system" of React controls.
- Established CI/CD practices that allowed a team of more than 25 developers to transition from bi-monthly coordinated production releases to multiple production deployments a day.
- Created RFCs, and presentations used to educate and communicate new innovative ways to create applications and leverage cloud functionality.
- Created a road map for alerting and observability
- Curated a community of collaboration around development practices as well as establishing automated processes that enforce them.
- Enabling manual QA process to "shift left" resulting in massively reduced effort while gaining the ability to ship hotfixes and changes to production within hours.
Project: ATB Business (business.atb.com)
- Designed and developed REST based APIs to be consumed internally and externally. APIs are documented with Swagger which was used to create a centralized API library developers could use to find APIs.
Project: ATB Prosper (atbproster.com)
- ATB Wealth project focused on providing an easy and paperless way for customers to invest without the need to meet a financial adviser in person or on the phone.
- Full-stack development of a responsive single-page application using AngularJS, CSS media queries, and flexbox.
- Stateless Java based REST backend microservices using Spring Boot and Zuul api gateway.
- Blue/green deployments.
I've been working for a loooooong time. If you want to know more about what I did before 2007 I'll be happy to tell you about it.
- Senior System Analyst, ATCO I-Tek, Aug 2007 โ April 2015, Edmonton AB
- Team Lead / Developer, Upside Software, Sep 2005 - Aug 2007, Edmonton AB
- .NET Application Developer, Basic Frame, May 2004 - Sep 2005, Edmonton AB
- Web Application Developer, Refined Logic, Sep 2003 - Apr 2004, Prince George BC
- Web Developer, Floating Rock, Sep 1999 โ Sep 2003, Prince George BC
Computer Systems Technology Diploma, Northern Alberta Institute of Technology (NAIT)
Wow... you've read all the way to the bottom. Good-on-ya.
1๏ธโฃ I'm a Newfie ๐ฃ
2๏ธโฃ I'm a twin ๐ฏ
3๏ธโฃ I've completed 2 marathons ๐โโ๏ธ