Derek Harmel

Derek Harmel

Web Developer in Northern Virginia

Current Skills & Toolchain

Ruby on Rails 6 yrs Ruby 1.8.x & 1.9.x, Rails 1.1.x – 3.2.x
JavaScript 9 yrs CoffeeScript used on recent projects
HTML 13 yrs Haml (4 yrs), HTML5 used on recent projects
CSS 8 yrs Sass/SCSS used on several projects, CSS3, Compass
jQuery 4 yrs Prototype.js was used previously
TDD 4 yrs Rspec, Shoulda, Capybara, Cucumber
RDBMS / SQL 9 yrs PostgreSQL, MySQL, Oracle
MongoDB 2 yrs Used on five recent projects
Linux 8 yrs Ubuntu, CentOS, Redhat for deployments; OS X for development
VIM 3 yrs Left TextMate for MacVIM, never looked back
Git, Github 4 yrs There's just no going back to Subversion

Other Technologies & Experience

Goliath, Redis, memcache, ElasticSearch, Solr, REST, node.js, Backbone.js, AWS, Heroku, Apache, Nginx, Passenger, Bash, Capistrano, ActiveMerchant, OAuth, API Integration, Bootstrap

Recent Projects

Usage Statistics -

For Pat Deegan PhD & Associates, my most signficant contribution was a system for their customers—mental health clinics—for gaining insight into how the members of their organizations are using and benefiting from the RecoveryLibrary product via collection, aggregation, and graphing various statistical data. This was a critical component of the offering as it will be used by these clinics to demonstrate its value to their funding sources. Additionally, PDA will use it internally to hone their product.

Draft Scoring -

For Impact Fantasy Sports, I was solely responsible for developing one of their most important features, the scoring of drafts. Due to the complexity and processing required, their offering is previously unattempted in the fantasy sports market. As such, considerable planning and testing was required to ensure fault tolerance, scalability, and throughput.

Product Catalog -

Rewrote CustomInk's Product Management System to be more flexible and usable. The legacy system had an inflexible schema and a very tedious interface. Numerous UX improvements were made over the old system resulting in a more intuitive and faster UI which enabled the Products Team to significantly reduce the amount of time needed to add new products. One of the more challenging aspects of this project was the requirement to maintain parity with the data in the legacy schema to allow for many integration points to be migrated piecemeal to the new API.

T-Shirt Printer Rolodex -

Previously, employees tasked with finding a viable printer to fulfill a customer's order had to manually search through an 80 page Excel workbook. This data was structured and given a CRUD interface including another UI to replace the workbook. These employees are now able to search for printers via certain attributes rather than visually scanning spreadsheets resulting in gains in efficiency and correctness. This project is a core service of the system that has allowed CustomInk to automate the majority of its orders.

Payment Routing Service -

This service was created to DRY up redundant code for financial transactions into a single system and abstract away vendor specific payment processing idiosyncrasies. My responsibilities involved integrating SecureNet by developing a new gateway for use in ActiveMerchant and adding ACH capabilities for Payflow. The system was also capable of throttling transactions to multiple gateways by setting percentage thresholds per gateway.

Order Fulfillment System -

My contributions to this project were numerous. I rewrote the system used for ordering blank products from CustomInk's many suppliers which resulted in fewer errors and increased productivity. This large project that makes heavy use of AJAX often had significant performance problems. Through profiling and utilization of techniques like multi-threading I/O operations, SQL optimization, and preemptively caching expensive requests, I was able to save several man hours per day.

Work Experience

Voodoo Lunchbox
Software Engineer April 2013 – Present

Primarily responsible for development of the Voodoo Analytics product, a front-end to Voodoo Lunchbox's analytics database.

Double Pedal LLC
Independent Software Developer & Consultant Oct 2008 – Present

Development, support, and maintenance of various Ruby on Rails applications.
Software Engineer Oct 2008 – January 2012

As a member of the Operations Technology software development team, I built and maintained software in support of the company's ability to fulfill orders. We were expected to be very autonomous, managing and developing products from start to finish using agile development principles.

KCI Technologies
Software Developer / SysAdmin Nov 2005 – Oct 2008

Built and maintained various PHP and Ruby on Rails applications. I introduced KCI to Ruby on Rails and iterative development. This was my first time using Ruby on Rails professionally. Other responsibilities included system administration for web servers, Apache, Bind/DNS, email servers, and client project websites.

FocalBase Internet Solutions
Software Developer Aug 2004 – Nov 2005

Built web applications with PHP for clients and maintained apps developed before I was hired. Often had direct contact with clients for demos and requirements clarification.

Black & Decker
Information Systems Intern Multiple internships

Wrote various web applications in Perl. Assisted with some sysadmin tasks using KornShell on AIX machines. This was my first experience with *nix and web applications.