The Great Software Stagnation is real, but we have to understand it to fight it. The CAUSE of the TGSS is not "teh interwebs". The cause is the "direct manipulation" paradigm : the "worst idea in computer science" \1

Progress in CS comes from discovering ever more abstract and expressive languages to tell the computer to do something. But replacing "tell the computer to do something in language" with "do it yourself using these gestures" halts that progress. \2
Stagnation started in the 1970s after the first GUIs were invented. Every genre of software that gives users a "friendly" GUI interface, effectively freezes progress at that level of abstraction / expressivity. Because we can never abandon old direct manipulation metaphors \3
The 1990s were simply the point when most people in the world finally got access to a personal computer with a GUI. So that's where we see most of the ideas frozen. \4
It's no surprise that the improvements @jonathoda cites, that are still taking place are improvements in textual representation : \5
The main innovation in Rails is textual (you rethink the Ruby code that describes an ActiveRecord class as a schema definition for the whole system) \6
DevOps tools take configurations that were done through filling in web-forms or obscure config files and puts them back under control of scripts in a real programming language. \7
React is a new higher level set of linguistic constructs to describe a reactive UI ... etc. \8
In other words, progress in CS is still possible, but has slowed down in all the places where people have stopped programming in languages where new ideas can be created through grammatical composition and abstraction \9
And where we try to get by with a fixed repertoire of gestures to manipulate data directly. \10
If you want to fight stagnation, you have to fight the cult of direct manipulation, and fight the expectation that computers should be so easy that users don't need to think or learn new concepts to be able to do things with them. \end
@threadreaderapp unroll

More from Software

Developer productivity, y'all. It is a three TRILLION dollar opportunity, per the stripe report.

Eng managers and directors, we have got to stop asking for "more headcount" and start treating this like the systems problem that it is. https://t.co/XJ0CkFdgiO


If you are getting barely more than 50% productivity out of your very expensive engineers, I can pretty much guarantee you cannot hire your way out of this resourcing issue. 😐

(the stripe report is here:

Say you've got a strategic initiative that 3 engineers to build and support it. Well, they're going to be swimming in the same muddy pipeline as everyone else at ~50%, so you're actually gotta source, hire and train 6, er make that 7 (gonna need another manager too now)...

...which actually understates the problem, because each person you add also adds friction and overhead to the system. Communication, coordination all get harder and processes get more complex and elaborate, etc.

So we could hire 7 people, or we could patch up our sociotechnical system to lose say only 25% productivity to tech debt, instead of 42%? 🤔

By my calculations, that would reclaim 3 engineers worth of capacity given a team of just 17-18 people.

You May Also Like