Software Engineering is Hard

Tom Harrison
Tom Harrison’s Blog
2 min readJul 16, 2022

--

I am consistently impressed by my peers who understand concepts and have skills I doubt I’ll ever attain. I work with a lot of smart people at Clearbit, and damn, so often I feel like a chump. In fairness, I have been doing this since the 1980’s,so my mind may now be polluted and calloused and as inflexible as my eyes have become. I am certainly past any prime I may ever have had. But it seemed to be even then that I was stunningly aware of how much more competent some of my peers were.

Sure, software engineering is hard and requires perseverance, and really good google skills, and knowledge of how to simplify things into tests, and so on. Skills gained through experience.

What’s hardest is the emotional toll.

What I may lack in actual technical skills, knowledge, or raw capacity I make up for in pure determination and grit. The en vogue term for this is “obsessive-compulsive disorder”. Or perhaps more accurately I am following Mom’s implicit advice when she rhetorically asked “You know what’s great about banging your head against the wall? It feels so good when you stop!”

Except I don’t stop.

When I have an unresolved technical problem I think about it constantly. My brain does a poor job of shutting down, so I tend to not get to sleep. I have trouble truly releasing myself from the tyranny of the problem. I frequently find myself trying things at 4:30am. I become addled when I cannot find time to resolve issues, and this impacts my other work. Relationships suffer.

All of the above could have started with a different root than overthinking technical problems, such as: “when I need a cigarette”, or “when I need a drink” or “when I need to gamble”.

And yet, I do solve problems, eventually. It turns out that I am reasonably useful in several ways, even if not the most technically apt. And when I figure out something, I figure it out for real, and I write down how it works. These things are quite satisfying, and healthy.

If only I could trust myself to get to a solution without all the symptoms.

--

--

30 Years of Developing Software, 20 Years of Being a Parent, 10 Years of Being Old. (Effective: 2020)