Derek Harmel
I practice Agile Development and believe in the Lean Startup ideals.
With 8+ years experience as a
generalist in web development, I can help you:
take your product from concept to launchdefine the scope and spec of your projectpay off the technical debt slowing your progressrescue an outsourced project gone badCurrent 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
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 SubversionOther Technologies & Experience
Goliath,
Redis,
memcache,
ElasticSearch,
Solr,
REST,
node.js,
Backbone.js,
AWS,
Heroku,
Apache,
Nginx,
Passenger,
Bash,
Capistrano,
ActiveMerchant,
OAuth,
API Integration
Recent Projects
Usage Statistics - RecoveryLibrary.com
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.
Rails 3.2
Draft Scoring - RotoDraft.com
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 - CustomInk.com
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.
Rails 3.1
T-Shirt Printer Rolodex - CustomInk.com
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.
Rails 3.1
Payment Routing Service - CustomInk.com
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.
Rails 2.3
Order Fulfillment System - CustomInk.com
My contributions to this project were numerous. I rewrote the system used
for ordering blank products from CustomInk's numerous 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.
Rails 2.3
Work ExperienceDouble Pedal LLC
Independent Software Developer & Consultant
Oct 2008 – Present
Development, support, and maintenance of various Ruby on Rails
applications.
CustomInk.com
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.