Ever heard of hyperbolic discounting?
Given two similar rewards, humans show a preference for one that arrives sooner rather than later. Humans are said to discount the value of the later reward, by a factor that increases with the length of the delay.
Most people, if offered the choice of $1 right now, or $100 in three months, would pick the $1.
We’re wired up to think that the delay makes the $100 less valuable than the $1 simply because it takes longer to get it.
Looks kinda goofy when it’s written out. I mean, haha, who does that?
And yet, every day, all of us–myself included–are faced with decisions where we value short-term gains instead of better long-term ones.
This can be a big problem in the technology field, because it can lead to huge amounts of technical debt.
Even when we’re aware of both the $1 and the $100 solution, how often have we picked the cheaper-yes-but-dollar-right-now-yay! option?
Shoot. How often have I picked it? *shudder*
Sometimes, you can feel it in your gut that, meh, this really isn’t the best way to do this task. It’d really be better to write the code cleaner, or write targeted tests.
When the quicker, easier and dirtier option is picked, that’s hyperbolic discounting in action.
And I get that sometimes, the pressure of meeting a deadline can force us to pick wrong. That’s just hyperbolic discounting again, but it’s coming from further up the chain.
Honestly, I love tech debt. Not making it, but cleaning it up. It’s very therapeutic for me, and I can bill for it so that’s doubly good.
But I care more about code quality. Keeping quality high goes with keeping tech debt low, and keeping tech debt low goes with making good, insightful, long-term solutions.
So I want to challenge you: be aware of what your brain is doing, how you are feeling and weigh the pros and cons of the choice. Don’t just default to your normal wiring by picking the shorter term solution. It will pay huge dividends later.