Discover more from Pedunculate
How I learned to stop worrying and love Galactus
That subheading is a lie. I hate Galactus and I worry constantly.
Do you work in software development and want to feel ‘uncomfortably seen’?
“I’m in this picture and I don’t like it.”
The sketch itself is spot-on, right down to the worry about Korean birthday definitions in the briefly-shown spec at the start. And, in the way that really well-observed parodies do, it’s made it easier to think about the underlying ‘issue’. Namely, why does everything take so bloody long? As the PM says in the opening mumble, ‘this is one feature; why is this taking three years?’
The dichotomy presented by the ridiculous web of microservices in the sketch is effort vs risk-reduction. The chain of dependencies could have been cut short as soon as it hit Racoon (as the PM in the sketch vainly tries to point out) with no real loss of functionality, but to make the solution cover all possible cases up to and including the heat-death of the universe, the chain must continue. It must be perfect, or it’s BLOCKED, OK? THERE’S NOTHING WE CAN DO. You sad, pathetic little product manager.
In reality, the cut-off point, where you accept some risk or some less-than-perfect-practice (e.g. just do the ISO time conversion yourself) for the sake of just getting the damn thing done, is rarely so easy to identify. Predicting the future is hard, you can’t tell which of the thousand nightmare scenarios in the (excellent) ‘falsehoods programmers believe about X’ articles are actually going to be relevant, and do you really want to be the person who caused a critical incident because you decided that scenario X wasn’t worth covering?
Worse, this attitude finds its way into the code in the form of a thousand separated concerns, ostensibly divided for ease of extension and testing but in practice generating such a thick scaffolding of unit testing and interfaces that days of work are added to what should be trivial tasks. Yes, we’re at the point where removing an option from a dropdown menu takes a dev + tester most of a sprint. No, we don’t seem to have eliminated bugs or production issues. No, users aren’t hugely happy, and no, now you mention it, we don’t tend to find many (any) bugs during this enormously expensive testing process. But you don’t understand, this is good practice and we can’t change this, it’s fundamental to how we write code. And anyway, it’s not your job to tell us about this, you pathetic little product manager, you know nothing.
WE’RE BLOCKED. THERE’S NOTHING WE CAN DO. I’ve been doing this job four months and I’ve already lost count of the number of times I’ve heard this from devs. About half the time I have the energy and time to check the code myself; about half the time again I’ve been able to find a simple workaround that the dev apparently just didn’t consider because… it would mean that you’d have to do your dependency injection slightly differently, or you’d have to change a load of unit tests, or you’d have to store state in memory somewhere, or some other inconvenience. So far we’ve had three of these Roxton-workarounds put into production; so far they’re all working just fine.
The takeway from the ‘falsehoods programmers believe about names’ article is surely not ‘you must support every possible naming convention on the planet or you are incompetent and racist’, but rather, why do you care about this? There are, of course, reasons you may care very deeply about the exact formatting of someone’s name (perhaps you are the government, or a bank, and you have mistakenly assumed that your opinions on how people live their lives have value), but my guess would be that most of the time, you can get by with a simple freetext field with decent character support. If your user wants to call themselves ‘THE CHOSEN ONE’ or the shit emoji, let them.
It’s an easy story to tell, isn’t it? Especially to a product manager, especially to someone who leans slightly more liberaltarian than is currently socially acceptable and asked for a copy of Seeing Like a State for their birthday. Behold, the lone product manager, fighting against sloth and cowardice! Watch as he struggles against process, the rug under which any volume of mediocrity can be swept!
I want to believe this, I instinctively feel it’s right and true, and so I doubt it is. That a very large number of people who I know to be much brighter than I am to all disagree with me and for the explanation to be something that lines up so neatly with my politics seems… unlikely. But, dammit, I can’t work out why I’m wrong.
I notice that I am confused.