I'm a full-stack developer and recently I've been feeling a bit overwhelmed. The tech stack is constantly evolving with new frameworks and tools emerging all the time. I often feel like I can't keep up and I'm not sure how to choose and learn new technologies. At the same time, I have existing projects that need maintenance, and there's never enough time.
So, I'm seeking advice from the community: as a developer, how do you balance learning new technologies while maintaining proficiency in your current skills? How do you decide whether to invest time in learning a new framework or tool? Are there any resources or methods that help you efficiently learn and apply new technologies?
Thank you very much for your suggestions and insights!
Just because something exists, doesn’t mean you need to use it. Python exists, along with Flask and various other frameworks. Those will likely be around for 10+ more years, but if you’re already working in .Net, like it, and it solves all your problems… who cares that Python exists.
These are all just tools. If I have no use for a lathe, I’m not going to go out, buy a lathe, and learn how to use it. It’s a waste of time. Even if I think they are cool, if I don’t have a reason for it, bringing it into my life would add stress and nothing more.
The idea of chasing the bleeding edge of tech is a choice. You don't need to make it.
If some framework solves a problem that you don't have, then you don't need to worry about the framework.
So, people around me value my knowledge about the former stuff. Nobody really cares about the latter (because deep down everybody knows that that stuff will die anyway in a few years)
You could have built most (web) things in the past 20 years with Java and a SQL database. It's worth keeping an open mind to what useful things might come out of a new trend but give it some time to avoid chasing fads like Web3, NFTs, NoSQL, Microservices or LLMs.
(This is not to say any of these are entirely useless in every scenario but the useful parts will have stood the test of time and the rest is for 'thought leaders' and con artists)
If you really have extra time, you can always build side projects (or even just the same prototype) in different frameworks to learn and compare. But honestly a lot of them will just die out before they see any substantial real world usage.
i wouldn't bother with most of them. They're just fashion trends. I think React and Next are the only sure bets in the JS/web frontend world right now. Learning the rest are bonuses.
If I had a lot of extra time, I'd probably learn Vue/Nuxt, SvelteKit, and HTMX/Alpine.
-----
What about on the backend? Back in my day it was mostly just Java, Rails, PHP, microservices, etc. These days there are so many container management systems (k8s? docker? some Google thing?). And entire new languages like Rust and Elixir. Not sure what to chase there either.
Is there a movement towards a heavy batteries included framework (like Next on the frontend)? Something like what Rails or Laravel/Symfony provided?
Same goes for all these frameworks and tools. Let them mature a bit before you commit.
If you're worried about getting a job in the future, know that job posts are full of lies. They will ask for all and everything, even that obscure tool nobody is really using but showed up in some search a hiring manager did. Don't steer your career based on that alone.
In terms of what to learn about, you could try an analytical approach and score technologies according to your criteria.
One criterion could be: does it have a good tutorial and documentation?
Replit and Stackblitz can help you try out new things.
Also, the learning effect is multiplied when you build an actual project: often this will influence what you need to learn.
I've seen 2 people who cares about the stack more than the task itself. They lose their job way more often than average and is often criticized for not able to complete their task on time.
Some hiring managers tend you quiz you with framework details instead of your learning & reasoning ability. Avoid those teams.
I just read a post about a solo developer who has a $1.3 million business. It runs on Java and jQuery.