Before I get into it, I'm on Mastodon now. Now I have a platform for all my intrusive thoughts during standup. Anyway...
There is an incredibly patient and kind lead engineer on my team - the kind of person that gives me hope that maybe, while the corporate world is run on horrific incentives, it isn't efficient enough to crush all that is good and holy from this world. They have been at this organization for many, many years, and will probably remain at it for many years.
Every time we sit down for our 1:1s, I'm pretty honest about my assessment on the state of things, and we always agree that things are bad but have completely diverging views on things. A recurring theme is that we agree that something has been done badly, but then have wildly diverging ideas on the relative worthiness of our department's performance - namely, that the idea was good.
Like many people, I got into chess over the Covid lockdowns, where I was introduced to two broad ideas.
There is chess strategy, where you make a plan like "control the center of the board", and then there are chess tactics, which are ideally how you execute in a fashion where you don't lose all your best pieces every thirty seconds.
I am going to fire flaming laser beams out of my eyes at the next person to insist that "we had a good strategy" while we continually demonstrate that we can't make it five moves without losing our queen.
I. Playing 0-Dimensional Chess
Hey, everyone, I have an idea! Let's build the world's greatest, most commercially viable quantum computer and make billions. Oh, we can't do that? Well, the idea was sound. I'll still take that executive salary, thank you.
Unless you've got the kind of people around that have demonstrated they can do this, then that is a terrible idea. Most organizations in our industry operate at a level so utterly pathetic that any plan that doesn't start with "we won't do anything until everyone on staff can write a coherent commit message" is fucking lunacy. And listen, this is fine - this is the reality of the world, and I will happily sit down and teach anyone that is willing to learn... unless you're on a manager's salary and already bossing people around, in which case get the fuck outta here.
When I started fencing back at university, our coach just made us drill footwork for a million years before we actually had any bouts, because it turns out you can't fence if you don't have your basics in place. You can't fence without footwork, you can't really play chess until you know how the pieces move, and you absolutely can't run any sort of engineering unless you've got all your basics in place.
"Well, you don't have to be able to code to man-"
Stop. Stop. Yes, you do. If your organization is sufficiently dysfunctional, there is indeed a role a manager can fulfill that allows them to succeed at managing engineers that doesn't require engineering knowledge. This role is to float about fifty feet above the ground, arms outstretched, screaming, as all the latent psychic harm flowing in from various stakeholders shreds their mind into tiny ribbons in an eye-watering display of self-sacrifice. Don't get me wrong, I appreciate the people that do this, but unless we're talking about that, of course you need to know what good engineering looks like.
Maybe I would be able to manage a team of doctors if they were already incredibly effective and had all their processes down. It might be hard, but I would just have to keep people off their backs - i.e, float above the ground, scream, etc. There's no way I could manage a team of junior doctors that didn't know how to sterilize medical equipment, and that's the state of most of our industry. The patient is bleeding out, half the doctors can't stand the sight of blood, and the other half are being told they can't operate until they make sure there are enough cards on the backlog. We need to either let good people operate or show people how to operate and anything else is just going to get the patient killed.
I remember reading some time ago that the average engineer team probably can't ship a CRUD application. A solved problem. In theory, you just import Django, and even if you completely screwed up the requirements, you can just... change the thing. And we probably can't do that.
II. Playing 5-Dimensional Chess
The other thing that happens is that we do something absolutely inexplicably dumb, and then people will begin to posit that there's secretly some reason it was done that way. God, I wish that was the case. It would be less embarrassing.
For example, when I talked about saving half a million dollars by clicking a few buttons, someone on the internet, in all their wisdom, pointed out that maybe someone was banking the inefficiency so they could drop their budget during a cost-cutting period. I mean, sure, I guess, but it was actually just incompetence.
In the same vein, we recently put up a position description that was absolutely absurd. We're attempting to hire someone with four years of experience in, let me check my notes, SageMaker, dbt, Snowflake, FiveTran, and "advanced statistical analysis" for uh... as much money as this same organization paid me when I was a fresh grad.
What? Apparently we haven't been able to fill the role. Wow! I wonder what went wrong?
I sit down with the lead engineer and we talk about this - and he hits me with a very sensible story about how maybe management knows what they're doing. You see, by having the position description be that absurd, you can technically transfer people from any part of the organization into the role. You can swap in a data scientist, a data engineer, a software developer, or a general enterprise software nerd, and HR isn't going to make a big deal out of it. Yes, that must be it, management is playing 6-Dimensional Hungry Hungry Hippos.
The next day, I had lunch with a director at the level above the lead, I put the same scenario to him, complete with this very sophisticated explanation for why the position description is laughable.
"Oh, no, it was just incompetence. Transferring people internally isn't that hard."
I think some people just assume that no one can be that incompetent. Like, yes, we're incompetent at getting the job filled, but there's a meta-level task, get people transferred, and we're killing it at that. What if we're just not? What if we're just a bunch of apes that have only recently descended from the trees, desperately trying to play electron Lego and failing miserably? Many things would look the same and it is a hell of a lot simpler.
III. Actually Trying
I'm going to be serious for a second. Forgive me.
I was speaking to a friend recently who has been suffering from this. They work at a hospital. Every day, management talks about strategy, and Agile, and whatever the fuck, while they just bungle all the reporting they need to allocate beds to patients correctly. The friend has been feeling bad about reading documentation during work hours, because they really feel that their team is just blundering their tactics at every turn, and needs things like, oh, I don't know, version control and code reviews.
Friend: I've rationalised my time theft to myself with the idea that maybe one day I'll implement a GitOps pipeline for the hospital. Not likely though.
Me: Despite how the hospital treats it, you're in a very serious craft now. We have our own, strange culture that is inscrutable to outsiders, and we're the kind of people that might spend years meditating on the correct pattern that imaginary constructions should use to connect to someone else's imaginary construction. Hardcore engineering is like a strange priesthood.
Me: Your professional obligation, which overrides the simpler considerations of short-sighted managers, is to ensure that the machinery of our craft is operating in the correct fashion. This fashion has nothing to do with what management wants, no matter what they say, unless they can convince you. We may have to make concessions to management sometimes because we rely on them for money, but that's the same thing as cutting corners in patient care - maybe no one suffers immediately so it's not as serious, but the crime is still there, with a lesser magnitude.
Me: I genuinely think you have a quasi-religious obligation to push for the GitOps pipeline, even if you know it will probably never happen, if you know that's what is right for the patients. Stopping that and working on whatever dipshit report they need to get promoted is the actual unethical concession that we're forced to make.
It's a little bit embarrassing to re-read that as it romanticizes engineering quite a bit - I suspect in a way that I can only do because I'm not that good at it. But I do believe it. It's frustrating (and funny) when I think about how many places can't get the most basic parts of their act together, but I find that my sense of humor altogether deserts me when I think about healthcare operations. I've quoted this elsewhere, but:
“Do you understand what I'm saying?" shouted Moist. "You can't just go around killing people!"
"Why Not? You Do." The golem lowered his arm.
"What?" snapped Moist. "I do not! Who told you that?"
"I Worked It Out. You Have Killed Two Point Three Three Eight People," said the golem calmly.
"I have never laid a finger on anyone in my life, Mr Pump. I may be–– all the things you know I am, but I am not a killer! I have never so much as drawn a sword!"
"No, You Have Not. But You Have Stolen, Embezzled, Defrauded And Swindled Without Discrimination, Mr Lipwig. You Have Ruined Businesses And Destroyed Jobs. When Banks Fail, It Is Seldom Bankers Who Starve. Your Actions Have Taken Money From Those Who Had Little Enough To Begin With. In A Myriad Small Ways You Have Hastened The Deaths Of Many. You Do Not Know Them. You Did Not See Them Bleed. But You Snatched Bread From Their Mouths And Tore Clothes From Their Backs. For Sport, Mr Lipwig. For Sport. For The Joy Of The Game.”
Well, that's out of my system. I might stop writing for a bit until I'm angry again.
Wait, and don't even fucking get me started on PowerBI -