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.