Skip to main content

Delayed Gratification

Slow yourself down, that’s the only way to speed up.

Abraham Lincoln famously said something like “Give me six hours to chop down a tree and I will spend the first four sharpening the axe”. This is a classic example of how delayed gratification works. A considerable amount of up-front effort is expended on work that does not directly contribute to the end goal, yet, paradoxically, it seems, as a result the end goal is reached faster or with less effort.

When learning to type, many people learn using their two index fingers at first. They get quite good at it. And that puts them into a rather difficult situation. They know that typing with ten fingers, after the initial learning curve, is much faster than the maximum speed attainable with two fingers. Yet in the first few days of learning typing with ten fingers, the speed is abysmal. One needs strong willpower to not fall back to two fingers, and persevere until the effort starts paying dividends. It’s so easy to fall into the “but I need to type this fast now” trap [1].

There’s seemingly never a good time to take a step back and slow down. There’s always something that needs doing, presumably at the maximum speed you can currently manage. Fall into this line of thinking, and you’re sealing away all your future potential. It will be next to impossible to grow if you are not able to make time for learning as you go, and making time means slowing down. But it’s a special kind of slowing down, in that the consequence of it is eventual speedup, categorically beyond any brute-force speedup that can be achieved by just working harder.

So embrace delayed gratification. Take time to do things right, and let the rightness sink into you, so that it simply becomes the default way of doing things. Do not differentiate between “throwaway code” and “production quality code”. It’s all just code, and if you learn to always write it with top quality, you’ll be able to do so fast.

Next: Mental Modelling ⇒

[1] Incidentally, the same is true for a number of related human-computer interactions. Multi-line editing, which most modern text editors and IDEs support is one. Learn it, it’ll make you a better programmer. Same for not touching the mouse to navigate code and switch between files in your editor — it will be slow at first, but much faster in the long term. You really should learn to type.

Comments