Attention Is My Most Valuable Asset for Productivity as a Software Developer
Like a tightly written function, I prefer to exit early if no work should be done. So, if you disagree with these definitions and assumptions, now’s a good time to stop reading.
- Sustainable productivity: The maximum rate of quality work output, without loss to the wellbeing of the developer
- Quality work: Software that meets requirements, is valuable to users, is maintainable, and is as bug free as possible
- Attention: The limited mental capacity to focus on a task
- Sustainable productivity is desired
- Attention is essential to sustainable productivity
My high-level workflow looks something like this: identify the problem to solve; think on the problem and find ideas; research, discuss, and experiment with these ideas; implement and test the solution; deliver and maintain the solution.
This cycle could repeat many times in a day and/or I could spend days stuck on a single cycle step. Every step in this cycle requires attention. The more attention I can devote, the more cycles I can complete, and the more productive I am.
How long you can focus on a task varies by person. Some people are very good at it out of the box, some people, not so much. Regardless of the hand you were dealt, I believe that focus (the act of devoting your attention) is a skill, and like any skill, can be improved with practice.
So, how can you increase your attention reserves? The simplest manner is to organize your outside world in such a way that it’s as much distraction-free as possible. Once you do that, you’ll have more time to practice, and therefore more time to get better.
Make your place of work boring and tidy. My office is a spare bedroom. The walls are blank. There’s no tv. There’s a desk, chair, laptop, keyboard, mouse. There’s a window, which lets enough light in so that I don’t feel like I’m missing a beautiful day, but not too much light to cause screen glare. If I need to work with paper, it’s immediately filed somewhere when done. Like I said, boring and tidy.
Make your smart-phone dumb. My phone has all notifications disabled, except for calls and text messages. Unless you’re my girl, you should know that I don’t respond to text messages immediately, that’s just how it is. If you have social media accounts, turn off notifications should help curve the urge to compulsively check them.
Be an OS minimalist. My dock has only the apps I use on a daily basis:
- File system explorer
- Internet browser
- Terminal
- Text editor for basic code and notes
- IDE
- Visual file differ for version control
- Email client
- Instant message client
Organize your browser bookmarks. When I read something useful that I may need to reference later, I file it under a general archive folder. Then more specific items get their own folders. Frequently accessed links are visible on my bookmarks bar under their own folder.
Minimize meetings. Look, I know some things make sense to discuss face to face, or voice to voice. But if they don’t, then you don’t need a meeting. An email or instant message will suffice.