Michael Nigh

Summary

Strong front and backend web developer seeking to join a solid team.

Interested in tools that get the job done while boosting productivity.

Believe good code is easy to maintain, well tested, and easily extended.

Big on OSS - I like knowing how the tools I use work.

Skills

Docker
NodeJS
React
Redux
Sass
Java
PHP
Typescript

Experience

Senior Software Engineer - MacMillan

2019-04 to present

Senior Software Engineer 2020-07 to present

Senior Software Engineer - Contracted through TekSystems 2019-04 to 2020-07

Support production applications for the Learning Support Tools team.

LST is a small team of developers maintaining multiple production applications. As much of the team is remote good communication is a must. Pair programming is strongly encouraged.

A typical week may include bug fixes, feature work, coordination with other teams, meetings with architects, and coordinating deploys to AWS with SRE's.

Projects

Pathfinder
WebpackNodeJSDockerReact
2019-04 to present

Test student competency to generate studyplan on areas that need improvement

Learning Curve
PHPWebpackNodeJSDockerReact
2019-04 to present

Learn topics by answering questions until a target score is reached

Reading
WebpackNodeJSDockerReact
2019-04 to present

Ebook reader and note taking tool

Senior Web Developer - Home Depot

2018-02 to 2019-03

Contracted through Visionaire

Develop internal applications and support homedepot.com content creation using a variety of modern and legacy tools for front and backend.

Projects

Article Render Squad
WebpackNodeJSDocker
2018-10 to 2019-03

Work with product owners to optimize SEO and render new article content as lead front end engineer.

Analyze SEO impact of React usage with THD architects as an SPA, element replacement, and SSR.

Create automated tests to validate all new and existing content is rendered correctly.

Implement image snapshot differential testing for components at various states.

Work with multiple teams to improve testing process throughout deployments.

Develop strategies to implement NextGen THD features.

Account Creation
WebpackNodeJSReact
2018-09 to 2018-09

Rapidly created a React/Redux SPA to integrate with simple API.

Forecast Tool
WebpackNodeJSDockerReact
2018-03 to 2018-08

Architected modern React/Redux SPA of internal HR budgeting application used throughout the .com organization.

Backend built using NodeJS Express with apis written in Apollo GraphQL pulling data from PostgreSQL.

Frontends written with React/Redux in Typescript.

Deployments using the twelve-factor approach on google cloud platforms.

Homer Fund
PythonJava
2018-02 to 2018-02

Rapidly shipped updates to Python Flask app to support the Homer Fund 2018 charity.

Also created a small support service in Spring Boot to consume APIs otherwise innacessible internally through Python.

Senior Web Developer - NPS CED3 - GDIT

2015-02 to 2018-02

Senior Web Developer 2016-02 to 2018-02

Web Developer 2015-02 to 2016-01

Build and maintain CED3 web applications to enhance course development and delivery at the Naval Postgraduate School in Monterey.

Responsibilities include managing programming team, recruiting and training new hires, managing project timelines and scope, choosing tech stacks and architecture, setting long term plans and goals, and supporting and extending services.

Backends in NodeJs Express with Docker deployments using the twelve-factor app model.

Frontends with React/Redux and Webpack for bundling.

Legacy systems in PHP, Java Wicket, and Backbone.

Projects

Hurricane Decision Simulator
View public websiteGulpNodeJSDockerBackboneJava

Simulation of decisions that occur as a result of a hurricane heading towards a major city and how to handle its evacuation.

Monterey Phoenix
View public websiteGulpNodeJSDockerBackbone

Code editor for the Monterey Phoenix language with graph visualizations and automated layouts. Used to examine process flow in a variety of disciplines to clarify and find problems in the execution of asynchronous events.

Post & Assess
GulpNodeJSDockerReact

Tool for students to publish posts, be assessed by peers, and graded by an instructor.

Hides posts until each period is over, preventing students from being influenced by early posts.

Freelance Web Developer

2010-09 to 2014-10

Building highly customized personal and small businesses websites.

See projects for details.

Projects

noahsarkretreat.com
RailsWordpress
2013-06 to 2013-07

Recovered website from WayBackMachine and ported to Wordpress theme. Extended original site and added features such as responsive image galleries. Updated content and added new pages. During development used Rails with LiveReload to generate Coffeescript and SASS of WordPress theme.

drbacal.com
RailsWordpress
2013-02 to 2013-04

Constructed WordPress backed website using custom deployment tools I built earlier with Sprinkle (similar to Chef). Worked with client and SEO specialist for design and content. Used Rails with LiveReload to generate SASS and Coffeescript of WordPress theme.

teresajanela.com
RailsWordpress
2012-05 to 2012-06

Created simple Rails website, later porting to WordPress as a CMS. Evaluated numerous deployment options, including Heroku, DotCloud, and AWS - eventually deployed to AWS using EC2, S3, and CloudFront.

jamesdewulf.com
NodeJS
2011-12 to 2012-01

Rebuilt site as an SPA to be much faster and added new features. Features include jqZoom for product photos, fancybox display of press magazine articles, and videos of products. Built with web app generator I began a few months prior.

jenleearts.com
Java
2011-07 to 2011-08

Extended parveztaj.com GWT template to another site. Setup domain, hosting, and CDN.

digitalcandypr.com
Java
2011-01 to 2011-02

Expanded on GWT experience to design small business site with a very simple clean look. Features include Twitter integration and AWS hosting.

parveztaj.com
Java
2010-09 to 2011-01

Constructed art gallery website using a variety of tools, including GWT, JQuery, and Typeface. Emphasis on design, compatibility, and performance. Expanded GWT to allow exact positioning, shadows, custom fonts, and history support. Worked directly with the client to achieve the exact look and feel they needed.

Maintained and added new content coinciding with launch events for a few years; This included adding new collections, sending out newsletters, and posting to various social media. Assisted in migration to ecommerce by importing existing products into new Shopify site in 2014.

Technical Lead - Sutisoft

Rails
2012-04 to 2012-08

Began development on internal company project by creating a prototype. Project required WYSIWYG functionality using recent HTML5 and CSS3 techniques. The prototype was green lighted - and the skeleton of the project was built in Rails. Researched and implemented the skeleton, choosing between various open source libraries.

Mobile Game Dev - xtracool

Apple
2011-12 to 2012-03

Architected cross platform game engine for use with iOS and Android. Built on the Moai SDK with game and game engine written in Moonscript and Lua. Built against actively evolving SDKs. Chipmunk used for physics and collision detection.

Web Developer - Duovu Inc

JavaJavascriptPHPMYSQL
2005-01 to 2007-01

Built a Real Estate PHP/MYSQL website in a small team. Created a blueprint drawing tool using an applet combined with a DOJO front end. Utilized XML via JSON to communicate between server and client applications. Also responsible for building and maintaining LAMP servers and virtual machines used by developers.

Hobbies

Interesting projects outside of work.

Projects

resume.mnigh.com
View public git repoGulpNodeJSReact
2016-02 to 2016-04

Published resume as open source project.

Fork of previous boilerplate project, streamlined and improved from past iterations. Replaced graphs with simple React components, vastly improved skill calculations, and reogranized structure to better represent project associations.

boilerplate isomorphic typescript
View public git repoGulpNodeJSReact
2016-01 to 2016-02

Boilerplate isomorphic React Typescript project.

Experimented with various build systems such as JSPM, Webpack, and Gulp, then combined the best of each into one project. Sucessfully forked for a wide variety of projects, thanks to a type enhanced configuration file and related Gulp tasks.

yet another isomorphic blog
View public git repoGulpNodeJSReact
2015-10 to 2015-11

Created an isomorphic React blog.

Bootstrapped from past boilerplate project, creates a static isomorphic website which can be hosted on github pages at no cost.

boilerplate gulp generic
View public git repoGulpNodeJS
2015-10 to 2015-10

Boilerplate ES6 project using Gulp tasks and Babel.

resume.mnigh.com
GulpNodeJSBowerDocker
2015-07 to 2015-08

Updated, upgraded, and easier to maintain after working on various Docker and Gulp projects over the last year.

android app
NodeJSDockerJavaAndroid
2015-04 to 2015-05

Built networked application in a small team for a class. The application needed to synchronize data between clients. Credentials were validated via Google oAuth tokens and data was synced via an API server built in NodeJS express and socket.io .

resume.mnigh.com
GulpNodeJSBowerDocker
2014-11 to 2014-12

Rebuilt resume with NodeJs stack from custom Gulp tasks. Snapshots of previous projects ported into Docker containers and run on a single VPS behind an Nginx proxy.

mnigh.com
GulpNodeJSBower
2014-11 to 2014-11

Created blog to increase my online presence and demonstrate technical knowledge in an informal way. Built with NodeJs stack using custom Gulp tasks.

NodeJs Migration
GulpNodeJSBower
2014-09 to 2014-11

Shifted from Rails to Nodejs to unify stack and take advantage of better build tools. Created Gulp tasks for rapid generation of SPAs and websites. Modularized tasks using NPM so that new projects can be bootstraped based on application type. Features include ES6 transpiling, integration testing, Livereload, preprocesser support (SASS, Coffeescript, Jade), and optimized assets based on environment.

Docker migration
2014-07 to 2014-08

Applied Docker to new and current web projects. Moved away from shell and ruby scripts to Dockerfiles with simple build scripts. Over time learned and applied best practices - based on docker usage in small and big companies.

Backbone Financial App
GruntNodeJSBackboneMongoDB
2014-01 to 2014-02

Development spike to experiment with Backbone after a few books and backbonerails.com screencast. Built in NodeJs with seperate Grunt tasks for retrieving data, serving a REST API, and rendering. Did not pursue due to high licensing cost of financial data.

LXC Deployment
RailsWordpressLinux
2013-04 to 2013-09

Created LXC wrapper to handle project deployment. Vagrant like commands added to shell by custom ZSH plugin. Utilized btrfs for caching to minimize redeployment time. Supported Wordpress deployment and theme generation.

resume.mnigh.com
Rails
2012-08 to 2012-09

Created web resume using Rails. Featured custom fonts, mediaquery breakpoints, and a searchable PDF when printed from chrome.

Web App Generator
NodeJS
2011-11 to 2012-01

Created Coffeescript based single page app generator. Solved SEO by rendering first page from server and remaining pages from application. Utilized TDD and BDD to ensure SPA worked well in all browsers.

Interesting features include an AATree (heavily stress and performance tested), priority based image download queue, and a package system similar to AMD for modular code and easy mocking.

Education

San Jose State University

2004-08 to 2009-12

Bachelor of Science - Computer Science