Paying attention: the mental cost of development
Everyone's very busy, but the results are weak. The product is buggy and unreliable; the codebase is messy; people are frustrated. Sounds familiar? Let's talk about focus and attention.
Writing software requires long periods of uninterrupted concentration. Developers need to consider complex ideas in detail, imagine and experiment with various solutions to discover the one that works. Finding answers often requires research and learning about new concepts. All this is impossible without paying attention.
For this reason, attention is the most precious resource in a software project. Once depleted, no amount of determination, money or time will deliver the desired outcomes. Without focus, all other resources go to waste.
There is no such thing as multitasking. You can do one thing well or many things wrong in parallel.
But, attention is also a very fragile thing. Successful developers work in attention-friendly environments without external interruptions. They also learn how to manage and direct their focus on what's relevant: they are disciplined.
A significant source of distraction is often the codebase and the tooling itself. Teams need to avoid unnecessary complexities in the code and all unproductive practices while writing it. There are some recommendations you can follow.
Of course, there are other things to do in a project than writing code. But all activities must be organized in a way that encourages and supports periods of deep concentration and thinking. Focus and care always manifest in more reliable, performant, refined and more enjoyable products. Your customers will be grateful!
Building up a focus-friendly climate takes effort and care, but it's an essential requirement to achieve anything substantial.
You can find out more about the importance of concentration and focus in my Best Practices on GitBook