It is easy for computer programmers to get lost in the complexity of the software stack they're working with, and introduce bugs. It is possible, obviously, to make big mistakes when working with a simple stack. As a matter of fact, if the stack is too simple, errors can be encouraged. But, there's a sweet spot between too simple and too complex which is missed in modern stacks, I believe.

🧵 [1/4]

#techStack #softwareEngineering #digitalMinimalism

While in Software Engineering modernity we usually do not fall into the error of using too simple of a stack, we do often fall into the error of using too complex of a stack. It takes self-control the industry (and customers) do not have, but we need to be willing to sacrifice external (customer-viewable) features to make avoidance of internal ("invisible") complexity possible. (the Simple and Usable book by Giles Colborne, is a GREAT read by the way. I'm thinking of page 12 here). [2/4]

#books

My point: the errors made by software engineers, often laughably bad for their scope and commonality, are not fully unavoidable. If we were more responsible with what we allow ourselves to do, and were more responsible regarding scope creep, we could avoid many of our errors. So I would argue (with an important condition on OSS -- next post) that the financial liability for hacking should be on the developers of the faulty software. Maybe all software companies should be LLCs. [3/4]

#scopeCreep

As for the aforementioned important condition, the software should need to be created by a company in order to count; otherwise, people who put random code online for free could become randomly liable due to how some company decides to use their code. [4/4]