The best applications I delivered over the last couple of years were in Symfony 2 to 5. MVC with some jQuery sprinkled on top and it did the job. Want API because the company suddenly wants an app?<p>No worries, add the RESTbundle and now your controllers are returning JSON or XML rather than Twig rendered html.<p>Around 2014-2015 I was worried that I missed the Angular or Meteor or Knockout or Ember or something..JS boat but then quickly realised my customers didn't care about JS frameworks and wanted business flows automated and solved.<p>Now I see NextJS or something solving problems Symfony solved 10 years ago and I just chuckle.
The author finds that spending energy on stable software ecosystem provides the psychological security to beat back the urge to study during free time.<p>I have a similar story of study and my escape has been to learn more about software design instead of frameworks or libraries. For example; DDD teaches how to describe problem spaces and how to talk about solutions in a way that is independent of any particular language or framework.<p>My learning efforts now seem better spent on building a core set of knowledge that has broader applicability.
> what is more boring than Rails?<p>modern PHP? I would contend the OP is still a hipster, but at least he's pointing out that fashionable programming is really toxic for the industry as a whole. Boring technology is good because the ordinary, standard thing is meant to be exactly that, ordinary and standard. Leave the breaking changes, feature churn, evangelising, endlessly-revised howto articles, missing/outdated documentation, etc. where it belongs -- in the "innovative" software.
As I get more experienced<p>- I care less about specific tools and I'm way less dogmatic<p>- I'm more comfortable learning new tools quickly when it's necessary<p>- I realise that many new tools can be completely left out which greatly reduces the complexity of the project (you aren't always in a position to do this when you work with other people)
Noticed the same pretty early here too. My response was to categorize all tech into ephemeral implementations and more persistent concepts. The latter moves a lot slower. New fundamental ideas just don't come around as quickly as people writing their own take on them or combination of them. Some paths through SE make this easier or harder, i.e. being a front-end dev can easily have you drowning in library churn and simply without the time for any deep thoughts.<p>It's definitely an important factor to both notice at all and your decision in regards to it has lasting repercussions. In my experience, the majority of devs don't take the conceptual path, so I've tended to let them get excited about NewFancyLibrary and while I focus on more abstract things like architecture, modeling systems, and languages. Seems to work pretty good, since we're both happy with the arrangement.
As long as you know the fundamentals (data structures, algorithms, networking, and operating systems), a programming language (I recommend Python, as its incredibly versatile), and have tried to write at least _something_ mildly complicated in C or C++, you'll pick up almost anything.