WARNING: Content out of date

I'll update it eventually.

Who am I?

I am a geek of many trades who has been primarily employed performing programming and IT work. As an IT professional, I have mostly worked as an IT generalist, researching, learning about, and deploying solutions to a wide variety of problems my clients and employers have encountered. As a programmer, I have experience working at every level of the stack, from low-level systems programming up to web application programming. My complete experience in a wide variety of computing allows me to face a diversity of computing challenges and find solutions to them.

What will you find in this résumé?

You will find a great deal of experience in a wide variety of areas. My goal is to give you a complete picture of my capabilities as an employee/contractor. What you won't find are any exaggerations. My Active Directory experience to date has been limited to small installations, and that's what you'll find written below. I believe in being open, honest, and up front about my capabilities.

Sections

IT Experience

  • 6 years administering Windows Servers
  • 6 years administering small-scale Active Directories (max. 100 users) and deploying software via Group Policy
  • 8 years administering Linux and other UNIX servers in a wide variety of applications
  • 5 years internally packaging applications for Debian/Ubuntu systems
  • 8 years administering Apache web servers
  • 8 years managing database servers, primarily MySQL, but also PostgreSQL, Microsoft SQL Server, and Oracle
  • 3 years implementing and using Puppet for configuration management (also dabbled in cfengine2 and bcfg2)
  • 3 years implementing and administering Nagios system monitoring software
  • 3 years deploying Ruby on Rails web applications in Mongrel, Passenger, and other environments
  • 5 years developing, deploying, and maintaining Drupal websites (like this one)
  • 5 years administering small-scale VMware installations
  • 6 years administering mail servers based on Postfix, Dovecot, and Spam Assassin
  • 6 years administering a variety of Point-of-Sale systems (Microsoft RMS, L-POS, Restaurant Manager, Digital Dining, as well as custom solutions)
  • 13 years troubleshooting network problems, generally without administrative access to routers
  • Over 10 years creating management scripts in Bash, Perl, Ruby, Python, and other languages
  • 6 months administering Sharepoint sites

Development Experience

In general, I have been programming on my own (not in school) consistently since grade school, only my professional and large project experience is listed here:

  • 3 years developing developing and maintaining Ruby on Rails web applications
  • 1 year maintaing Python/Pylons web-applications
  • 12 years developing and maintaining PHP-based web applications
  • 5 years C/C++ development, 2 of which were in games and simulations
  • Several months of PowerPC assembly language programming
  • 5 years experience with DVCS systems, primarily Git, but also Mercurial, GNU Arch, and Bazzar

Management Experience

I have held a variety of supervisory positions over the last 13 years:

  • 3 years managing an IT department of 3 employees (including myself) and a six-figure budget
  • 2 years as a volunteer Chairperson of the Board for a small corporation (I was also President for one of those years)
  • 1 year as the President of a University Club
  • 3 years as a Noncommissioned Officer in the Royal Canadian Sea Cadets

Employment History

TribeHR, Kitchener, Ontario
DevOps Lead, December 2011-Present

  • Migrated the company's application from a single server to a cluster
  • Improved performance of the application by setting up APC and memcached
  • Developed major features of TribeHR
  • Implemented consistent deployment process
  • Discovered, investigated, and solved several app performance issues with New Relic, XDEBUG, and other tools
  • Migrated the company's source repositories from Subversion to Git (and GitHub)

Federation of Students, University of Waterloo, Waterloo, Ontario
IT Manager, September 2010-December 2011
Network Administrator, June 2005-September 2010

  • Change in job title reflects increased supervisory and budgetary responsibility given over 2008-2010
  • Responsible for all technological aspects of the Federation of Students, including its five businesses
  • Responsible for budgeting for the IT department, including infrastructure
  • Spearheaded the creation of a University of Waterloo Student Developer Network, a collective of students interested in developing applications.
  • Led several complete installations of IT infrastructure for businesses, including cabling, networking equipment, point-of-sale hardware and software

Queen of Hearts Costumes, Waterloo, Ontario
System Administrator, 2006-Present

  • Queen of Hearts Costumes is a costume shop in Waterloo which is owned by my wife
  • Responsible for managing websites, email addresses, and point-of-sale systems to provide a near-100% uptime for the business
  • Successfully diagnosed point-of-sale problems several times when the support technicians were unable to do so for several weeks

Instructional Support Group, School of Computer Science, University of Waterloo, Waterloo, Ontario
Tutor for CS 245: Logic and Computation, May 2003-August 2003

  • Provided instructional support to all sections of CS 245
  • Helped design, administer, and mark assignments and exams
  • Taught tutorials and provided out of class assistance to students during office hours

Electronic Arts Canada, Burnaby, British Columbia
Software Engineer, FIFA Team, September 2002-December 2002

  • Enhanced the FIFA 2004 video game highlight reel by optimising memory copying to allow for improved displays at half- and full-time
  • Collaborated with a development team of over 120 people to bring FIFA 2004 to market on a tight schedule
  • Rewrote the web-based build metrics system allowing developers to track the effects of their code changes
  • Wrote a basic virtual memory system for the Nintendo GameCube

Volunteer Involvement

KwartzLab Society Inc.
Founding President and Chairperson, 2009-2010
Chairperson, 2010-2011
Member, 2011-Present

  • KwartzLab is Waterloo Region's Makerspace. It was founded in 2009, and its members are local tinkerers and do-it-yourselfers who have come together to build a space where they can work on personal and group projects
  • With the other six directors and 20 other members built KwartzLab from an idea into a fully-realized space in 6 months
  • Did a large amount of the research and draftwork for the initial structure of the lab, including writing the draft by-laws
  • PItched an event idea to the KW Awesome Foundation in September 2011 which was awarded a $1000 grant

Anime North
Moonlight Ball Co-ordinator, 2006-2011

  • The Moonlight Ball is a 350 person formal ball held at Anime North
  • Responsible for the $10,000 budget and the logistics for the ball

Education

University of Waterloo, Waterloo, Ontario
Bachelor of Mathematics, Honours Co-op Computer Science with Cognitive Science Option, 1999-2005

  • Received an Excellent or Outstanding employer evaluation on five of six co-op terms (the other two were Very Good)
  • Advanced courses included Computer Graphics, Artificial Intelligence, Formal Languages and Parsing, and Principles of Programming Languages
  • Took graduate-level course in Simulating Neurobiological Systems
  • President of CTRL-A, second largest student club on campus for two terms

Personal

  • Fluent in both English and French
  • Hobbyist developer: http://drupaldeb.org/ is my most recent project to aid Drupal administrators (myself included)
  • Hobbyist system administrator: I enjoy setting up and managing complicated systems for people
  • Sci-fi fan: Doctor Who, Battlestar Galactica, Firefly, just to name a few recent examples
  • Gamer of all stripes: Board, video, role-playing