A Programming Life

To say that programming saved my life would be overly dramatic. Given that I started programming at an age where most of us are prone to drama based on the ebbs and flows of hormones, a dramatic reading of my first forays into programming would be forgivable. But, while programming didn’t save my life, it did set me on my path at an early age.

As an adult and a parent, I have watched as society heaps ever more pressure on children to know what they want to do with their lives at ever earlier ages. Tests in middle school are now high-stakes, with a child’s ability to get into one of an ever-shrinking list of “acceptable” colleges being dependent on nearly flawless performance from an age when college seems like it is a century away.

This pressure mainly comes from adults my age who will almost universally admit that they had no idea what they wanted to do when they were in high school. Many also admit to changing majors in college a couple of times. They will tell how their employers don’t really care which school a candidate comes from and that they never really follow up on degrees and transcripts. Yet, I sit among them, listening to this as someone who knew from a very early age what I wanted to do and then set out to do it.

I wanted to be a programmer.

“Programmer” is my label, my identity. I have been a C-level executive for several years now and I was a partner in my prior company for 15 years. Yet, if I am making conversation at a conference or on travel, I still tell people that I am a programmer. When they use euphemisms like “software developer” or “software engineer” or “application developer,” I still correct them and say “programmer.” It’s been my cloak, my shield, and my armor for so long that no one is allowed to take it from me.

I grew up in a house where the breadwinner was a master mechanic who could fix literally anything. If it rolled, floated, or flew, he could fix it and made a solid middle-class living doing that in the military and later for the government. He could hear a car driving by and know from the sound it made what mechanical problem it was having. He was undaunted about pulling apart an appliance to get it to work. He kept jet planes flying. On weekends, there was always a project car to work on.

By contrast, I was not nearly as apt at mechanical things and he was an impatient teacher. To this day, my ability to perform mechanical repairs is fairly basic. This was a source of self-consciousness to my developing psyche – more so than I admitted to myself at the time and more so than I am typically willing to discuss now.

Then my mom walked through the door with a Commodore 64 that co-workers told her to get for me, because programming was the future. That wasn’t merely conjecture as she worked with engineers and cryptologists who clearly saw what was coming. So I hooked it up to a TV, plugged it in, turned it on, stared for a few seconds at a blinking cursor and thought “now what?”

Pre-internet and living a long-distance call away from any bulletin board, I had the owner’s manual to start with. Then I went to the library to check out books on BASIC. I started writing simple programs, which led to more complex programs. For the first year, we didn’t have a disc drive, so I rewrote all of my code from memory every time. I was hooked.

I was hooked because I realized I could make that computer do anything I wanted. I could make it sing (literally) and dance (figuratively). But the best part for me was that my parents could look and see that I knew what I was doing and they didn’t understand it in the least. Programming was completely mine and mine alone – devoid of expectation or judgement.

I went on to learn even more programming languages in high school and college. My first job was not a programming job but I found a way to turn it into one. And I began to understand my dad. Much like he could diagnose vehicles by sound, I found myself compulsively deconstructing and debugging software in my head. Everything from the glitchy point-of-sale system on a gas pump to unwinding the database logic that led me to receive a certain piece of junk mail. I couldn’t turn it off. It was almost distracting.

It made me impatient.

The thing about refuges is that you start to run to them out of habit. It’s far easier than dealing with what’s in front of you most of the time. In my case, computers are fairly compliant. They generally do what you tell them to do and not much else. They don’t complain and they generally don’t need much attention from you. I imagine cars are very similar in that regard.

At one point, I needed the refuge. Tragedy had struck our young family and, after taking needed time away, I got back to work. What followed was 18 months of the best programming of my life. My symphony of code that got two other companies fired by our mutual customer because they couldn’t keep up with what I was doing. When it was done, I wasn’t fully healed, but had built up a lot of scar tissue. Again, my friend programming came through for me, but it wasn’t the same.

When programming pivoted from being fully a form of self-expression to also being a little bit of self-isolation, I knew, with some prompting, that it was time to redefine my relationship with it. It had become the old friend I wanted to stay in touch with but didn’t want to hang out with every day. It’s hard to explain the process and I’ll probably need to unroll it over time in order to do so, but it started with shedding a lot of other security blankets with which I had covered myself – selling the house I grew up in, leaving the company in which I was a partner, leaving the segment of the tech industry that I knew so well and moving into another. Replacing those with newer outlets such as exercise and continuing my education have helped me achieve a more healthy relationship with programming. In so doing, it’s created room for another old friend – writing – to pay a visit once in a while. Also, not having my head full of binary logic all the time has helped me get back in touch with nuance.

I wrote code this week. Not every day this week and not for all of any one day, but I wrote some. It’s mostly SQL, Node, and Python these days – mainly to grease the skids for something someone else is doing. No one expects – or even really wants – the CIO to do a lot of coding. That’s fine. I’m grateful for the life it’s helped build, the role it played in getting me through confusion and tragedy, and the respect that it’s helped my dad and I find for each other. A few years ago, their computer wasn’t working. In a candid moment, he said, “It’s not working and I have no idea how it works, can you just fix it?” I sat down, figured out it was a driver issue and had it running in 10 minutes. I saw him smiling a little.

In my youthful mind, programming was my superpower. As adult, it’s one of the first things I knew I was good at. It’s still how I think of myself and probably always will, but it’s become the place I visit rather than the place I hide and I am happy about that.