Resumé

This is an informal resume. For a more formal one, with my actual work history and certifications I recommend you read my LinkedIn profile; for some examples of my coding skills, habits and styling preferences can be found by looking at my Github profile.

You can also check out my npm and docker profiles if so inclined.

I'm a full-stack engineer, being very proficient at both client-side (frontend) and server-side (backend) development in addition to database design and optimization, server administrator, load balancing, devops engineering, change management and automation, security, information assurance, stress testing and more. I've been in lead roles for several years, working as a software engineer while also managing people, projects, priorities and architecture.

Below you'll find an overview of the languages and libraries I know well (I only list those I can actually use) along with some highlights of my past experience.

Languages

This is a simple list of computer programming languages I have used on actual projects. While it does not include every language I know, it lists the popular ones that most people like to see. Check out my Github where you can find contributions by me using all of these listed and more.

Languages Comfort Level Note
JavaScript Ninja I love writing JavaScript, client and server side.
HTML/CSS Ninja Does Markup counts as a language?
Ruby Expert I'd debate Ruby v. Python all day. FYI, Python wins.
PHP Expert Not popular for new stuff, but still good to know.
Python Expert Python is awesome. That sums it up.
Perl Expert Perl is still extremely easy and fun to write.
Bash Moderate Yeah, I still write bash scripts. Makefiles too.
Java Moderate For native Android, but also for Play! I prefer Scala.
Go Moderate One of my favorite modern languages.
Scala Moderate Not to pick a fight, but Scala > F#.
C++ Moderate Nothing better for video game hacks.

What does Comfort Level mean?

