One of the biggest problems with programming in general is that it requires a great deal of concentration on a personal level. Even the slightest distraction can completely throw your “code-fu” and cause a great deal of lost productivity. Throughout the time I’ve been working I have noticed a lot of disturbing trends that have taken place and many of them are causing massive amounts of productivity to be lost.
The first, and most solvable problem is giving a programmer a task, but not explaining to them what is needed for the final deliverable. Anytime you are given a task like this I would highly recommend you immediately stop and not write a single line of code until you know exactly what is required of you. If the party assigning you this project cannot fully explain what is desired than you should immediately begin questioning if this is the best use of your time. If not even the client knows what they really want then there is no real purpose in working on that project.
Secondly, if you are anything like me, than you are probably distracted by shinny things. Such as, when you hear the IM sound you probably feel the urge to respond immediately. This can be a major killer of productivity, so my advice to any programmer is to shut off anything that creates an unwarranted sense of urgency. Coworkers can e-mail you or walk over to your desk, friends/family can wait until later and will call you if it’s truly an emergency. I have found that when I don’t have Pidgin and Thunderbird open I am much more productive because I have much less to take my focus away.
Lastly, maximize all your windows! Some people refuse to run their web browsers / development environments in full screen but I’ve got to attest to their productivity gaining values. The old phrase “out of sigh, out of mind” really works here. If you are working on a peice of code, then you really should be looking only at that piece of code. When you have many visible windows open at any given time you mind will inadvertently start looking around the screen. Maximizing your windowns will save you from this because you can only look at one thing at a time.

© 2009 Jonathan Daniel (not the photographer). All Rights Reserved.