Technical Support manager at @heroku. Part of the @madrockclimbing climbing team.

Stay On Top Of Your Technical Debt

Software engineers: Small things make a big difference.

Here are a few “small things” that can unknowingly create major problems:

  • “We can write tests for it later.”
  • “I know it looks complicated, but I don’t have time to refactor it.”
  • “The build fails sometimes, but it passes most of the time. Let’s just move on.”

Cut some corners, rush some code out the door, don’t write any tests. It’ll catch up to you sooner than you think. Cutting corners creates bugs. Those bugs? They’re going to turn up late at night or over the weekend. They’ll push out your deadlines. And now you’re rushed. So you write more bad (and probably un-tested) code on top of your already bad code. And the vicious cycle repeats itself.

A few easy ways to avoid all this technical debt:

  • Work small. Smaller tasks lead to faster iterations and increases your ability to course-correct with more frequency.
  • Work clean. Use SOLID principles in your code. Simply learning and implementing “single responsibility” has made a huge difference in the quality of my code.
  • Keep Master green. Use a CI server like Jenkins or TDDium to ensure that you’re test suite stays clean. Don’t EVER let your master branch stay broken. You’ll regret it.

Some technical debt is simply unavoidable, but it’s up to you to constantly be paying it off. If you don’t stay on top of it, it’ll overrun you. Stay fast and agile and always be refactoring.

© 2017 Jon McCartie