Most people aren’t honest about their goals with s...
# thinking-together
d
Most people aren’t honest about their goals with software, and I’m thinking that a lot of the work I’ve done as a developer is really being a “short order cook for technological solutions”. On the one hand, I have impatient people that have money, connections and a pile of hastily put together software that does a bunch of something useful, with a lot of flaws, half-baked ideas and imperfect code - and on the other the Dijkstra brigade that build nothing but like to throw rocks because I’m either not building something “interesting” or because it’s not “correct” (… and one of the things I realised about computer science is that getting anything like a clear picture of what you want to build is more than half the battle.)
💯 5
👆 2
k
For many years now I've been calling myself a code plumber. Really all I do in my day job is nurture and cherish large pipes that transport huge quantities of shit. I'm curious, are you responding to something higher up?
d
Somebody once said they “flip the bozo bit” on people like me for not always prioritizing correctness. If I really wanted to die on the hill of correctness I would seriously be fired 100% of the time.
👋🏼 1
It is frustrating that we could do better but the pressure always seems to trade off in favour of exponentially shitter products delivered more quickly.
k
> Somebody once said they “flip the bozo bit” on people like me for not always prioritizing correctness. Yeah, that seems unkind and elitist. For a long time I tended to dismiss people who spoke of specifications and correctness. Eventually I realized they were making valuable points if you think of correctness as checking certain properties of a program but not the entirety of what is valuable about it. It makes sense to ask if the types for a program are correct. But in general for any non-trivial program it makes no sense to ask if it's "correct". > the pressure is always seems to trade off in favour of exponentially shittier products delivered more quickly That feels like an orthogonal axis. It's possible to have a product with long-term vision that has zero notion of correctness. It's also possible to have lots of local metrics of correctness while the big picture is drowning in short-termism. In fact the latter seems quite common. Obsessing about the correctness of some property or other is often akin to rearranging the deck-chairs on the Titanic.
d
“The shop is a technical success - but we’re not making the conversions expected.” or “It doesn’t do what we expected but we learned a lot” (customer doesn’t care - they wouldn’t want to hear about correctness at that point.)
I think I’m realising that Kent Beck wasn’t joking when he says that he’s talking to people with more sense than to be developers… We play a very risky game and maybe it’s no coincidence it’s played by mostly younger people.