There is much to be said for the programmer that can zone themselves out from all the noise in the office. I used to work with such a programmer. She would sit and code with her headphones on (not uncommon for most programmers), but what made Taryn unique was that she was very good at programming. She had her ‘thing’ down to a T, and would pump out excellent code in copious amounts of C# or Visual Basic on a daily basis.
Destroying Programmer Productivity – A Definitive Guide
So, what destroys productivity other than the ultimate productivity leeches which are Facebook, Twitter and the like? Ok, I will admit that I do use Twitter, but I believe that there is a separation between Twitter and Facebook.
Facebook is more of a ‘non-professional’ platform for me. I have a page, and use that to share technology updates. For more personal, brain numbing, Internet browsing type regurgitation I use Facebook. It always amazes me how some people can hang their dirty laundry out on Facebook for all to see. Nevertheless, I digress (Talk about Facebook destroying programmer productivity).
For me, a BIG productivity stumble block has always been the following: If I am working on a project, I have to start working on that every morning first thing in order to get my brain in gear before I do anything else. If I don’t, I can kiss my productivity for that day goodbye. Ok, so this is more of a proverbial bullet to the productivity head rather than a stumbling block. The important thing is that this is something I have identified in myself. I also know how to counteract it. Start with a work sprint first thing in the morning, ignoring everything else (emails, Skype, phone calls) while I focus on my day’s task.
What you need to do is identify where your productivity pitfalls are and make a plan on how to overcome these. Scott Hanselman mentions in his blog post that he schedules a 1 hour meeting with himself each week to set out what he is doing, where he is going and what he needs to focus on. This is perhaps a good habit to entertain.
George Stocker wrote an excellent post (link below) and I want to highlight a portion of his article here verbatim:
Ultimately, each of us controls what makes us unproductive. I suck at peaceful confrontation. I either come of too strongly, or I sit there and let the other person walk all over me. I’m really not good at it at all. As such, I don’t have any good advice for handling the external forces that contribute to not being productive, but I do know this: Whatever I can control, I should control. That means:
- Turning off notifications on my iPhone (this has the added benefit of increased battery life)
- Giving myself a reward for 3 hours of continuous coding (usually in the form of “internet time” like checking Hacker News or twitter)
- Working from home when I really, really, need to get something done
- Investing in a good-for-the-price pair of noise canceling headphones
- Scheduling ‘no meeting’ times on my calendar. These are times shown as busy to everyone else. It’s my work time.
- Not getting into programmer arguments around the office; people have strong opinions, and the programmers who have arguments love to argue. If there’s an actual business problem that needs to be solved, let’s grab a conference room and come up with the advantages and disadvantages of each approach. Let’s get some data. Let’s not just argue.
- Position my desk in such a way that passersby aren’t distracting.
- Taking a first pass at the problem, and *then* asking another developer to walk me through the problem so that I can get a better understanding of what to do. This accomplishes two things: First, it allows me to get the ‘lay of the land’ so that I’ll at least have a basic understanding of the forces at work. Second, it allows me to ask more intelligent questions when I ask for help
With everything out there, what makes you more or less productive? What are your pitfalls when it comes to being productive? What are the things that are destroying programmer productivity in your office? You can vent in the comments below.