The moral of Aesop’s fable, The Tortoise and the Hare isn’t a terrible
one, but I’m sick of seeing it cited as a way to justify slow developer output.
There’s nothing wrong with being a slow developer, but saying that you’re slow
because you’re writing stable code that’s entirely bug free is a fucking joke.
Bugs happen. They happen so much that entire development teams exist just to
take care of them.
Where I think Aesop got it wrong is that it’s not about being slow at all. In
fact I’d throw out “slow and steady” entirely.
The key to project success in my opinion, is being consistent and deliberate.
While consistency and “being steady” could be seen as being synonymous, I feel
that being “consistent” is significantly more descriptive and accurate when it
comes to a desirable output.
Consistency can be used to describe your commitment to putting in the work.
Improving 1% per day. Only ending your day when you feel like you’ve “put in a
good day’s work”. Being present day in and day out.
Consistency can also be used to describe one’s character. Having consistency in
your commitment to being deliberate. Consistently avoiding developer traps like
scope creep and the mirage of covering every single edge case imaginable.
Consistency for me is putting in the work every single day, even if it’s only a
small amount. Reading for 5 minutes every day is better than reading an hour
once a week. Consistency builds habits. Habits become muscle memory and
instinct.
Consistently putting in the work leads to identifying bottlenecks in your
work flow and devising shortcuts to help optimize your output.
Similar to the snowball approach to paying off debt, being consistent
leads to small improvements more frequently. Those small improvements eventually
compound and reach a tipping point that can lead to major wins and
successes.
Overnight sensations take 10 years to happen, or whatever they say.
But as mentioned, it’s not about consistency alone, you have to be deliberate
with your actions.
Being deliberate in picking which tasks to take on. Being deliberate in how you
approach implementation. Being deliberate in solving problems with the least
amount of code possible. Being deliberate in opting into best practices like
writing tests. Being deliberate about avoiding premature optimization and over
scoping simple tasks.
Even though I hate how the moral is applied, and think the word choice could be
improved upon, I still agree with the story and sentiment.
The hare was vain and had no deliberate intentions. Sleeping instead of
continuing was a lack of consistency.
The tortoise on the other hand, was deliberate in his intent to put in the work.
By staying “steady”, he was consistent in his application of effort.
None of this is to say that you need to work every single day. That’s my thing,
and it works pretty well for me. You still need to be in tune with your body and
when you feel like you’ve hit a wall, make a deliberate choice to take a break
to recharge.
Being consistent in not trying to “power through” can work wonders.