Building high quality software on time and on budget is hard. I enjoy this challenge and am passionate about leading teams to achieve more with less through lean thinking, developing individuals and upgrading team culture.


  • Engineering Software ManagerNov 2010 - Present

    Pentair Thermal Management (Formerly Tyco Thermal Controls)

    Leading a team of project managers, team leads and developers through the implementation of new modules and ongoing maintenance of mission critical line of business applications and publically available engineering tools. By adopting Lean practices and replacing the storyboard with a Kanban I helped lead this team into the 'post-Agile' world of continuous flow. I discovered my passion for culture on this team and spend a great deal of my time working to grow the team culture.

  • Lead DeveloperMay 2006 - Nov 2010

    Tyco Thermal Controls

    I was one of the first hires for this greenfield project and helped grow the team to what at one point was 10 developers, a couple of writers, and a handful of business analysts. Along the way I coached the team in Agile practices including TDD, Continuous Integration, fundamental OO design patterns and SOLID principles. I also had the opportunity to create and evolve the architecture into an SOA ecosystem. The highlight for me, however, was writing the first line of code.

  • Software ConsultantFeb 2005 - May 2006


    I was fortunate to have attended the first ever ThoughtWorks University in Bangalore. Actually at the time it was called the ThoughtWorks Bootcamp but folks were having trouble getting through India customs so they renamed it something less militaristic. The bootcamp was an intense 2 month immersion in Agile from some of the leaders in the industry. When I returned to Canada I worked for a short period of time on a multitude of on-site client projects to help establish Agile team cultures. I also mentored junior and intermediate developers on Agile and .NET skills. It was a dream gig but required too much travel at a time when I wanted to settle down.

  • Software ConsultantJun 2002 - Dec 2004


    Every time you dial a number, answer a call, send a text or do pretty much anything with your phone a stream of events flows from little machines sitting in back offices and cell towers to a massive central computer. This happens so your phone company has the goods on you and your calling history so it can generate a juicy bill to send you at the end of the month. This job was all about that telcom billing system. I had several roles throughout my time here: programming in generic languages, programming in proprietary languages, configuring and maintaining Unix servers, translating to Spanish, technical rep on sales calls and travelling to do on-site support at large telcoms. I learned so much here, worked with great people and had a lot of fun. Unfortunately I occasionally had to camp out at the office over the weekend to babysit multi-day builds. That experience made me think (hope) there must be a better way.

  • Software Developer (Co-Op Student)2001

    Agilent Technologies

    As my last co-op placement I landed a contract with Agilent Technologies in Boeblingen, Germany to build software that manages the test results of their manufacturing process. I didn't finish the project before I had to return to school but got to see Europe, live in a vinyard and go to Oktoberfest.

  • Business Analyst (Co-Op Student)2000

    Nortel Networks

    This was not a technical role. My responsibilities were to buy competetive products and tear them apart. I wrote reports that compared the Nortel products to the competition including a technical analysis, feature comparison and summary of the overall experience from purchasing through the installation and final usage. I really missed coding.

  • IT Helpdesk Technician1999

    Castrol Oil

    About 3 weeks into my backpacking trip around Australia I ran out of money in Sydney so had to find work. I landed this gig after a brief stint working as a mover alongside some rather large, thick necked rugby jocks from New Zealand. Not only was fixing computers more appropriate for my physique but it paid well and as a result was able to significantly extend my stay in Oz.

  • Technical Guy (Co-Op Student)1998

    Environment Canada: Hydrological Services

    Most of the time I was driving around the foothill regions of Alberta installing and troubleshooting computers in remote shacks. When I was in the office I was porting software that was the official system of record for the amount of water flowing between Canada and the US in the Milk River. The original was written in Fortran and ran on a VAX/VMS system that sat in a corner of the lunchroom covered in cobwebs and dust. I ported it to Java and got it to run on a SUSE Linux box that sat in an actual server room. Just thinking there's probably some dust on that SUSE box today.

  • President, Coder, Marketing, Receptionist etc...1999 - Present

    Gravity Free Inc.

    Throughout my University education and professional career I've had a side business coding for money, hacking for passive income and building a business which I can someday retire myself into. You can consider all gaps in my resume, evenings, weekends and holidays consumed by this passion for independence.


  • Bachelor of Science in Computer Engineering Co-Op1996 - 2002

    University of Alberta

    I was supposed to be an astronaut. But, like most, I hadn't a clue what to do after high school. I enrolled in Engineering because I had the grades and it sounded cool. After taking some first year programming courses I became captivated by computers and squeeked into the Computer Engineering Co-Op program. Through my classroom, work and life experiences I discovered a passion for building software and took the appropriate Computer Science courses to specialize in Software Engineering. Also, the wake of charred circuit boards I left in the EE labs eliminated me from the hardware side of Computer Engineering.

Agile and Lean

  • Release Planning

  • Useful Metrics

  • TDD

  • Estimation

  • Value Mapping

  • Little's Law

  • Story Writing

  • Drive for Results

  • Upgrading Culture

  • Listening


  • C#


  • NHibernate

  • Entity Framework

  • MassTransit

  • NServiceBus

  • WinForms, WPF

  • WCF

Other Coding

  • Ruby

  • Java

  • Python

  • Go

  • Javascript

  • Sinatra

  • Rails

  • Node.js

  • ETL


  • SQLServer

  • Oracle

  • MySQL

  • Postgres

  • MongoDB

  • SQLite

  • RavenDB

  • CouchDB

Cloud, Web and Other

  • Heroku

  • Amazon

  • Azure

  • Iron.IO

  • Web Hosting

  • RabbitMQ

  • PayPal API

  • Stripe API

Download resume as PDF format
Some projects I've been spending time on.
Flix for Kids

Flix for Kids

Mac/Windows App

Contact info

  • Edmonton AB, Canada

  • Email:
  • Website: