Introduction

I've been crafting amazing experiences on the web for the last 13+ years. I speak fluent Javascript, Node JS, PHP, Go, Docker, AWS, NoSQL, MySQL and am conversant with many other languages (Ruby on Rails, Python, Swift, R).

I love challenges that force me to grow and learn new things. I have yet to meet a challenge I can't overcome with the right combination of intuition, research and sheer brute force.

Skills

Javascript

I've been writing Javascript for the past ten years and as of late it has become my go-to language. Whether it's building out a React Single Page Application, squeezing performance out of a node backend server, or writing an extension or module for that random Javscript framework over there, I love it all.

Frameworks and Tools: React, Redux, Backbone, jQuery, Express, Rivets, ES6+, Webpack, Babel.

APIs

One of my absolute favorite things to do on the web is to work with APIs. I don't care if it's creating or consuming them, I just love the structured approach to slinging data across the web. I've consumed s to do just about anything and built a wide variety of APIs myself.

Keywords: RESTful, HATEOAS, GraphQL.

DevOps

Beautiful working front ends are nothing without the right hardware to support it. I've been wrangling servers, debugging gnarly server problems at all hours of the days for the last decade. Once our server fleet got big enough, I switched to managing the fleet automatically through a variety of configuration tools. Now I can sit back when a production server goes down and watch as my system takes care of the problem servers automatically with no down time for the end users.

Software and Tools: Ubuntu, CentOS, Bash, Apache, NGINX, AWS, GCloud, Docker, Puppet.

PHP

PHP was my first love. While flashier tools have come out, I still find myself using PHP for a variety of use cases to empower the various applications and CMSs I manage. Wether it's managing Content Managment Systems, small and large, building out modules and extensions, firing up a microservice or developing full fledged apps, I've handled whatever challenge has come my way with this trusty tool.

Frameworks and Tools: Laravel, CodeIgniter, Wordpress, Craft CMS, Zend Framework, Slim.

Databases

Databases are everywhere, and no two are the same. While I got started normalizing MySQL databases, I've since branched out into all variations of databases, from Microsoft SQL to just about every variation of NoSQL. Whether it's optimizing that misbehaving query or setting things up right so that late night optimization session isn't necessary, I'm not afraid of what challenge a databse will throw at me next.

Front End Development

Taking mockups from clients and designers is what I have done since the very first day I got into web development. The web has come a long way since 2004 and I've been able to add quite a few tools to my toolbelt in that time. My favorite advancement by far is responsive design, I just love taking a design and seeing it come to life in a browser.

Frameworks and Tools: SASS, Less, Bootstrap, BEM, SMACSS, Neat.

Go

While it took me a little while to wrap my head around Go, I've come to love it. Now I'm constantly looking for the next excuse to use it. I've built some command line applications and REST APIs powered by Go and am ready to use it for whatever challenge comes up next.

Machine Learning

It's hard to go anywhere these days without hearing about Machine Learning, especially in programming circles. This is why I am currently enrolled in a Stanford class on Machine Learning and building out applications on the side using dozens of data points to try and predict the future.

Open Source Libraries

I have benefited so much from the open source community and love to give back when I can. I contribute to a couple open source libraries:

Horseman

A collection of components to help facilitate connecting React Single Page Applications with Headless CMSs.

Zealot Deploy

Tooling built around AWS's ECS service that allows quickly spinning up an entire container infrastructure for staging and production that will integrate with any build tool. It allows for dynamic subdomain branches with unlimted staging branches, and can provide self-healing and auto-scaling functionality.

Resume

I try to keep my resume up to date. Here's the most recent version of my resume.