Hello! I'm Michael McQuade.
I am a full-stack software engineer working with modern application development technologies such as: TypeScript, Node.js, React.js, Express, PostgreSQL, MySQL, and much more.
I'm available for freelance software engineering and web development work, if you need help with a project, please feel free to contact me.
- Onboard, recruit, and lead team of developers, regular 1 on 1s with team
- Present architecture decisions to customers, facilitate discussions with partners (AWS, Google, Microsoft).
- Actively continue designing, developing, and architecting systems.
Legacy Node.js migration
- Designed and implemented processes for CI/CD, dockerizing all services with Dockerfiles, images built and pushed to DockerHub using GitHub actions, and deployed into kubernetes (GKE standard and autopilot) using Terraform.
- Migrated more than 150 routes from legacy v0.10 Node.js to modern TypeScript.
- Utilized NGINX as reverse-proxy solution to map certain content to new frontend/backend and other content to old backend. This provided a smooth transition during code migration process.
Version 2 cloud clusters
- Actively developed and led development process for version 2 cloud clusters.
- Provided on-going support according to customer demand and developed new features as needed.
- Fully integrated terraform-based cloud deployment solution into Parallel Works platform.
Cloud Development Kit (CDK) Construct Library
- Created CDK construct library in TypeScript
- Published package through Azure Artifacts
- Library includes importable constructs for common use cases like EC2, S3, ElasticBeanstalk, Lambda, RDS, etc.
Cluster information aggregrator
- Created Python script which writes relevant system information (cpu usage, temperatures, power consumption, etc.) to networked filesystem every 3 minutes
- Created a Node.js server which monitors mounted filesystem, updating cache of cluster information. Server written in TypeScript.
- Created RESTful api using Express.js which served information directly from the Node.js cache server
- Created "point-in-time" PostgresQL database which has a copy of all information in the cache server, allowing for alternative querying
- Setup an instance of Hasura using Docker, which allowed for GraphQL access to the PostgresQL database
Visual cluster information interface
- Created React.js application which has drillable, color-coded view of entire HPC cluster
- Utilizes SWR to poll server for updated information, providing a live updating experience for users
- Secured access to the server using an Apache reverse proxy with LDAP authentication against remote company AD server.
- Created Ansible script to update certificates used for secure access to the domain controller
- Application connects using GraphQL to the backend Node.js caching server
- Entire application written in TypeScript
- Since both frontend and backend were written in Typescript, types were shared between backend and frontend using yarn workspaces
- Created extensive documentation explaining design decisions, how to access data, how to develop the application, and how to update configuration
Marketing website rewrite
- Utilized Gatsby.js to improve page load speeds from 6.2 seconds on Wordpress down to 800 ms
- Transitioned site to Netlify CDN
- Setup instance of Netlify CMS, an open source CMS which is powered by Git. This allowed managing pages with the Microsoft TFS.
- Rewrote 40 pages into React.js components and containers, fixing UI bugs along the way
UPS Label Printer
- Created internal label printer application which interfaces with a UPS label printer.
- ETL existing labels from thousands of word documents into a new MS SQL database using PowerShell.
- Bootstrapped CentOS 7 server to host Node.js/Express app to serve the React frontend
- Created Electron version which could access the MSSQL database using Windows Integrated Security (active directory SSO on Windows).