Software Midlife Crisis
It seems that, for us Software peeps, hosting a blog is like the sports car midlife crisis phase. It’s bound to happen, sooner or later, for almost all of us 😁
This is no different, I guess, I will use this blog to sometime express my thoughts on world events1, software-related stuff and some personal projects that I would be working on.
The software situation
I have recently stumbled upon this fantastic talk by Jonathan Blow, entitled “Preventing the Collapse of Civilization” and, while I think some points are exaggerated, I really found it insightful.
I believe that the core, would be something along the lines of
Software is getting so complex that the knowledge for how to do the intricate or demanding things isn’t held by many people, which makes it brittle. Adding layers of complexity on top of each other has created a tower of abstraction that people usually only know a part of, which makes the entire stack brittle if not enough people know every part of it and something breaks.
There are cases in which this doesn’t hold true, of course. This blog, for example, is built with hugo, hosted on the “new Heroku”, fly.io, and I completely adore the DX there. Extremely simple setup, all you need is really just a Docker image to push. One could argue that having a docker image already implicates having too much complexity, I mean, this are just static files after all…
And that may be the problem that Blow is trying to underline, he suggest that simplifying the development processes and tools could help to reduce complexity and non-necessary dependencies.
Again, I completely agree with that statement. Another important concept is having deeper understanding of the technologies and the tools used at a lower level. This is hard, and takes time. A lot of companies, I imagine, don’t really care about this. The really sad part is that, I believe, the cost of issues down the road is so much more than the upfront one related to giving the possibility to the technical peeps of learning the intrinsic knowledge of things, and not to (usually) leave this task to 1 “senior” person on the team.
Who doesn’t like politics, amiright?! ↩︎