Michael Warkentin

Operations Engineer

Download PDF
mwarkentin@gmail.com
@mwarkentin
(647) 880-0174


Profile

I'm an Operations Engineer by way of Developer in Toronto with 10 years of experience building web apps. I love building fast, usable software - and enabling other developers to do the same. In my spare time I enjoy playing soccer and rocking out with my band.


Technical

  1. Ansible
  2. Python
  3. AWS
  4. Django
  5. Javascript
  6. HTML / CSS
  7. Docker
  8. Vagrant
  9. Packer
  10. Hubot
  11. ELK stack
  12. Linux / bash

Experience




2013-PresentSenior Operations Engineer, Wave Accounting

  • Leading a migration of Wave's apps to containers from VMs to improve reliability and reduce costs by 40-60%

  • Increased payments revenue 40% by building and deploying three Level 1 PCI compliant applications to AWS

  • Enabled easy provisioning of new environments and changes to existing environments in AWS by building an abstraction layer around Cloudformation using the Troposphere Python library

  • Reduced application downtime by building self-healing components using Auto Scaling Groups and Multi-AZ deployments

  • Sped up time to deploy various server types by building a multi-stage AMI pipeline using Packer, Ansible, and Jenkins

  • Provided on-call support including communication with internal stakeholders while assessing and resolving high-pressure downtime incidents

  • Improved developer onboarding by standardizing the development environment using Vagrant and Ansible

  • Built strong relationships with engineers from our hosting provider while working to improve and scale Wave's operations capabilies

  • Improved security by finding vulnerabilities (XSS, server configuration, etc.) in several apps during internal penetration tests

  • Built and operated a Python application to scan and scrub potential credit card data across hundreds of servers and hundreds of millions of database rows

  • Mentored both junior and non-technical employees to the point where they were shipping code into production



2011-2013Software Developer, Wave Accounting

  • Worked with multiple teams to deliver new features and maintain existing functionality across multiple applications

  • Increased deployments from once every three weeks to many per day by automating deployments across our services, introducing feature flags, and improving code review processes

  • Implemented ChatOps by adding wabot (hubot) which has been used more than 10,000 times across the company

  • Built a deployment library on top of Fabric (Python) used to deploy 14 distinct services

  • Helped design and build the Wave Accounting API which now powers both mobile and web apps

  • Eliminated most causes of planned downtime by introducing pt-online-schema-change and multi-step data migrations

  • Introduced company-wide "release" emails where new features, a/b test results, etc. could be celebrated

  • Organized the inaugural Wave Hack Days event



2010-2011Web Developer, Arcestra

  • Prototyped, designed, and developed the user interface for a major redesign of the web app

  • Designed landing pages for Google AdWords campaign in support of the marketing team

  • Reduced page load time by ~50% by implementing JS/CSS minimization and concatenation



2005-2010Senior UI Developer, Casero / Radialpoint / Amdocs

  • Led design and front-end development for a team building a new customer portal for Rogers as part of a project to unify all of Rogers' systems

  • Helped set up version control, bug tracking, and project management software at the beginning of the project



Side Projects




2013-PresentShrinkray (https://shrinkray.io)

  • One-click optimization for images in your Github repos

  • Integrates with multiple Github APIs



2011-PresentConcerts by me (http://concertsby.me)

  • Enter your favorite bands and where you live to get email notifications when they announce a show nearby

  • Uses the BandsInTown API to search for announcements on a daily basis



2008-PresentCome Together (http://come-together.ca)

  • An online video hosting site for important events like weddings and funerals

  • Part owner responsible for all technical aspects of site operation



Open Source




2014-Presentdjango-watchman (https://github.com/mwarkentin/django-watchman)

  • A pluggable application for Django which exposes a status endpoint for your backing services like databases and caches



2015-Presenthubot-vmfarms (https://github.com/mwarkentin/hubot-vmfarms)

  • A hubot plugin for interacting with the VM Farms API



2014-Presentansible bower module (Code: http://bit.ly/1LD3Eas / Docs: http://bit.ly/1RqG9De)

  • Author and maintainer of the Ansible bower module