Michael Gossmann, Developer in London, ON, Canada
Michael is available for hire
Hire Michael

Michael Gossmann

Verified Expert  in Engineering

Software Developer

Location
London, ON, Canada
Toptal Member Since
May 1, 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

Part-time

Preferred Environment

Git, Tmux, Vim Text Editor, Linux

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.

Work Experience

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: Slack, Node.js, Docker, Drupal

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: Vagrant, Drupal

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: WordPress, JavaScript, Zend Framework

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: JavaScript, CSS, Drupal

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: jQuery, HTML, CSS, PHP

Near-real-time Alert System

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

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"

Jetpack

This is a simple bit of CSS art playing with shadows, shapes, and gradients to simulate different shapes, lighting, and materials.

Generic Platformer

This was a little game I built in college as an exercise in object-oriented JavaScript. It's starting to show it's age, but I'm very happy with it, and someday I'd love to expand on the mechanic.

Ubiquitously Used Useful Utilities Unveiled

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.
2011 - 2012

Ontario College Graduate Certificate in Interactive Media Specialist

Fanshawe College - London, Ontario

2009 - 2011

Ontario College Diploma in Multimedia Design and Production

Fanshawe College - London, Ontario

MAY 2015 - PRESENT

Drupal 7 Grand Master

Acquia

Libraries/APIs

Trello API, jQuery, Node.js, Slack API

Tools

GitLab, GitLab CI/CD, Blender, FullCalendar, GitHub, Trello, Git, Vim Text Editor, Tmux, Slack, Apache Solr, Photoshop CS6, Vagrant

Languages

ECMAScript (ES6), JavaScript, HTML, Markdown, CSS, PHP, Bash, YAML

Storage

JSON, MySQL

Platforms

Drupal 7, MacOS, Docker, Drupal, WordPress, Linux, Drupal 8

Frameworks

Express.js, Zend Framework, Bootstrap, Twig

Paradigms

BEM, Agile, SMACSS

Other

Training & Training Content Development, Training, Documentation, Hubot

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring