I learned something about myself: programming is like mainlining heroin. Okay, I've never actually mainlined heroin, but I have seen the movie "Trainspotting," which is a sad but excellent portrayal of heroin addiction (in my very amateur opinion). I just got into a small programming task, and every day for the last 2 weeks I would blow off other work in order to get back to debugging. I had to find this error and make this work, and nothing was going to stop me. Okay, perhaps it’s not quite as bad as heroin, as I did remember to prepare and give a presentation to the summer undergrad students last week. But it is a short-term addiction in that I felt physically drawn to the code and the output files, studying them to find the clue that would solve my puzzle. I am glad the task was manageably small, so that closure could be reached without too much time consumed.
You see, I have not had a good chance to make modifications to my main computer code, myself, in a few years. My students (grad and undergrad) have been working on it, doing the things I used to do myself. Helping them learn how to make these changes usually takes more time than if I just did it myself, but that is no longer my job. I am supposed to educate others, and so hiring these people and spending time with them, to slowly do what I could do faster, is what I do.
Except this month. I laid out a long list of things to do this summer, and programming a new feature into the code wasn’t on the list. As I was cleaning off my desk recently, I came across a printout of an email from a coworker here. It was a mid-cycle review of one of his larger grants, on which I have a very small role. Within the review was a recommendation for a specific code modification, and it even suggested the reference for easily making this change. I had printed it out thinking that I (well, actually, one of my students) should incorporate this change, because it is a change directed at my part of the big project. I sat there staring at this sheet of paper and finally I decided: I would do it. Myself. Right now. Nothing else was that urgent that I couldn’t push it off for a few days, which is a how long I figured this would take, even with the times two factor on my estimate.
It is now 2 weeks later, and I am done. Success! This programming task I undertook so completely absorbed my attention that I didn't do much else and ignored many things until I reached the end. I feel like 2 weeks of my life have disappeared, and all of those things I was supposed to be doing are still waiting for me to do, only now I have 2 weeks less to work on them. I can't afford to do that very often, or I will get into serious trouble.
But I succeeded at a programming task. I’m pretty pumped up right now. I need another hit. No, I can’t go there! I have proposal deadlines approaching!
Ode to Bureaucracy
3 years ago