5 Ways To (Politely) Stop Interruptions
How productive are programmers? That depends. How many interruptions does that person receive in an hour?
Every coder talks about their "code frenzy," "coding stream of consciousness," "plugging in, " or "jacked in." That phase of coding is something all developers, coders, and programmers strive for. The nirvana of creativity and ingenuity.
When a coder writes software, they understand the requirements; they know what needs to be done. When that happens, they start to formulate a plan of attack and know how to solve the problem by immediately writing code.
The funny thing about this post is that it was post in my "post bank" unwritten until I heard the .NET Rocks Podcast Episode 1001. Definitely listen to it. After listening to it myself, it validated this post. Not only do programmers experience this, but as the guys said, "it's a common state for athletes, musicians, writers, and more."
Productivity Sessions
So, how long does it take to actually be productive?
4+ hours.
Yes, 4+ hours.
This is how long it takes for a programmer to have a productive coding session. This is usually how a programming session occurs:
- 15-30 minutes
The amount of time to get acclimated with the code from the last time they looked at it and formulate a thought process of how to achieve the result in code. - 1 to 2 1/2+ hours
After realizing what needs to be done in code, this 1-2.5 hour time period is the “groove” that programmers look for when writing spurts of code. Consider this the process of a first draft (concept) with a mixture of refactoring. - 15-30 minutes
After the “coding frenzy” dies down, this time is spent buttoning up the code, checking code into a version control system, refactoring, testing, etc.
The funny thing about this coding ritual is that when a person comes into the room and interrupts them or asks a question, the coder is pulled away from the mental image they have while were writing code and sent back to step 1.
After.
Every.
Interruption.
As mentioned above, let's say you start to write a novel. The novel has a good number of characters who have different personalities, etc, etc. While right in the middle of your novel, you receive a phone call. After the phone call, you get a knock at the door.
You can see where I'm going with this.
Recently, Jason Heeris posted an image on his site which I think hits the nail on the head and is absolutely brilliant in explaining what happens when a programmer is interrupted.
So how do you stop the interruptions? Here are 5 ways to politely stop interruptions:
- Invest in a set of headphones (Maybe Beats Solo 2.0 by BeatsByDre?
)
I wear earbuds while programming and it's interesting when someone comes up to me and asks a question. Some people wave their hands to get my attention and I oblige them if it's extremely important. But 95% of the time, there are two things I focus on: music and code. - Make sure your IM, Email, and other external distractions are out of your reach and disabled
Turn off your instant messaging (IM), disable your email notifications, and turn down (or off) your cell phone...or even better, place it where you can't reach it. - Find a nice quiet place
I understand that work can be noisy or a grand central station. Take a breather and head to a coffee shop or library. You'll find that a number of people are there as well who are also trying to focus/study. - [Put a] Sign Up!
If you work from home, a great technique is to close your office door, put up a picture of a stop light with the red light showing, and let family members that you are currently "in the zone" and will not be taking any questions for a period of time. - Use the Pomodoro technique
I haven't used this technique yet, but I know a couple people who are quite fond of it. The concept is that you set a timer for 25 minutes and then you take a break for 5 minutes. After the 5 minutes, you start back into a 25 minute session and then take another 5 minute break. You continue this exercise until you are finished with your task or at a good stopping point.
If people understand that you are in the middle of something, see that you have a timer set, and are not to be disturbed for another, say 15 minutes, they'll come back when your timer goes off to ask questions (mostly, what is that technique with the timer called?) :-)
How do you stop interruptions? Did I miss something? Post in the comments below.