Main menu:


Email me:

gshippey at gmail dot com

    This is a Flickr badge showing public photos from Gordon Shippey. Make your own badge here.

    Site search

    Death of a Programmer

    You’d think after programming in high school, then programming in college, then programming in grad school and finally programming in industry that I would know by now whether I was meant to be a programmer.

    You would think so, but you would be wrong.

    I’ve been programming computers since I was eight years old, but I’m going to stop doing it shortly. I may do a little scripting or SQL here or there, but for the most part, I’m getting out of the business. I’m moving on to do other work. I don’t know exactly what it will be yet, but I won’t call myself a programmer.

    “What?” you say. “Why are you programming if you don’t like it? How could you get this far without talent?” Therein lies a tale. When I was a little kid, I knew from the get-go that I was in love with computers. Mistake number one was confusing a love of computers with a love of programming. But since the only computer classes I could take in school were programming classes, you can see where my confusion started.

    What about talent? How could I possibly get as far as I have without having some inbred affinity for code? Well I have some, all right, but not quite enough. From grade school to grad school, I made short work of my class work. I found little difficulty in the small, simple programming assignments assigned me. I also confused the pride of finishing assignments with enjoying the process of completing them.

    In grad school, the first signs of trouble appeared. As a research programmer, I needed to work with larger code bases. I had to deal with a greater level of complexity. For the first time, I was having real difficulty. But I waved it off. After all, it just stands to reason that bigger, more complex programs would be harder to understand and manipulate. I asked for advice on how other people dealt with the problem, but the answers I got were vague and unhelpful. This problem came up enough times that I gave it a name: the “complexity barrier.” For projects that are simpler than the complexity barrier, I do fine. But beyond a certain level, I tend to sit in front of the computer frozen, like a deer in headlights. I just don’t “get” it. For the most part, I solved my complexity problems by doing better, more comprehensible designs. Ultimately my bid for a Ph.D. was halted not by technical ineptitude, but by a thesis advisor who let me down when I needed him most.

    Dusting myself off from that debacle, I entered the commercial programming industry. For the most part I was able to work on small, well-defined problems so I didn’t have my previous trouble with complex systems. I still wasn’t enjoying the essential act of programming but I could blame that on the outright impossible schedules and the endless, inane meetings for my discontent.

    Finally I found myself at my current assignment, where my “complexity barrier” kicked in full-tilt. I simply wasn’t able to get any traction on the code and my productivity was nearly zero. My manager gave me room to run, but ultimately it was no use. I was out of my depth and I had little hope of ever getting fluent with the system, which is gigantic, intricate and written by far more talented coders than myself. Worse, I was miserable because I really wanted to do well and I just couldn’t. In the final analysis, there was no choice: I had to throw in the towel.

    So what’s the moral of this long, sad story?

    If you’re going to be good at something, you have to really like the activity of doing that thing itself. Don’t confuse it with the final product or the image of what you thought the job would be like, nor the
    material rewards, but the real, rubber-meets-the-road, nitty-gritty work itself. Furthermore, you need to have some degree of talent and facility with whatever it is you want to do. If not, the people with the real talent will leave you in the dust.

    Never substitute determination for talent and enjoyment. Determination, no matter how great, wears down over time. But if work nourishes you every day, then I believe you can keep going strong indefinitely. And if you add natural talent to the mix, your results will be fantastic.

    And that’s where I am now. I’m looking for the next thing. I don’t know what it will be, but it has to be something I’m naturally good at and something I enjoy doing.