There’s a philosophy that I feel is undervalued in 2020: software minimalism.
In the golden age of computing, before Java, there was a particular emphasis on frugality. One had limited resources and so, would be forced to optimise. This required the programmer to have a greater understanding of their stack, regularly down to the ASM but often lower, something that is rarely required of today’s higher level programmers. It’s not the ASM hacks that make for elegant code but rather the experience of the developer as a result.
Finding high quality software to use in my own life is a constant challenge. I believe it’s not only due to the aforementioned lack of experienced engineers but also a trend to make all software idiot-proof. Companies are trying to sell visions, brands and experiences rather than rock-solid tools that will stand the test of time. This is exemplified in the SaaS (Software as a Service) trend so fashionable right now. It continues to baffle me why the technical community use Slack for instance when it is so hamstrung, slow, functionally unstable, proprietary, browser based. And, the target user seems to be for Joe Bloggs rather than technical professionals.
There needs to be greater emphasis on sustainable software development too. If there is a skills-gap, why are people leaping to use K8S, React/Redux etc? During an environmental crisis, why are people not paying attention to electricity consumption?
Software needs to go on a diet. We need to focus on what is absolutely important. We need to stop selling visions and brands because people really don’t want to join your special club, they just want to complete a task so they can get on with their life