Thinking Out Loud: The Underrated Superpower of Software Developers
How Verbalised Thinking Boosts Productivity in Coding
One of the most impactful insights I had during my career as a software developer is the discovery of thinking out loud (TOL) and how it can help overcome that initial resistance between when we start working on a task until we feel the momentum letting us enter a state of flow.
It is my conviction that TOL is a hard skill and that this is a skill not commonly discussed within software teams. In the absence of having someone more experienced to discuss a work problem with, TOL definitely comes second place as a trainable skill with a considerable impact on our productivity.
Examples:
1. Debugging a complex issue:
Imagine you're trying to fix a bug in a large codebase. Instead of silently staring at the screen, you start thinking out loud:
"Okay, the error occurs when the user submits the form. Let's trace the data flow. The form submission triggers the handleSubmit function. What happens inside that function? It calls the API... Wait, are we properly handling errors from the API? Let me check the catch block..."
By verbalizing your thought process, you're more likely to spot inconsistencies or overlooked areas in your reasoning.
2. Preparing for a code review:
Before presenting your code to your team, you might think out loud to organize your explanation:
"I've implemented the new feature using a factory pattern. Why did I choose this? Well, it allows for easy extension of new product types without modifying existing code. What potential drawbacks might my colleagues point out? Hmm, perhaps the increased complexity for simple scenarios. How can I justify this trade-off?"
This process helps you anticipate questions and clarify your design decisions, leading to a more productive code review session.
As I see it, TOL, is not the same as externalising our thoughts. I learned as a meditation practitioner a few years ago that our brain has at least two modes of operation: automatic and deliberate. Simply regurgitating out loud the chaotic thoughts in our minds can even be counterproductive and make us lose motivation.
In my experience, forcing ourselves to think precisely and in an organised manner (which is something we can have the feel for and correct) is a more effective form of TOL when we want to attack and breakdown a complex problem in life or at work.
TOL is especially useful in the following cases:
Overcoming procrastination and having more productive time within the 8 hours of work without having to resort to working evenings and weekends
We don't yet know how to start to deconstruct a complex problem
Our colleagues are all busy and we have no one to discuss our problem with
Preparing meetings to extract more value from them in a shorter time frame
By trying to speak out loud in a precise and deliberate way, we also are able to improve more effective communication skills
There is also some literature on the so-called "Thinking-out Loud Protocol," a technique that has been used to discover how software engineers approach debugging and comprehension tasks. This means that we, developers, can use this technique as a form of introspective feedback to identify problems and discover more productive thought patterns and ways of thinking.
We can even record our TOL and do a post-analysis to find potential improvements. In theory, we could even present this self-conversation to more experienced engineers and let them find bugs in our thought process and optimize problem-solving patterns with the expertise they have developed during their extended careers.
With this superpower comes the responsibility of managing our time in moderation. This strategy has a price - the mental wear resulting from the effort expended is substantial, and it's advisable not to abuse this trick for many hours in a row, risking burnout.
But since we've already achieved the holy grail of increasing our focus in the available work time, it's also likely that we can generate the same output but with higher quality in a shorter amount of time than before.
Thank your for reading this article - enjoy the rest of your day!