AJ Michels

ajmichels.com 651-307-0082
7771 Upper 23rd St. N.
Oakdale, MN 55128

Professional Summary

I have been working as a software developer for almost two decades. During my career I have worked extensively with many languages, most notably JavaScript and PHP, but I consider myself a polyglot. More than anything I am a problem solver. For me there is a right tool for every job. If I don't have the tools I need, I learn or build them. Programming is a creative profession and no matter what the language or platform, I strive to produce fast, functional, and secure software with excellent user experiences. I am always looking for opportunities to work with companies that are interested in creating great software.

Technical Skills

Software/Tools

Vim, Git, Sublime Text, Eclipse, Chrome, Safari, Firefox, IE, Photoshop, macOS, Linux, Windows, Ansible, Docker, Vagrant, AWS, Elasticsearch, React

Languages/Scripting

JavaScript, PHP, Java, Bash, CSS, SASS, HTML5, XML

Databases

MySQL, MariaDB, SQL Server, SQLite, CouchDB, MongoDB

Methodologies

OOP, AOP, SOA, MVC, TDD, BDD, Design Patterns, DevOps, Agile, Scrum

Professional Experience

BI Worldwide

Oct 2022 — Present

Lead Engineer — Edina, MN

Technical Environment

  • AWS, Kubernetes, NodeJS, PostgreSQL, Kafka, Redis
  • ExpressJS, React, Sequelize, Git, GitLab

Gartner Digital

Oct 2019 — Sep 2022

Senior Software Engineer — Stillwater, MN

I joined Gartner Digital (a wholly owned subsidiary of Gartner Studios) to lead a team of developers working to maintain a system providing product personalization capabilities, primarily focused on stationary products such as wedding invitations and RSVPs.

  • Architected and implemented a serverless event-driven personalization order fulfillment pipeline with multiple third-party integrations
  • Maintained legacy SaaS personalization platform through end-of-life
  • Facilitated the fulfillment of personalization orders with print vendors
  • Stood up and maintained a private MediaWiki instance for internal documentation and communication

Technical Environment

  • AWS, PHP, NodeJS, CouchDB, MySQL
  • Restana, Yargs, Jest, Magento, Git
  • Serverless, React

Vivial, Inc.

Oct 2017 — Oct 2019

Senior Software Engineer, Marketing Platform Lead — Bloomington, MN

At Vivial I led a team responsible for maintaining acquired assets which comprise the Vivial Marketing Platform. The platform was designed for helping small to medium sized local businesses market themselves on the web.

  • Implemented text message communication system to allow clients to communicate with customers via text messages
  • Maintained and enhanced Facebook advertising integration which provides easy advertising capabilities to clients
  • Maintained and enhanced integrations with social media APIs such as Facebook, Twitter, LinkedIn, and Google
  • Maintained and added numerous third-party integrations
  • Collaborated on re-architecture of the entire marketing platform

Technical Environment

  • AWS, Docker, Ubuntu, Nginx, PHP, Node, MariaDB, MongoDB
  • Drupal, PHPUnit, Ansible, Git
  • jQuery, Ractive, Serverless

CaringBridge

Sep 2015 — Oct 2017

Lead Software Engineer — Eagan, MN

At CaringBridge I worked on enhancing and maintaining the CaringBridge.org website and its supporting services and software. I worked with a large scale Zend Framework based web application, wrote Java based micro-services, and built a custom WordPress theme from the ground up. I also continuously worked with our team to improve upon our coding practices and development life cycle processes.

  • Used Test Driven Development to update and maintain legacy PHP software
  • Created a Java based micro-service for managing site map XML data
  • Collaborated on Software Development Life Cycle implementation and refinement (Agile)
  • Implemented and updated Ansible managed server environments (DevOps)
  • Worked with team on large application UI refresh
  • Implemented SAML SSO with third party partner
  • Converted legacy search functionality to Elasticsearch implementation
  • Mentored team members on PHP and general development best practices

Technical Environment

  • CentOS Servers, Apache 2, PHP, Java, Node, MongoDB
  • Zend Framework, PHPUnit, SpringMVC, JUnit, Ant, Ansible, Grunt, Gradle, Jenkins, Git
  • jQuery, Backbone, Underscore, Jasmine, Bootstrap

WolfNet Technologies, LLC

Apr 2012 — Aug 2015

Senior Web Developer/Team Lead — Minneapolis, MN

At WolfNet I took on a leader and mentor role even amongst the more senior developers. I led development of a ground-up rebuild of their primary product and was heavily involved with the development of a new API.

  • Created full featured real estate search user interface with responsive design which is backed by the same API as the WP plugin
  • Collaborated on a RESTful web API which delivers real estate data for over 450 MLS markets in the US and Canada
  • Created a build and deployment process which utilized Grunt and Git to deploy code to multiple load-balanced server clusters (DevOps)
  • Created multiple internal tools to assist with development and project management
  • Implemented team wide code review workflow and Git best practices as well as Semantic Versioning format
  • Implemented new company website on a major CMS platform
  • Established development processes and flows

Technical Environment

  • Ubuntu Server, Apache 2, PHP, MySQL 5, Lucee/Railo, ColdFusion, SQL Server 2014
  • Git Source Control
  • WordPress, ColdBox, ColdSpring, Taffy, Grunt
  • jQuery, Chosen, TinyMCE

Minnesota Nurses Association

Jul 2013 — Aug 2014

Freelance Developer — Remote

I was brought on under a temporary contract to perform general maintenance while they were transitioning between developers. The contract lasted much longer than initially expected and I also created an entirely new web application for them.

  • General maintenance of Drupal based website
  • Developed specialized web application for collecting information from membership
  • Investigated possible updates to Appcelerator Titanium based mobile application for Android and iOS

Technical Environment

  • CentOS, Apache 2, PHP, MySQL 5
  • Git Source Control through GitHub.com
  • Drupal, SlimMVC, Doctrine ORM, Symfony Dependency Injection, Composer, Grunt
  • Bootstrap, jQuery

The American Academy of Neurology

Jan 2006 — Apr 2012

Senior Web Developer — Saint Paul, MN

I started working with the American Academy of Neurology as an intern doing “web updates” and other tasks. Six months later I applied for an open position and was hired. My duties there grew and changed quite a bit. My primary duties were always to work on developing, maintaining, and improving their many web applications across multiple domains. The majority of the work was done using ColdFusion, OOP principals and best practices, often utilizing development frameworks.

  • Developed and co-designed patient centric website (patients.aan.com)
  • Re-designed and produced functional mock-up of publication website (Neurology.org)
  • Developed applications to capture, manage and report on event registrations.
  • Developed application to capture and report on cross departmental meeting notes
  • Co-developed and maintained homegrown multi-domain CMS
  • Designed & developed multiple micro sites for state neurological societies
  • Developed application to capture and display neurological disorder information provided by NINDS (National Institute of Neurological Disorders and Stroke)
  • Supervised two part-time interns

Technical Environment

  • Windows Server 2008, Apache 2.2, ColdFusion 9, SQL Server 2008
  • SVN and CVS Code Repositories
  • Mach-II 1/1.5/1.8, Reactor, ColdSpring, Fusebox Frameworks
  • jQuery, qForms, and TinyMCE JavaScript libraries

Education

The Art Institutes International Minneapolis

2007

Bachelor of Science, Interactive Media Design