I began my career in tech as software support. This is a job where you help sales people make sales, and then you help the people that bought your software install it and run it. When there are bugs, you get to troubleshoot it, and you have a limited ability to fix things. If the problem exceeds the tools you have, you pass the problem on to the next tier, usually software engineers, who fix the problem or create new tools so that the customers or software support can fix the problem in the future.
From there I moved into systems administration. Setting up servers, managing connectivity, and fixing problems with the software and connectivity. This was, however, entirely internal. In the days before widespread Internet access, and also working for the railroad where they literally had their own network that spanned the entire East coast.
My next move was to shift was to software engineering. Here I was building software and fixing problems.
My last job was a mix of software engineering and systems administration. I got to do both, but unlike my days at the railroad, there I was reliant on a lot of external vendors. Under these conditions, software engineering was much more satisfying. Something was broken, I fixed it. On the systems side, something was broken, I verified that all my stuff was working, then I had to call other people to get them to check their stuff.
This was my process. I took responsibility, and either resolved the problem or verified that I couldn’t resolve the problem because it was someone else’s responsibility.
A lot of people, it turned out, didn’t work that way. So many times I would report a problem to a vendor after having done my due diligence, and they would turn it back on me, asking me to check my stuff again, which the default position being that the problem must be mine, not theirs, even though they’d checked nothing. So many times, someone would come to me with a problem and I’d look at my stuff, find nothing wrong, then figure out where their stuff was broken, take it back to them, and still have them try to push it back on me.
It angers me that people don’t take responsibility, but I know that it often isn’t their fault, it’s company policy. My bosses have almost always tried to get me to spend less time taking responsibility and working problems, and to push it back on other people. It’s usually why I have friction with my bosses, because I won’t. Why should I spend a month going back and forth with a vendor, each of us doing the least amount of work possible and shoving the problem back on the other, when I can just spend a couple days either fixing or identifying the exact problem?
One of the reasons I think that people find their jobs to be unsatisfying is that their jobs are engineered to be unsatisfying. We should stop that. We should do better.