I coded tonight for the first time in years. I’ve tinkered a little on USSM stuff, hacked a little PHP, but in the last couple months I’ve been asked if I could code, and my response has been “I haven’t coded in years and haven’t written anything close to production code in seven.”
Which, if you’re curious, was when I wrote a Perl script that automated data collection after a test run of the app I worked on at AT&T Wireless. Not that complicated. Before that I used to do some modest programming in college, and once had a short-lived job where I tried to maintain a horrible, horrible Fortran program at the UW.
Brief digression: that program, when handed to me, was eight pages, uncommented, no spacing of any kind, and had grown out of a “count lines in this census data” to a fairly sophisticated tail-eating snake that would, in the moment before it consumed itself, output a whole bunch of data, like
Woman, 60 years old (data)
Husband, 40 years old
Wife, 35 years old
When I had to work on this thing I would go back to my apartment with a 12-pack of Natural Ice beer, bring that cursed code up and stare it while I shotgunned two or three beers, at which point I would be numb enough that I could start untangling the thing.
I ended up re-writing the thing in C and then quit before I could get fired. Horrible job.
Back to the story. The problem is that I’m not a particularly good programmer. I go slowly. I pay a lot of attention to design, write really detailed pseudocode, and carefully ease into where I’m going.
It’s not my strength. I’m much better at requirements, design, and particularly the research, analysis, and problem solving, which makes me a far, far better program manager (or analyst– whatever they call people like me at your company).
Plus, knowing how to program is like being able to run the VCR back in school: if you demonstrated any kind of ability to troubleshoot AV equipment, the teacher picked on you for that stuff all year. It’s like when relatives fixate on one aspect of your personality, except that instead of incresingly tiring elephant-themed gifts every Christmas you get forced to jiggle the cables in the back of the TV or re-thread the projector.
So I’ve always pled ignorance. Sure, it shows up sometimes when I can follow devs into the cubbyhole during discussions, but by and large their expertise is so vast that what little knowledge I have is so small in comparison as to be non-existant. It’s not an issue. I’m almost never considered to go troubleshoot some bug: there are always better options around, and I’m better used negotiating with a vendor or something.
But I have this idea, you see, for something fairly simple and cool I want to do, and I’ve written the design docs. So I went out and installed some things today. I felt this trepidation while I was getting everything running, and reading the docs I started to feel nervous and kinda sick.
Then I got a trivial test app to compile, and I started smiling. Now if only I had some Natural Ice.