Hope in Source: Software Tetris (Stephen Kell)
Unexpected find via an unexpected source–a Hackernews post that showed up on the first page of Google results for Ivan Illich while I was writing yesterday’s post. Some great stuff in this episode.
It’s the discipline that’s grown up around thinking that the challenge is making “the software”. All the classic software engineering literature, with a few exceptions, tends to take this sort of delimited view, right? All these ideas about software being a project that is managed: where you have a project involving certain people with certain requirements, and it lasts a certain time, and it is sort of delivered.
Nowadays, a lot of software that is in very widespread use is much more of a continuous process and it’s much more interconnected. It’s more like software is an organism that is continually growing and gaining limbs. And because it used to be the case that actually writing the code and delivering the thing was the hard part, then we sort of optimize for that. But now we’ve optimized for growing stuff really quickly.
I sometimes say it’s like playing Tetris where you want to find a piece that fits into a space so that suddenly you could ignore a whole lot of other complexity. And that you can sometimes find those pieces and we’re pretty bad at it. And I wish I could formalize that intuition a bit better. Cause it feels more powerful than I’ve managed to make it sort of actually work so far. The picture I get is like…Losing at Tetris is basically the state of software right now where blocks are just falling into place. We don’t have time, we don’t have the resources to put them in the right place, so they just kind of pile up and there’s kind of an explosion of kind of arbitrary complexity.
Then they get into Illich a bit and Stephen makes this great connection:
It’s almost like Fred Brooks’ tarpit, he was talking about a single project where if you don’t take care of your technical debt, then you try and put one foot forward, but you’re just sinking into the tarpit. And eventually you’re stuck. But I think a tarpit on a sort of society-wide scale is really both what Illich was talking about and also what is happening with software.
And this one phrase that so quickly encapsulates so much of my frustrations with “tech”:
everyone is kind of anxious to be tech, but not to be a part of the domain.