This is a personal judgement call and means very little in truth. I like to be straight forward and open with my knowledge. I'm a software guy, I work with a lot of languages. I've worked with several other languages as well (C#, TypeScript, CoffeeScript, Dart, Erlang, Rust), though infrequently, so I've opted not to list every language I've used.

Libraries and Dev Tools

This is a list of the popular computer libraries I've worked with on projects. This does not list every library I've ever worked with, but those that I've worked with extensively, have used in a production product and know their framework, APIs or codebase well enough to reuse without Googling every aspect of.

Amazon AWS, Ansible, Apache, Backbone.js, Bootstrap, CakePHP, Chef, Confluence API, Cordova, Cucumber, d3.js, Digital Ocean, Django, Docker, Drupal, Express.js, Facebook API, Fogbugz, Git, Gitlab CI, Gitlab, Google App Engine, Google Closure, Google Cloud, Google Drive API, Google Maps API, Grunt, Gulp, HTML Canvas, Intel XDK, Jenkins, JIRA, Jive, jQuery, JWT, Less, Linux Administration, Lodash.js, Make, Mantis, MariaDB, MediaWiki, Meteor.js, MongoDB, Mongoose, MooTools, MSSQL Server, MySQL Server, Nginx, OAuth, OpenID, OpenLayers, OpenStack, Phantomjs, PhoneGap, Play Framework (Scala & Java), Postgis, PostgreSQL, Prototype.js, Rails, Rake, React.js, Redis, Redmine, Require.js, Sass, Selenium, Socket.io, Stripe, Subversion (SVN), Taiga.io, Ubuntu Cloud, Uglify.js, Underscore.js, Vagrant, Web Sockets, WordPress, Yoman Generator

My editor of choice

You can actually tell a lot about a developer based on the IDE or lack of one they use for development. When any semi-experienced programmer sees a new developer using Notepad (or Notepad++), they should cringe and immediately recommend to that person a better alternative.

I've always been a Vi fanboy. I know a very large number of commands and shortcuts, making it a very powerful tool for me. This was my go-to editor of choice for nearly everything (less compiled languages) until late 2012, when I found and immediately switched to Submlime Text 2. I've since switched to Atom in mid 2015 and haven't looked back at ST2 or ST3 since. I currently use Atom for the majority of my writing, and still go to Vi when I'm in a terminal.

For Java, I prefer Intellij IDEA; for Android I prefer Android Studio, then IntelliJ, then Eclipse last; for Scala it goes similarly.

Work history

Teikametrics

Principal Software Engineer Dec '15 - Dec '16

At Teikametrics I am the team lead and engineering manager for a large development team (10+). I work closely with the product manager, CEO and other business stakeholders for sprint planning and project scoping to maintain aligned priorities between the business and development needs. I work with project manager to run sprint retros, reviews and planning meetings. As a team lead I assist and mentor the team, run technical discussions and ensure architecture is being considered during development. As a team member I work as a software engineer to build features and close tickets. As a manager I perform performance reviews, regular one-on-ones with my team, lead recruiting efforts, perform interview for potential candidates and find great engineers to join the team.

Milcord

Technical Lead, Software Engineer Aug '14 - Mar '16

At Milcord I worked as a team lead for a small team of software engineers on R&D projects. My primary responsibilities included sprint ticket management, scrum master, information assurance testing and resolution, company systems administrator (managing all the internal servers, staging and production environments at Milcord), devops engineer and tooling, lead software engineer (working to close tickets and assist team members), quality assurance engineer (improving automated testing). I assisted with writing several technical proposals and implementation plans used to estimate cost and complexity of features and projects.

Milcord maintains and developers several software projects. All web services were hosted on Amazon AWS, where I used Chef and Docker to manage the servers and simplify change management. In addition I worked on native Android applications in Java. For managing our internal services, I setup the company's internal VPN server using OpenVPN and operated the majority of internal services using a couple hosts running several Docker containers each. The majority of web projects were in PHP, Node.js and Ruby. Client-side projects generally were done using jQuery, Backbone.js, Require.js, Underscore.js however several were made using React.js as well.

Vistaprint, Inc. (now known as Cimpress, Inc.)

Senior Software Engineer Jan '13 - Aug 14'

At Vistaprint I was a member of the Web Platform team, a team responsible for website architecture, supporting other teams and web developers, devops and tooling. On Web Platform I was the lead for all-things JavaScript, while there I implemented linting, code styling, and standards for JavaScript files globally for the company; I created a unit testing and code coverage framework, necessary to work within the large existing codebase and flexible enough to work with all the teams, that project was open sourced and is available at github.com/vistaprint/grunt-js-test; created a new aggregation process to optimization and minify (precompile) javascript for production using some homemade tools along with Require.js and UglifyJS; I created a new client error reporting tool to monitor errors happening in production in real time, which I actively monitored and triaged errors in production; I performed regular performance and improved our automated test suite to monitor and improve production health and accessibility in poor connections. While I was on the Web Platform team I also assisted other teams during larger projects, including the mobile foundation project, which was a first effort to make Vistaprint.com responsive and mobile-friendly, for that project I built new suite of responsive UI controls (most of which were released as part of SkinnyJS). I also assisted the studio team during its refactoring to support mobile devices, acting a lead developer, providing guidance and mentoring. During the release of the tools I created I also performed many Show Mes and presentations, crash courses for developers, ranging from groups of one to more than fifty, showing off the new features and benefits and explaining how to use them, providing tutorials and helpful documentation.

Lucid Software, Inc.

Software Engineer Apr '12 - Jan '13

At Lucid Software, creators of lucidchart.com and lucidpress.com, I worked primarily as a front-end software engineer, specializing in JavaScript. I was a valuable team member, adding numerous features to the Lucidchart and Lucidpress projects as part of the team during its 2-week sprints following an Agile Development process. Worked on a major overhaul to rewrite a monolithic codebase from PHP using CakePHP to a fault tolerant infrastructure written primarily in Scala using the Play framework. While at Lucid I also assisted several interns as a buddy and mentor.

Keeps going...

For more of my work history, check out my LinkedIn profile.

Certifications

I'm CompTIA Security+ and Zend PHP Certified. I hold U.S. Secret Clearance.

Contacting me

If after reading this you've decided you'd like to ask me to apply at your company, you should know I am not actively searching for new opportunities. If that does not deter you from reaching out and you still feel I might be the right fit for your company, feel free to reach out to me at:

ben@hutchins.co