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
- Development Experience
- Management Experience
- Employment History
- Volunteer Involvement
- Education
- Personal
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, OntarioDevOps 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)
- 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 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
- 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
- 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-2010Chairperson, 2010-2011Member, 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
- 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, OntarioBachelor 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