Skip to main content

grayson hicks

Shims, Jigs and Other Woodworking Concepts to Conquer Technical Debt

March 29, 2016

Yesterday I read the article, Shims, Jigs and Other Woodworking Concepts to Conquer Technical Debt, and it gave great insight into the decisions around technical debt. Basically, the article discusses the thought processes necessary for a team or single engineer to weigh its use of bad code. The subject, Kimber Lockhart, argues that bad code isn’t as bad if you are using it for a purpose, as well as make sure everyone else knows it’s bad code, so it doesn’t spread.

1  zan3VuhgoqI5W0lmCPMUCQ

More importantly, she preaches the importance of teams planning out their use of so-called technical debt, before the coding actually begins. This allows for conversations about using bad code to begin before it is too late.

I thought the article was very useful for me. I hadn’t heard the term technical debt before, but, having been in finance for 5 years, I understand the concept of leveraging debt, and not necessarily seeing all debt as inherently evil.

During the Iron Yard, most of our projects were very fast paced, most planning ahead ended up looking like some chicken scratch in a notepad. That being said, on a handful of projects I made a point to really make a road map for myself and I do believe each of those projects came out better because of it. Going in to our final project, I reviewed old code for possible solutions of noted tasks in my final project.

Almost forgot, this article, despite using the term technical debt and talking about leverage, was not really framed with a financial analogy. The author highlighted a woodworking analogy of shims and jigs. I am no carpenter, but my grandfathers for three generations were, so I know a thing or two.

Anyone that has lived in an old house with a creaky floorboard knows the value of a shim. For only a few cents, the creak goes away, and without looking under the floor, you would never know. Sounds like a lot of quick code fixes to me.

As for jigs, I once was working on an old door, and I looked up the cost for a doorknob jig. Putting on a doorknob just right can be difficult and costly if you mess it up, but I remember the doorknob jig having a little sticker shock. I can promise you, I bought that jig, and probably saved myself a lot of headaches down the road. It was a guide that made a tricky, important cut far more consistent and far less risky.

These analogies will stick with me, and guide me as I take on or discuss technical debt with projects down the road.