Skip to main content

Attention Is My Most Valuable Asset for Productivity as a Software Developer

Published: 2020-11-08 • Lastmod: 2020-11-22

Note: According to my analytics dashboard, this article has made the rounds. The comments have been fun to read, and while I won’t address them all, I will say this… What I hope readers take away, is to realize just how interrupted and distraction-ridden their day may be, and that it doesn’t have to be that way, that you can improve it. Given that, these methods to guard your attention have worked for me, with “me” being the key word. So, take what’s useful for you, and discard the rest. Enjoy.

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 let ideas percolate; 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. 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 most bang for your buck is to organize your outside world in such a way that it’s distraction free as possible. Once you do that, you’ll have more time to practice, and therefore more time to get better.

Make my place of work tidy. My office is a spare bedroom. There’s no tv to distract. There’s a desk, chair, laptop, laptop stand, keyboard, mouse, and mouse pad. 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.

Make my smart phone dumb. My phone has all notifications disabled, except for calls and text messages. Well, and National Hurricane Center alerts, since I live in Louisiana. Unless you’re my wife, you know that I don’t respond to text messages immediately, that’s just how it is. I disabled my social media accounts some time ago. But if you have them, turning off notifications should help curve the urge to compulsively check them.

Be an OS minimalist. Apps I use less commonly are a keypress combo away. Given this, my dock has only the apps I use on a daily basis:

  • File system explorer
  • Internet browser
  • Terminal
  • Text editor for front-end code and notes
  • IDE for back-end code
  • IDE for database
  • Visual file differ for version control
  • Email client
  • Instant message client

My desktop alternates between clean and dirty states. Files I’m currently working with live on the desktop. Then they’re filed away into sensible folders when done.

Organize my 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.

Build physical strength. The damage done by sitting 8+ hours a day is underrated. You need a way to offset this damage, especially if you plan to work in this field for decades. Opinions abound on this topic, but I personally prefer deadlifts (Obviously a full routine would be nice, but if you are currently doing nothing, and I can only pick one thing for you start doing, deadlifts are my choice). There are few movements more primal than picking a heavy object off the ground and standing up with it. You can learn correct technique in little time. I most like deadlifts because you can do them safely, at high weights, into old age. I also like the hand, back, and hip strength they give, to make it that much harder for sitting damage to have its way with you.

Finally, use the The Eisenhower Method to categorize my tasks. Imagine a grid of 4 quadrants:

  • Important and Urgent
  • Important and Not Urgent
  • Not Important and Urgent
  • Not Important and Not Urgent

Important and Urgent tasks have to be dealt with. For me, these are usually major production issues.

Important and Not Urgent tasks should absorb the bulk of your time. For me, this is the plain old development work of implementing features, fixing bugs, and making existing code more maintainable and performant. Also included are building relationships with others and planning ahead.

Not Important and Urgent tasks are nasty attention thieves. They shout out to you in immediacy, but offer little value in return. You know what these are for you. For me, these are most often lazily asked questions, where the asker did not do their due diligence, and expects a top-notch answer immediately. (I am all for helping out – I do it on the daily – but you gotta do your part). Also included are last-minute meetings, and over-talkative coworkers.

Not Important and Not Urgent tasks are usually not known to your users. Take internal documentation updates as an example. Thing is, they’re an investment in yourself, which means a more productive future “you”. So don’t forget to show them some love in your spare moments.

Further reading. If you don’t know who Cal Newport is, you’re missing out. He has a whole blog dedicated to this type of thing, and has written books such as Deep Work and Digital Minimalism. Here are some of my favorite articles by him: