Stay in Bed

Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code.
Christopher Thompson

It happens all the time: you’ve been wrestling with a problem and you’re nearing a solution. One commit becomes two, two commits become four, four commits become six. Now you’re deep in a hacky work-around. Refactor or push?

You have arrived at the base of “Mt. Release,” there is a fork in the road.

One road is a paved, but sharp, incline a quick way to the summit. The other is an overgrown series of switchbacks sprinkled with refactors and code deletions. Most engineers will take the quickest path to the peak of Mt. Release, while a few will elect the switchbacks.

In certain cases either path is the “best” route. However, those engineers who select the sharp incline will usually be disappointed when they summit Mt. Relase and catch a glimpse of the next obstacle: “Mt. Support.” It is three times higher and four times as steep. Sprinting up the incline has sapped their energy and they will have to take a long break to rest and repair the damage to their bodies (read: codebase).

Alternatively, the engineers who took their time and diligently hiked the slower, more-frustrating switchbacks will reach the summit with warm muscles ready for the real exercise.

When you write code, remember that shortcuts frequently cause bugs - and decide whether they should be fixed now or supported after release.