Lucas Mazza Writes code, rants constantly, blogs about it eventually.

Software is a multiverse

Predicting the future is hard, yet programmers like to repeat that Framework X or Language Y is the future of programming, the savior of all large scale projects and complex refactorings, and everything else is outdated, unfashion and awful (I’ve seen this with most client side frameworks, a dozen of programming languages and a couple of times when someone decided to dig deep on functional programming). But as our small history on dealing with computers can show us, reality doesn’t work like that.

A lot of outdated and “boring” tools are still vastly used by good developers and profitable business, and their trendy replacements don’t necessarily lead to better results on their own - the arms race for technical perfection ignores all the human variables that are part of what makes a good or bad software.

As a helpless sci-fi fan, I like to see all these ecosystems as a series of parallel universes where everything can co exist on their own but we can all move back and forth through the worlds that we want to be a part of - you can jump between different frameworks and languages as you wish/need, and they will continue to existing on their own and grown thanks to the effort of those on it, without having to fight (much) for space and attention with their similar universes.

And for us, tangled in this never-ending flow of new things to work with, we can accept that it’s OK to stick around for a while and not jump ship on the first new blog post about a new JavaScript framework or how OOP is bad. If you are still comfortable with your toolset and the work you do, it’s OK to keep doing that and move forward whenever you feel like it.

The point is that new tools that end up killing or replacing older things are rare cases. React didn’t killed Ember that didn’t killed Angular, MySQL and PostgreSQL are still around after the Big NoSQL Wave, and Java and C# are still around (the rivalry between those two back in college was the worst).

Every new ecosystem in the industry can live on its own, and people can move freely between one world to another, or even be a part of multiple ecosystem at once.

The beauty of having such a diverse toolset available for us is that we can be happy and productive with whatever we choose. If you strongly believe that X is the Future of something, remember that it might just be your future (or your company’s future), but not necessarily someone else’s future, and that’s not a bad thing.

Have any feedback on this post?
Let me know at @lucasmazza on Twitter or start a discussion on this blog GitHub repository.

Tweet this post