I’ve been writing a series of posts on management based on my experiences. If you’re starting with this one, you may want to have a look at: https://www.jlgoodwin.com/words-pictures/2020/9/17/management-the-job-of-a-manager
Introduction
I’ve been retired now for ten months after a thirty-nine year career in the software industry. I’ve had pretty much every role from software engineer to vice president of engineering. Overall, it was an enormously rewarding career and I’m honestly not bitter or angry about any of it now that it is over. I’ve certainly had periods of bitterness and anger over the years, and there are definitely things that I think are systematically wrong with the industry that I found myself struggling against (especially as a manager). It can be a great career for anyone as long as you know what you’re getting into. Here’s the list…
Being between the team and upper management
I will not miss:
Waking up every day thinking about some executive’s expectations of me and my team, the problems I should solve, the deadlines I should pay attention to, the people I need to wrangle, my performance measured against an invisible changeable ruler.
Having to get people to do things that they don’t want to do for reasons I don’t entirely agree with (or in some cases completely understand). Negotiating the “merely goofy” vs. “the actually stupid and evil” to figure out how much political capital to spend on any given act of inquiry, redirection, or resistance.
Trying to deduce, from a cloud of barely differentiated requests for my time and my team's time, which actions will actually be valuable to the business if we do them. This is where actual management happens, and actual decisions, and actual risk… Some folks completely avoid this, but they tend to be crap managers.
Facing my email with dread, waiting for the next capricious turn that will invalidate all of the planning and understanding and work me and my team had done for weeks or months before. Our decisions, supported by a lot of work and thought, undone by the sudden “pivot” supported by a rambling semi-coherent e-mail.
Human frailty
I will not miss:
Having to listen to other folks’ emotional outpourings, worries, freak-outs, paranoia, sadness, grief, anger, you name it. Having to absorb and understand that emotion and not respond in kind, and then talk them around to some productive direction that keeps them getting paid and us all doing what we get paid for. Hard to do and still have some personal integrity…
Changing my entire mental focus an average of ten or twelve times a day… and not being able to focus afterward on anything that I want to pay attention to.
Having people who pay me a lot of money for my experience and knowledge ignore or contradict my advice. The worst version of this is when they come back and tell me “You know, you were right…” after the debacle/or resisting me tooth and nail.
Having to fire people either for something stupid that they did or failed to do or because the company did something stupid or failed to do something. Fortunately, if you are breathing in and out and have a good story about being a software engineer you can get a job in this industry. Believe me, I’ve reviewed a LOT of resumes and interviewed a LOT of folks, so, generally I don’t worry about people I’ve fired, It’s more the emotional impact of the moment that I won’t miss.
Male dominance behavior
I will not miss having to step on the neck of male bullies in the tech leadership because it's the only way they’ll “respect” me. This is one of the worst things about the industry, and it stems from overwhelming and systematic male dominance, and by this I mean, only hiring men into leadership positions, only listening to men, only valuing particular male styles of communication, having to dominate other people to show how “good” you are in a male recognized sort of way. Even in the very best of companies I was frequently confronted with men telling me about how women engineers were “too junior,” “didn’t communicate directly enough,” “didn’t communicate clearly,” or “weren’t organized.” What they actually meant was “They’re not aggressively suppressing all other ideas in favor of their reductionist linear version of what to do.”
All, and I do mean all, of the monumental software project failures that I’ve witnessed in my career were led by aggressive, opinionated, and actually under-qualified, men. They all went off the rails because these folks couldn’t allow consideration of alternatives or even whether the project had useful results. Their egos wouldn’t allow it; their entitlement wouldn’t allow it.
I never fit into male culture very well even as a child and male culture knew it. I was frequently the focus of a lot of aggression and bullying. I figured out how to survive by using my intelligence (and low animal cunning), and I never developed any sympathy for my abusers. In my personal life, I avoid folks who behave like that and now that I’m an older, bigger, more affluent man, they tend to avoid me too.
I did my best to be an ally for folks who weren’t aggressive men during my career. I used my power and influence to counteract the default narrative and get more women into higher positions. It was a fucking struggle, even when overtly these same companies had “diversity” goals. I have to say that announcing “diversity goals” is mostly talk, because I did the awkward thing and actually hired the women and others. Most of my peers didn’t. I would provide them with excellent candidates who I vouched for; they would invent a reason not to hire them. They would be happy about my team improving the stats but they weren’t interested in helping.
Meaningless technical debate
I won’t miss having to explain why I don’t want to include all of GraphQL for one tiny feature because someone thinks it’s “cool.”
I also won’t miss Java, JavaScript, the C++ Standard Template Library, browsers as the worst runtime environments of all time, vim, emacs, the Windows API from any century, distributed object systems of any kind, micro-services and other overused flavor-of-the-year one-size-fits-all architecture patterns that substitute for actual architecture design, Big Company drive-by-do-nothing-take-no-responsibility software architects, the new language to end all languages (Golang, Rust, etc.)… I could go on.
The fact of the matter is that good engineering is good engineering and you can do good engineering in Assembly language if you have the skills and the discipline. And good engineering means that what you are engineering is appropriate to the problem you’re solving, the economics of the business you’re in, and is reasonable for the talent you have access to. You can even build good things out of imperfect pieces (and you often do for economic, social, and political reasons).
All failed software projects fail due to one or more of: poor goals, poor leadership, a bad business model, a lack of customer value, poor analysis of requirements, outrageous scope vs. capacity, and human frailty. Of course, the least valued skill in the software industry is management, and it is the skill that is required for success.
Business travel
I love to travel for pleasure; business travel is the opposite of that. I won’t miss being forced to fly to places I’d never go on a bet, to talk to people I don’t know, about stuff none of us are interested in, followed by tiresome forced socializing. All of this happens in a dreary business hotel or some kind of function hall or closed down public venue or worst of all a fucking golf resort. Business trips often are scheduled so that you are “ON” for twenty-four hours a day and constantly in large groups of people you only slightly know. This is the very vision of hell for an introvert.
Even in the best case, where I got to go someplace I really wanted to and had some time to myself, the logistics of traveling efficiently so you don’t waste your own time and also have time to do the work ruin a lot of it. When I managed folks in Berlin, I visited about every five weeks. To assure I still had time for myself and my family, I would fly out late Sunday night, arrive on Monday morning, work all day, go out in the evening until my normal bed time. That first “day” was thirty-six hours long and by three o’clock in the afternoon local time I was almost hallucinatory. I made some great friends there and in the end it was worth it, but the travel was a huge drag.
I really hope for everyone’s (and the planet’s) sake that, when the pandemic is over, people realize that most business travel is just posturing and a meaningless, inefficient display of wealth and entitlement. It’d be great if folks would recognize that business travel isn’t a perk for an introvert; if you’d like to give us a perk, we’d prefer some free time on our own.
Finally
I sincerely hope that the other allies out there will keep working to reform the industry. It was a great career and I loved a lot of it. I’m glad to be done with these particular things.