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.
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.
|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.
|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.|
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.
ModerateDon't use frequently but know the platform thoroughly.
ExpertAdvanced knowledge, highly capable.
NinjaAbove 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, 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.
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.
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'
Lucid Software, Inc.
Software Engineer Apr '12 - Jan '13
For more of my work history, check out my LinkedIn profile.
I'm CompTIA Security+ and Zend PHP Certified. I hold U.S. Secret Clearance.
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: