Disclaimer: This is pretty much a message to me.
The forever-changing Web world impacts directly how we build things, usually in a good way. No more advanced Apache setup, or grasping SQL to be able to store data. Today, almost everything is possible with a simple
cli init and signing in with a SaaS.
Personally, I love that. I always get excited saying to someone "You can create that with a PWA and Firebase", and, in fact, we can. Trade-offs are easier to decide, and I almost can't believe how much is possible with free tier today...
As nice as all of this sounds, in the past year it has put me in tough spots. It's hard to learn something new when it's so easy/good to do it like everyone is doing. And that's not about comfort, trust me on that! The React + Typescript + Firebase + Node.js + GraphQL combo, for me, has been so great that I always get second thoughts when trying to learn a new technology.
It always goes like this: "I really want to learn this new language. Let's find out how to create a GraphQL service with it". After some googling, I realize that it's hard to accomplish that "simple thing". Sometimes, not even "hard", but way less easy than using Node. Same for frontend: React Hooks, Apollo, and async/await have spoiled me into thinking it's not worth learning something like ReasonML because my Typescript environment is so safe and cool that has features not yet implemented in other languages.
"Why would I still create a REST API?", it's what I ask myself after searching for the standards for a new language, like Clojure or F#, and for a long time, it has stopped me. But really, why? Just because it's not what Facebook is using?
Learning new things will never be easy, not always because of what you don't know, but what you already do.
That pet project you have in mind, create it with a toolset you've only heard of and was interested! The extra lines you may have to write might teach you what the easy way has always hidden.