Sunday, November 8, 2020

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

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

Published: 2020-11-08
Tags: lifeattentionproductivity

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.

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. If you do nothing else, do deadlifts. 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 minutes. I most like deadlifts because you can do them safely, at high weights, pretty much until you die. 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.

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, 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. Like I said, boring and tidy.

Make your 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 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.

Finally, use the The Eisenhower Method to categorize your 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 badly asked questions from others, which require more work to determine what is actually being asked, as opposed to figuring out what the answer should be. 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:



from Hacker News https://ift.tt/32tNfoC

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.