Feeling Buggy

Feeling Buggy

Share this post

Feeling Buggy
Feeling Buggy
Thinking Out Loud: The Underrated Superpower of Software Developers
Copy link
Facebook
Email
Notes
More
User's avatar
Discover more from Feeling Buggy
Uncover the hidden psychology of software development. Explore burnout, mental models, and the emotional rollercoaster of coding. Get actionable tips for a healthier, happier tech career.
Already have an account? Sign in

Thinking Out Loud: The Underrated Superpower of Software Developers

How Verbalised Thinking Boosts Productivity in Coding

Alexandre Gomes's avatar
Alexandre Gomes
Aug 08, 2024

Share this post

Feeling Buggy
Feeling Buggy
Thinking Out Loud: The Underrated Superpower of Software Developers
Copy link
Facebook
Email
Notes
More
Share
previewer

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!


Subscribe to Feeling Buggy

By Alexandre Gomes · Launched a year ago
Uncover the hidden psychology of software development. Explore burnout, mental models, and the emotional rollercoaster of coding. Get actionable tips for a healthier, happier tech career.

Share this post

Feeling Buggy
Feeling Buggy
Thinking Out Loud: The Underrated Superpower of Software Developers
Copy link
Facebook
Email
Notes
More
Share

Discussion about this post

User's avatar
A Philosophy of Software Design": A Must-Read for Mastering Complexity and Reducing Technical Debt
3 Key Takeaways for Building Cleaner, More Maintainable Codebases
May 31, 2024 â€¢ 
Alexandre Gomes
4

Share this post

Feeling Buggy
Feeling Buggy
A Philosophy of Software Design": A Must-Read for Mastering Complexity and Reducing Technical Debt
Copy link
Facebook
Email
Notes
More
2
Predicting Weight Loss with Machine Learning
How I used a DNN model to track and project my weight loss progress on a ketogenic diet.
Oct 19, 2024 â€¢ 
Alexandre Gomes
6

Share this post

Feeling Buggy
Feeling Buggy
Predicting Weight Loss with Machine Learning
Copy link
Facebook
Email
Notes
More
2
Diving into Domain-Specific Languages: A Practical Guide for Developers
Unlock the potential of DSLs to simplify complex tasks, improve communication, and create more efficient development workflows
Jun 3, 2024 â€¢ 
Alexandre Gomes

Share this post

Feeling Buggy
Feeling Buggy
Diving into Domain-Specific Languages: A Practical Guide for Developers
Copy link
Facebook
Email
Notes
More
1

Ready for more?

© 2025 Alexandre Gomes
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More

Create your profile

User's avatar

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.