I am a results-oriented professional software developer with over a
decade of experience in senior and team-lead positions on a variety of
web applications and services. I am seeking a position that will allow
me to both leverage my strengths and experience as well as pull me out
of my comfort zone with new challenges.
- Experience
-
Versapay
Toronto, ON, Remote
Software Architect 2020-
-
Having long-term experience with this application, acted as
a subject-matter expert and code owner for our backend payment
processing systems, data flows, and APIs, as well as a mentor for
junior developers. In this role as SME, served as a primary internal
point of contact for our customer success team to answer technical
questions and investigate customer issues.
-
In support of the overall product as we deal with integrating a
merger of multiple companies, implemented a purpose-built secure
data storage system for our credit card and bank account data,
allowing for our separate products to share data in a PCI-safe
fashion, and led development of internal API integrations both as
a consumer and provider to act as a data bridge between our
client-facing embedded applications and our backend systems.
-
Led core infrastructure upgrades, from Rails 3.2 on Ruby 2.3 to
Rails 7.1 on Ruby 3.1, and evangelized for the adoption of
improved development tooling, such as 3rd-party licence auditing,
test coverage monitoring, improvements to our CI system, and
static code analysis running on commit.
Attendease
Vancouver, BC, Remote
Senior Software Engineer 2019-2020
-
Primarily led performance/scalability improvement work, including
a user-emulating load test plan using Locust for full-stack
benchmarking and profiling, and a series of database and code
optimizations to increase our concurrent user capacity per server.
Software Consultant 2018-2019
-
Self-onboarded to a new application in an unfamiliar framework
(CakePHP), and implemented 3rd party integrations with Quickbooks
and a provincial health claims portal to automate invoice data
entry, saving about a man-week of effort monthly.
Versapay
Toronto, ON, Remote
Senior Software Engineer 2012-2018
-
Maintained and developed new features for a funds-transfer web
application as the business has pivoted to a B2B Accounts
Receivable platform accepting millions in monthly payments from
tens of thousands of businesses.
-
Maintained and enhanced (solo) a PCI Level 1 certified credit card
payments gateway with connections to 7 merchant processors in 3
countries and currencies, as well as ACH/EFT bank payment
processing for 10+ banks.
-
Participated in annual PCI audits as our engineering contact.
Assessed and implemented mitigations for potential security
vulnerabilities brought up by a static code analysis vendor.
-
Led core infrastructure upgrades, from Rails 2.x on Ruby 1.9 to
Rails 3.2 on Ruby 2.3.
Software Developer 2008-2012
-
Designed and led development of a white-labelled dating platform in
Merb that powered 12 individual sites with over 2 million users;
later, with a specific focus on the billing section of the platform
to support 5 payment gateways and process tens of thousands of monthly
purchases.
-
Planned and initiated a rearchitecting to a microservices
architecture, extracting components as service apps with the goal
of reducing effort required for a port to Rails 3.
-
Developed a patch for DataMapper and later ActiveRecord to route
read queries to a read-only database replica, allowing us to
cheaply scale our databases horizontally for more performance.
Quarter Turn Toronto, ON
Software Craftsman 2007-2008
- Co-founded Quarter Turn, a software consulting company.
-
Worked on a number of Rails-based web applications using agile
methodologies.
Software Developer 2003-2007
-
Spent two years maintaining a 100kloc PHP application, including
addition of new modules.
-
Successfully designed, developed and launched two internal pre-1.0
Ruby on Rails applications.
-
Led development on a Rails-based adserving system handling over
200m impressions per month; was responsible for both backend and
user-facing components; tackled scalability issues resulting in a
near-100x throughput increase.
- Education
-
University of Victoria 2003
Bachelor of Science, Computer Science
- Skills
-
-
Veteran Ruby web developer, strong programming foundations, able
to pick up new languages and environments quickly.
-
Almost 20 years Rails experience, as well as production deploys of
Sinatra, Merb+DataMapper, and static websites generated by Jekyll
and Middleman.
- Strong knowledge of OO design.
-
Strong technical web design skills, including XHTML, CSS, and
JavaScript.
-
Knowledge of agile development practices, especially test-driven
development and working in small frequent iterations.
-
Strong knowledge of both Linux and MacOS as a software development
environment.
-
Experience with server provisioning technologies using Chef and
Ansible, as well as limited exposure to the AWS ecosystem.