The biggest block of time in my software-development career I spent working in an extraordinary job, a very special place to work, with a very special group of people, for 14 years. Throughout the dot-com boom, I stayed there, ignoring the promises of exciting work and increased salary.
But before I worked there, I tried to work at a supermarket, like my very first job.
This first job I worked as a teenage, after school, bagging groceries, then promoted to ringing up orders on the cash register, then to behind the customer-service counter.
I finally left in order to work with computers, mostly programming Lotus 1-2-3 macros for a small, local, financial-services firm.
From there, I went on to building electronic circuits at a centrifuge company, a co-op job I got in college. During class breaks, I worked full-time there; otherwise, I worked part-time after classes. And when the company’s embedded-software engineer left for greener pastures, I stepped in to fill his shoes… temporarily, until they could hire a “real” engineer. (I guess the fact that I had already had several years of real-life experience in computer programming and electrical engineering, and that I had been designing production code for them on several products, I guess those facts didn’t make me a “real” software engineer.)
So when I quit college—which is a different story—and the co-op-turned-temporary-fake-engineer job ran out, I was left without work and without direction.
I got a job at a local supermarket, behind the deli counter. I remember it feeling more natural and more pleasant than when I had previously worked at a supermarket, because i had grown a little and had experienced more and was no longer just a quiet, bumbling teenager, as I had been before.
Even so, after the initial probationary period, the deli manager told me he wasn’t sure I was working out, because some of his managers thought I was uncooperative. For example, one night, the manager asked me if I wanted to clean the slicer. I didn’t really feel like cleaning the slicer, so I answered her honestly: “No, not really.” So she gave me something else to do. Now, if she really wanted me to clean the slicer, all she would have to have said was, “Clean the slicer,” and I would have done it. But she didn’t say that. Instead, she asked me what I wanted to do. And when I responded honestly, she thought I was being insubordinate.
I realized that I had fully passed from the world of automatons, where employees are not expected to have original thoughts, to the world of professionals, where everything one does requires unique thought— And right about now, you’re thinking that I can’t possibly be describing the Dilbertesque world of software development… But that’s getting ahead of the story.
When the centrifuge company asked me to come back and do a little more work for them, temporarily, I took it. And when that conflicted with the deli job, I called and told the deli manager I couldn’t make it. He shouted at me over the phone and told me that I never thought of anybody but myself. Just like that, using those words. And his words apparently had the desired effect, because they really upset me. I called my father, who told me that I had to think about my career as more important than a deli job; and that I wasn’t even a full employee, because the deli manager had kept me “on probation”; and that was the real reason he was yelling at me, that it was his job as manager to handle situations like this, and I had caught him with his pants down.
I returned my smock to the supermarket inconspicuously, in such a way that I wouldn’t have to deal with the deli manager. I did not say goodbye. I just never came back. (And I also avoided that supermarket for several years, even to buy groceries.)
Then a colleague of mind, an intelligent budding engineer who I had met at the centrifuge company, still today one of my closest colleagues, now an excellent software engineer, one of the best I know, who has helped me in my career more than I could ever return the favor, he tipped me off to an electronics documentation job at an electronic musical instrument company, the makers of Kurzweil-brand synthesizers and keyboards. That job eventually turned into a Diagnostic Software Engineer position. I started as an on-site contractor; then they hired me full time. From then until the time they laid me off, 14 years, almost to the day.
I didn’t realize how special that place was. When I started there, i was still a headstrong, snot-nosed kid. But they allowed me to be myself, and to grow, and they paid me for it. This was a small (less than 50 people), tight-knit group of enthusiastic engineers, of various disciplines, who loved music and loved contributing and loved creating quality musical instruments.
But after the parent company was bought out, and my job (along with those of most of the remaining staff) was reorganized out of existence, I was laid off, officially on April 1, irony.
I took several more software-development jobs, first as an employee, then as an off-site consultant. But what I found was that if organizational madness exists, there’s really no way to isolate yourself from it. I started writing full-time, because it allowed me to stretch myself and to create and to enjoy my work again, despite the fact that there’s little money in it, especially for a relatively new author who hasn’t yet developed a base of enthusiastic fans.
But with the current money situation, I fear I will need to find another software-development job, even just as a contractor. And when I say “I fear,” I mean that in its most literal sense. The whole idea looms before me as a horrific monster, which I would do almost anything to escape. Because for me right now, going back to “normal” software development is like going back to that grocery-store job, working behind the deli. I have gotten used to being creative and independent, to think outside of the box, and to value accomplishment. And even if I find programming an enjoyable diversion, the simple truth is that I no longer belong in a Dilbert cube.
-TimK
P.S. It occurred to me (much later) that I mentioned this almost 3 years ago, when I talked about leaving normal. I guess it’s still true.
[…] King July 21, 2009 This blog post is intended to sabotage any chance that I’ll get a “normal” software-engineering job, because I don’t think I could ever go back to a “normal” […]
This is an excellent article. You basically say what you meant to say in “10 Things I hate about software development” but said in a more positive way. Software development in a cubical for a free spirit who has something to contribute does not fit (round peg in square hole) into the micro-managed, status quo world of the developer who waits for bugs to fix and maintains legacy systems for a go-nowhere company that doesn’t realize that some cutting edge technology IS better. Did I say that right. Anyways, EXCELLENTLY said!!!
This post and the “10 Things I Hate” post actually are two parts of the same. That is, I wrote this originally as the introduction to the other, and I intended them to be read together.
-TimK