Boring is the new Awesome
Despite the continuous flow of technologies, few of them are truly as significant as they first may seem like. Many of them are recycling old ideas or marginal improvements. Implementing things in Perl may seem archaic, but it'll work just fine to build modern technologies such as React.js and ElasticSearch.
A stable foundation to build upon is an asset whose value is only revealed in long term projects. Fundamental UI layers, backend frameworks and persistance layers are best trialed on short living or simple projects, while complex long running projects should keep the core stable enough.
It's obviously hard to strike a balance between stability and stagnation and even long running projects should take risks by introducting new technologies on the edges. Just consider are they replaceable enough. Are you coupling your online services tightly to a specific Content Management System or will you be able to exchange it in the future? Or should you just get Content as a Service?
The only constant is change and you don't want to spend precious time fixing unstable core functionality. Today front end web technologies are the likely candidate for pointing out hyperactive development cycles, but any kind of central technology should be boring rather than exciting.
MongoDB rose as the champion from the NoSQL hype era of the early 2010's, but schemaless approaches have since fallen out of popularity in some circles. All while boring SQL contenders MySQL and PostgreSQL have introduced NoSQL like features. SQL has served as a good foundation.
Please guys/girls, just take a step back every now and then. How does rewriting your interface in the latest framework get you to the next customer? Or the next 50 customers. Does it actually make your customers happier?
- The Sad State of Web Development
So instead of trying to follow every trend, keep your head cool and consider what should be exciting and what should be boring. What is actually needed and what do you just want to do because you're a developer?
Even on the surface things like CSS preprocessors and build toolchains can have an effect in making maintenane hard; How hard will it be to change the background color of the menu in a year's time?
Read more about the topic:
- Software design principles for evolving architectures
- Neomania and vintage projects
- Rewrite your legacy PHP apps in... PHP!
- http://joonaspajunen.com/productivityGetting meaningful stuff done
- PHP and Symfony: Structure, Stability and Flexibility