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 practical and fun to write. |
Bash | Moderate | Yeah, I still write bash scripts. Makefile s 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.
Moderate
Don't use frequently but know the platform thoroughly.Expert
Advanced knowledge, highly capable.Ninja
Above average knowledge, extremely capable.
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, Angular, Ansible, Apache, Backbone.js, Bootstrap, CakePHP, Chef, Confluence API, Cordova, Cucumber, d3.js, Digital Ocean, Django, Docker, Drupal, DynamoDB, Express.js, Facebook API, Fogbugz, Git, Gitlab, Gitlab CI, 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
Work history
PatientPal
Chief Technology Officer Dec '18 -
I co-founded PatientPal, a health technology startup focused on helping our clients optimize and streamline their patient experiences, engagements, intake, estimates, and collections . I manage the engineering team and work work to prioritize our efforts to support our clients. As with all startups, I wear many hats, working as the lead software engineer, devops engineer, and whatever else the company needs that day. AS CTO I also am responsible for all hiring decisions and I like to find great people to join the team.
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 developed and maintained custom software solutions, focused on serving the US Military. 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 using OpenVPN and maintained 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: