More editing about giving up
[themediocreprogrammer.git] / chapter05.md
index 1dad607b6edc8f8140d2e50394520f8cd79c9d65..d1b8ce5a591b784dc8fde299535b2f022ffca11c 100644 (file)
@@ -4,7 +4,7 @@
 
 Programmers are always trying to find new ways to be productive. Tweaks to text editors, compilation tweaks, scripts and automation; the list goes on for how programmers want to maximize their productive time coding. We also spend time tweaking the rest of our lives with the belief that we should always be doing something related to coding. Any moment we're not coding is a moment where our projects get behind. And getting behind with our coding can lead to other problems: missed deadlines, other companies getting their program to market before us, or other instances where we miss an opportunity. We're constantly worrying that we're not doing enough to succeed.
 
-We've heard the stories of developers waking up at their computers to the strange sound of beeping because they fell asleep at the keyboard and the keyboard auto repeat can't handle any more input with their face resting on the keys. Isn't that how developers should work?
+We've heard stories of developers waking up at their computers to the strange sound of beeping because they fell asleep at the keyboard and the keyboard's auto repeat can't handle any more input with their face resting on the keys. Isn't that how developers should work?
 
 There's a tendency to think that because we work with machines that are tireless and ready for more work that we need to behave in the same way; we need to constantly utilize these resources. We try become like the machine; tireless and always ready for more work. 
 
@@ -82,14 +82,12 @@ This creates a simple delineation between our work and the rest of the world. Bu
 
 I don't have good answers if the culture you're in demands your attention at all times. The best I can offer is that a containerized approach gives you at least some periods of undisturbed concentration. But if you feel on-guard all the time because something might happen at any moment then you're going to remain less effective than if you can shut the world off for a bit. I'd also challenge you to examine if that perception is really true; are you constantly being ambushed by interruptions? Testing that theory may be in order. Keep a log (whether it's a sheet of paper, text file, spreadsheet, or database is up to you) of when you did a focus container and if that container was interrupted or not. If you find that you are getting interrupted more often than not then you need to examine what is causing the interruption and assess if it's something that you can control. There are many ways to handle and minimize workplace distractions that I won't go into here but being aware of the distractions and determining where they are coming from will be key to figuring out how to mitigate them in the future.
 
-### FIXME
+Also be aware of the self-imposed distractions you've added to your life. Do you need immediate notification that someone liked something you shared? Is the funny anecdote you just remembered important enough to warrant switching out of your current context so you can post it to your friends and colleagues? Do you really need something to pop up in your field of view to let you know that your music player changed a track? Are you willing to sacrifice your attention and flow throughout the day because a program detected a change in your environment, regardless of the importance of that change?
 
-Also be aware of the self-imposed distractions you've added to your life. Do you need immediate notifications that someone liked something you shared? Is the funny anecdote you just remembered important enough to warrant you switching out of your current context so you can post it to your friends and colleagues? Are you willing to sacrifice your attention and flow throughout the day because you received a notification that a message arrived that might need a response? Do you really need to have something pop up in your field of view to let you know that your music player changed a track?
+We add these distractions into our lives because we worry that we might miss something important. Programs also come configured with most of their notifications turned on so a user can be reminded of status of the program at all times. Perhaps it's useful but for me they are very distracting. In my career I've sat at the desks of many other folks and have cringed at the number of notifications they receive in the short period was there (usually the span of ten minutes or less). And I've seen folks interrupt their current line of thinking because a notification for a message unrelated to the current task distracted them. What happened to the original thought? They had to mentally switch back to it and remember where they left off (usually at great mental effort). 
 
-We add these distractions into our lives because we worry that we might miss something important. Programs also come configured with a bunch of ways to let their users know the status of the program at all times. In my career I've sat at many desks of other folks and have cringed at the number of notifications they receive in the short period I've sat there ( usually the span of ten minutes or less). And I've also seen folks interrupt their current line of thinking because they were distracted by a notification for a message that wasn't related to the current task. What happened to the original thought? They had to mentally switch back to it and remember where they left off. 
+I challenge you to turn off as many notifications as you can and get a taste of what your experience is like without them. That may be as simple as closing out an application when you're done with it, or may be as complex as changing the settings so an application doesn't notify you when new messages arrive. You'll need to play with this and see what works best for your needs and concentration. A good rule of thumb is "what is important enough to warrant me dropping my important work and focusing on this thing?". If you can scale your notifications back to where only the most time-critical things send you notifications you'll be better able to relax and focus into your work. You won't have to parse the notifications to determine if what you're seeing is important or not.
 
-I'd challenge you to turn off as many notifications as you can and get a taste of what your experience is like without them. That may be as simple as closing out an application when you're done with it, or may be as complex as changing the settings so an application doesn't notify you when new messages arrive. You'll need to play with this and see what works best for your needs and concentration. A good rule of thumb is "what is important enough that it would warrant me dropping my important work in order to change my focus to this thing?". If you can scale your notifications back to where only the most time-critical things send you notifications you'll be better able to relax and focus into your work.
+One of the reasons I've heard for folks keeping their notifications on is that they might receive something that requires an immediate response. We've created cultures where we feel a need to respond to messages the moment we receive them. I'd argue that most of the messages you receive during the day don't require the attention you're giving them, and certainly not the level of attention that warrants interrupting what you're doing to view and respond to them. You may be better served by scheduling several periods of the day where you do nothing but check and respond to your messages. Schedule these as infrequently as you can. Some folks recommend two or three times a day, but even setting a limit where you check your messages once an hour can make a vast improvement compared with how many times you're already checking your messages. You'll need to judge how often you check your messages based on your needs and your work culture. Also consider the person you're responding to. Does it make sense to give this person a quick, semi-thought-out response or does this message require more time to simmer in your mind before you respond? Giving yourself time to think about a your response may give you additional insights into a problem that aren't readily apparent in the moment. This could mean the difference between one well thought out response versus a deluge of half-thought-out back-and-forth brainstorming via your messaging application. Responding to everything as it's received is very stressful and requires huge amounts of attention that could be better placed on your programming work. 
 
-We've also created cultures where we feel that we need to respond to messages we've received the moment we receive them. I'd argue that most of the messages you receive during the day don't warrant the attention you're giving them, and certainly not the sort of attention that warrants stopping what you're doing in order to view and respond to them. You may be better served by batching the periods where you check your messages as infrequently as you can. Some folks recommend two or three times a day, but even limiting yourself to checking messages once an hour can make a vast improvement compared with the number of times you're already checking your messages. You'll need to judge how often you check your messages based on your needs and your work culture. Also consider the person you're responding to. Does it make sense to give this person a quick, semi-thought-out response or does this message require more time to simmer in your mind before you respond? Giving yourself time to think about a problem may give you insights into a problem that aren't readily apparent in the moment. This could mean the difference between one well thought out response and a deluge of half-thought-out brainstorming via your messaging application. Responding to everything as it's received is very stressful and requires huge amounts of attention that could be better placed on your programming work. 
-
-It may seem challenging and foreign to live without notifications and without the need to respond to everything message and notification. But if we value our attention and our focused sessions of programming enough then it becomes necessary to give ourselves as much of that as we can.
+It may seem challenging and foreign to live without notifications and without the need to respond to every message and notification. But our attention is limited. Maintaining our focus throughout the day can be challenging and stressful. If we can limit the number of distractions we receive throughout the day then we give ourselves the freedom to not have to work as hard to keep our attention attuned to our programming tasks. We get to say "not right now" to our distractions and handle them at a more appropriate time.