Get in touch to talk startups and web apps!

Best bet is to email me or ping me on Linkedin.

Posts tagged: refactoring

Paying Down Technical Debt Includes Major Platform Upgrades

Harvest is on Rails 3! This is exciting news from the Harvest technical team. I’ll detail how the upgrade process went, but first a little history. The initial commit to Harvest was made on November 23rd, 2005 – five years ago. Back then, we ran Rails 0.14.1 and were still discussing how time should be entered into the Harvest. That’s five years of Rails releases since we started, and each upgrade was a painful but worthwhile experience.

I cannot stress that last conviction enough. Besides the obvious technical improvements an upgrade brings, there is also a morale boost from using the very best tools. This comes at a cost: Upgrading a key dependency is challenging for an app of Harvest’s size.

Name Lines
Controllers 12K
Models 25K
Views 28K
Helpers 7K
Libraries 3K
Functional tests 18K
Unit tests 20K
Selenium tests 2K
Our Javascript 10K

Harvest also has 32 plugins, 82 gem dependencies, our widgets, mobile apps, and Co-op integration. These are all potential breaking points during an upgrade.

Good for the people at Harvest for keeping up with the latest version of Rails (and friends)! Having been part of upgrade projects myself, I know how difficult and nerve racking it can be to upgrade to new platform versions.

I love how Dee points out the morale boost that comes with knowing you are developing with the latest and greatest.

A short bit on me…

First and foremost, I am a husband to the most incredible woman alive, a father of four amazing children and in general, I love being alive.

After that, I am a passionate Ruby on Rails developer, a {biking|climbing|hiking|swimming} enthusiast, a paleo chef (ahem…in my own kitchen), an avid reader, and a huge fan of tech startups.

My current role is software engineering manager at OveractDev Technology Partners in St. George, UT. We build custom web applications with pride and craftsmanship.

On Approaches and Manifestos

A list of several approaches and manifestos that I try to practice. Know of another one that I would be interested in? Send me a link!

Git Workflow and this one, too.

Getting Things Done

It’s All in { Jira | Tracker | Rally | etc }…Anywhere but Email!

five.sentenc.es

Agile Manifesto

Software Craftsmanship Manifesto

It’s the possibility of having a dream come true that makes life interesting. — Paulo Coelho, The Alchemist