CSS Developer in London, ON, Canada

Member since March 12, 2018

Mike has been playing with the web platform for over a decade, and has done enough Drupal development to earn a Grand Master Certification. He's made a career of being thrown into projects in chaos, quickly learning the domain, codebase, team, and constraints, and getting things back on track. After six years of learning, doing, and teaching a variety of tasks at agencies, Mike is looking forward to applying that expertise to your business.

Availability

Preferred Environment

The most amazing...

...thing I've built is a service that packages Drupal modules from GitLab on the fly, making them available for download by multiple tools.

Employment

Web Developer

2014 - 2018

Digital Echidna

Built full sites using Drupal.

Trained and mentored new developers.

Created a system to automatically provision and repair developer machines.

Instituted CI across the organization.

Automated many developer tasks.

Technologies: Drupal, Docker, Node, Slack

Web Developer

2013 - 2014

The Marketing Department

Updated, maintained, and built eCommerce sites using Drupal.

Introduced version control.

Built email campaigns.

Trained teammates on Git and SMACSS.

Automated development environments.

Technologies: Drupal, Vagrant

Web Developer

2012 - 2013

Inspiratica

Built a custom CRM solution on top of the in-house Zend-based framework.

Proposed new functionality for the in-house framework.

Trained new hires.

Built complicated, multi-step, interactive forms.

Maintained WordPress sites.

Technologies: Zend, JavaScript, WordPress

Web developer

2011 - 2012

Thread Development

Built and themed several Drupal sites.

Developed an offline-capable mobile web app for a local event.

Fixed several bugs in a popular shipping module for e-commerce Drupal sites.

Built a Drupal-based point-of-sale system.

Functioned as the company's one-man IT team.

Technologies: Drupal, CSS, JavaScript

Web Developer

2007 - 2010

Lake Erie Country Club (Volunteer)

Redeveloped a static sit to a more manageable custom CMS.

Self-directed introduction to PHP.

Technologies: PHP, CSS, HTML, jQuery

Experience

Near-real-time Alert System (Other amazing things)

A Drupal-based college website I recently worked on required an alert banner to appear on the website in real-time, based on the college's emergency alert system, even if there was no active alert at the time the tab was opened. The hosting the college was using did not support any real-time events, and was already overtaxed serving the current site.

As enrollment opened, the site would experience hundreds of simultaneous visitors, many of whom would open several tabs as they browsed the course catalog and make comparisons.

To allow the website to frequently check for alerts, without crashing the server, I had to work out a system where all the open tabs on a users browser would elect 1 tab to do all the polling, and relay the updated alert message to the others.

Aside from the frequent AJAX polling, every time a new page was downloaded the system would check if it contained a message. If it was an older message from a cached version of the page, it would be updated to something current. If by chance the message was newer, the other tabs would update. If the site went more than a minute without polling, another tab would take responsibility.

This all worked reliably in modern browsers, with a graceful fallback.

Retirement Community Intranet (Development)

As the main developer on this project, I was in charge of modifying a standard Drupal 7 installation until it met the needs of the client, and coding the theme for the site. This intranet served to keep track of documentation and training status for dozens of retirement homes and long-term-care centers across Canada.

The site's front end was built using SCSS and following the SMACCS naming conventions on top of Drupal's theme system. An interesting feature of this site was that each major section had a different highlight color assigned to it. I developed a Sass mix-in that allowed myself and other developers to style everything without having to worry about the color-changing logistics. I've been told by new developers working on the project that they found the theme very easy to jump into.

The site's back end featured a document management system that pushed Drupal's permissions API to its limits, allowing access based on roughly 7 dimensions, with wildcard support. Admins could grant access to categories like"All public documentation in retirement homes", "All documents in homes a user is a member of", or "Nursing documents in retirement homes in eastern Canada"

That mouthful is the title of an Ignite talk I gave at DrupalCamp 2015.

The talk focused on commonly used Drupal functions that are extremely useful, but easy to miss. Usually, they add too much noise to beginner tutorials but aren't worth mentioning in more advanced ones. You need to look at existing code and read the documentation to find them.

I gave this talk during my time at Digital Echidna, and yes, I'm wearing a company-branded jersey. You can always spot the Echidna's at a conference.