I'm a developer with 7+ years of experience in developing web applications with a variety of technologies. I have experience in a wide range of skills, such as system administration and operations, computer & web application security, accessibility, and more.
I love DevOps because of the variety. Applying my expertise in programming to systems administration has been extremely rewarding for myself, and the companies I've worked for. I'm a huge fan of automation, and custom tooling where needed. I love solving the kind of tough problems that require 20+ tabs open.
- Back-end Development Node.js, Express, Ruby (and Rails), PHP, Symfony, Zend Framework, RESTFul Web Services
- SysOps/DevOps Vagrant, Puppet, Apache, Nginx, Varnish, AWS, RDS, ElastiCache, Graphite, Carbon
- Databases MySQL, MongoDB, Redis, SQL
- Linux Ubuntu, CentOS, RedHat Enterprise Linux
- Web Design Adobe Photoshop
- Desktop Programming Python, C++, Java, Lisp, Bash
- Mobile Programming Android, PhoneGap
- Game Development Unreal Engine 4
Personal Open Source Projects
Enhanced Varnish Dashboard
Real time Varnish dashboard designed to integrate with the Varnish Agent software. Includes support for multiple backends, and many management operations. 450+ stars on GitHub.
FTP server implemented in Node.js. Features basic UNIX authentication, SSL support, and support for the majority of FTP commands.
Open source PHP library on GitHub. It has been "starred" by 750+ users and forked 90+ times. It was the top PHP project on GitHub the day it was released, and several times after. It was on the /r/php front-page as well.
WordPress Access Control
Free WordPress plugin with 125,000+ downloads. It's been featured on many websites, including the WordPress plugin directory itself. I've received hundreds of dollars in donations as thanks.
This project has a 4.5/5 rating on the WordPress plugin directory.
Sublime Text Varnish Plugin
Syntax highlighting and snipped for Varnish VCL files. While working extensively with Varnish, I grew tired of having broken syntax highlighting. Now used on GitHub.com (via Linguist) to power *.vcl files.
Sublime Text Nginx Plugin
Syntax highlighting, snippets, and auto complete for Nginx configuration files. Now used on GitHub.com (via Linguist) to power Nginx syntax highlighting.
September 2015 - Present
Senior Developer / Team Lead
Master Merchant Systems, Full-Time
I am employed as a senior software developer, and team lead, working primarily with Ruby on Rails and Java. My responsibilities include:
- Managing the developers on my team, running sprint reviews, retrospectives, daily scrums, and backlog reviews.
- Working on our Ruby on Rails app & Java software on a daily basis
- Administration & training for Jira, Jenkins, and GitLab
- Tier 1 support for any sort of production issues
- Code review & pair programming with other programmers in the company
July 2013 - September 2015
Senior Solutions Developer
I was employed as a senior web developer/DevOps Engineer, working primarily with PHP, Node.js, Puppet, Varnish, and Amazon AWS. My responsibilities included:
- Building Puppet manifests, modules, and libraries for automated deployment, configuration, and management of critical infrastructure
- Designing and building infrastructure using AWS (EC2, VPC, RDS, ElastiCache, etc)
- Building server automation tools
- Working with sites hosted on Heroku & AWS, using a variety of technologies such as Varnish, Apache, Nginx, PHP-FPM, MySQL, Puppet, memcache, redis, and more
- Working on sites built with PHP using Drupal, WordPress and other systems
- Incorporating Grunt into our workflow and projects
- Working on sites built with ExpressJS and Node.js
December 2010 - Present
I worked as a freelancer web developer with a partner. I built websites web applications for clients such as Dalhousie University and the Pharmacy Association of Nova Scotia.
- Redesigned and developed several large scale IT solutions for the Pharmacy Association of Nova Scotia which drastically increased performance and eliminated hundreds of hours of manual work that had to be performed each year
- Worked on new and innovative E-commerce sites
- Built dozens of WordPress based websites
- Worked with Express.js, Ruby On Rails, and Symfony
- Used Git, Puppet, Vagrant, Grunt, Yeoman, and various other tools in my workflow
January 2013 - May 2013
Sampling Technologies Inc, Full-Time
Worked as a consultant/contractor.
- Did pair coding to help teach others best practices and how to use newer technologies
- Deployed GitHub Enterprise and converted dozens of Subversion repositories
- Deployed Puppet in a Master/Agent configuration to dozens of servers
- Deployed Nagios for monitoring on dozens of servers
- Deployed GitLab
- Built web development virtual appliances for developers to use locally
- Redeveloped several ExpressionEngine templates/websites
- Converted several ExpressionEngine websites to WordPress
- Critical bug fixes
- Website/server optimizations
- Server setup/management
- Built internal tools
March 2012 - August 2012
Senior Data Analyst
Research In Motion, Full-Time
Worked as a senior level data analyst for Research In Motion. I was on the Data Analytics team and built tools for the other analysts on my team, as well as other teams in the company.
- Worked on a tool that integrated several problem management teams and allowed better internal communication
- Built a tool allowing for faster ticket lookup, used by most teams in the office
- Created a custom engagement form to replace a mailing list, resulting in a 400% drop in overtime due to invalid engagements
June 2010 - December 2010
Senior Web Developer
I was employed as a web developer building WordPress sites & maintaining legacy websites built in a custom PHP framework. I worked closely with companies & organizations like the Halifax Chamber of Commerce and Propeller Brewery.
- Developed several websites for companies around Halifax, including project specifications, testing, and training.
- Maintained websites done in the years previous to my employment, as well as fixing any bug reports that came in
- Received praise from multiple clients including the Halifax Chamber of Commerce for my customer service and quality of work
- Performed a security audit which revealed serious problems created by a former employee
- Increased productivity by improving the time tracking software used by the company, reducing errors, increasing functionality, and making it much faster to log time
- Developed over a dozen custom plugins which drastically increased productivity and allowed us to develop websites substantially faster
April 2009 - June 2010
I partnered with a design firm in Ontario to provide ongoing freelance web development for all of their projects. We collaborated via Skype, instant messaging and e-mail. Designs were provided as PSD files.
- Worked with dozens of clients to identify the best solution for them
- Developed a multitude of websites and custom content management systems tailored to each user
- Finished numerous time sensitive projects under budget without supervision
April 2008 - June 2010
Web Developer/IT Manager
Global Training Edge, Part-Time
I worked part time for a local small business that provided enterprise safety training. I was responsible for managing several websites, including the redesign & development of two of them, and managed the office computers/network.
- Trained other employees on Microsoft Office, Thunderbird, and Customer Management software
- Provided telephone and e-mail support for network, software, and any other technical issues
- Other roles included database architecture and information architecture
- Developed an e-mail marketing system which saved the company thousands in monthly payments
- Designed, developed and implemented a custom administration system to manage their new websites which was extremely simple and easy to use, allowing the client to make many changes themselves.
I actively take courses offered by Coursera, an online University that partners with big name universities across the world.