Programmer Buffet
As I struggle today to find my center at the office, I notice that my mind is constantly in a state of frenzy. I will explain, since my situation is not unique, and I believe most (if not all) software programmers suffer from this problem. My boss has given me 3 major tasks this week which are almost completely different, and all must be completed in a short timespan. I know no one is going to cry for me, or send me cookies, but I always consider how a programmer should work, and what really helps a programmer be productive. One of my favorite authors, Joel Spolsky has spent plenty of time discussing the importance of working conditions for Programmers. Even though I think that this is a must read for any company that thrives on it’s developers, I will leave that discussion aside for now. Currently, I can’t even focus on writing this menial blog as I notice our CEO perched on some sort of furniture as the entire office partakes in some loud furniture moving orgy.
Granted, it is Friday afternoon, and normally I would be participating, and enjoying myself, but I have gotten distracted even from my original intent. Should programmers have to juggle tasks? It seems that when I sit to program, I fill my head with as much information about the project as possible. This includes variable information, project information, objects, functions, error cases and a whole bucket of other crap. When I have 3 pending projects my mind gets cluttered. It isn’t bad enough that I have coworker, email, telephone, and supervisor distractions, I sabotage my own project by letting other tasks seep in causing mental tie-dye. I considered today whether I would work more consistently if I had only one task to concentrate on. I even considered (probably to my own demise) suggesting my boss only assign me one task at a time.
The more I consider this, the more I believe this would be an efficient way to manage programmers. Give one task and one task only. If there is anything I know about programmers, is that we have a one track mind. Programmers are not paid to juggle priorities, or to take calls from customers or answer questions from co-workers. Programmers are paid to sit, focus, and program. Maybe I should cowboy up and tell my boss my new idea. I don’t think that is going to happen. Not because I fear my boss, but simply because I fear it will make me useless. Despite my desire to be the best programmer I can, I must constantly take note of how my supervisors, co-workers and clients act. For now I will probably just ignore all but one of the tasks I have, and possibly in the future, consider serving my employees one task at a time.
Postscript: I want to work here for Joel.