Michael Gossmann
Verified Expert in Engineering
Software Developer
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.
Portfolio
Experience
- JavaScript - 11 years
- CSS - 11 years
- HTML - 11 years
- jQuery - 11 years
- Git - 7 years
- Drupal 7 - 5 years
- Docker - 3 years
- GitLab CI/CD - 2 years
Availability
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
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.
Web Developer
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.
Web Developer
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.
Web developer
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.
Web Developer
Lake Erie Country Club (Volunteer)
- Redeveloped a static sit to a more manageable custom CMS.
- Self-directed introduction to PHP.
Experience
Near-real-time Alert System
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
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
Generic Platformer
Ubiquitously Used Useful Utilities Unveiled
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.
Education
Ontario College Graduate Certificate in Interactive Media Specialist
Fanshawe College - London, Ontario
Ontario College Diploma in Multimedia Design and Production
Fanshawe College - London, Ontario
Certifications
Drupal 7 Grand Master
Acquia
Skills
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
Platforms
Drupal 7, MacOS, Docker, Drupal, WordPress, Linux, Drupal 8
Storage
JSON, MySQL
Frameworks
Express.js, Zend Framework, Bootstrap, Twig
Paradigms
BEM, Agile, SMACSS
Other
Training & Training Content Development, Training, Documentation, Hubot
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring