Part of the reason I pull more than 40 hours has to do with how my brain works. See, programming is hard to do in 10 minute increments. Programming to me is like stacking blocks just so, and then when done, spraying them with glue so they stay that way. But when you have a delicate structure of blocks stacked just so, and someone comes along, interrupts your train of thought, and starts moving and adding blocks ... it all falls apart. And this happens all the time. My job is several projects which change priority daily (or disappear), plus training myself new technology, plus maintaining existing systems, plus being the sympathetic listener for coworkers with problems. As a programmer/analyst, I only program and analyze less than half the time. The other part is dealing with authority issues, like escalating things, ordering things, dealing with coworkers, following up on people who forget about me, and so on.
I reduce this two ways: first by working early in the morning, and second by working late at night when no one can bother me. This was truly illustrated last night when I worked more than a 15-hour day, from 6:00am to 9:30pm. I have done MANY of these. Out of those 15.5 hours, I spent 4 of them on system maintenance and reports, 4 in meetings, 1 waiting for some guy to bring back my computer installed with software I have needed for several months now, half an hour for lunch, and then... 6 hours of blissful programming, 5 of those 6 hours totally uninterrupted (4:30 to 9:30). In those five hours, I accomplished what usually takes a week if I had done 8-hour days (which is impossible anyway, because of meetings being scheduled past when I am supposed to leave at 3pm).
Of course, I think most meetings are useless. I know this is a common complaint, but it's amazing how little useful information gets done at some of these meetings. Many times, it's one or two people who ruin it for everyone else. Sometimes, the leader of the meeting can't get to the point quick enough. Here's my ideal meeting:
Leader: I have a problem with the widget process. It should give me A, but gives me B. Please explain.
Worker 1: I built the widget system. It would only give you B if C occurred.
Worker 2: I programmed the system. I agree, but it could also be D.
Leader: Find out if its C or D. I expect e-mail on your progress daily until the issue is fixed.
[End of meeting: 3 minutes total]
But usually the leader is upset or hungry, and folds the widget system issue with other issues, makes his or her own speculations based on fragmented knowledge. Worker 1 may be defensive, and blame it on 2, who then gets into a "it's not my fault" spiral. Hours later, the meeting has devolved into repeating issues not even remotely connected with the widget system.
I had one boss who was dragged to so many meetings, he used one of his employees with less work to be his "meeting proxy." He said, "Most of these meetings don't need me. But because I am head of International, they include me in everything. So you go as me, listen for my group's name, and if they ask you a question, tell them you'll e-mail them a statement, tell me the question, and I'll e-mail them a statement. But don't worry, most meetings won't even know you're there. If I keep going to 5-6 hours of meetings every day, I'll never get any work done."
This entry was originally posted at http://www.punkwalrus.com/blog/archives/00000048.html