The #1 skill for a Software Developer is Adaptability or Learn to Learn (fast).
If your career is long enough, after the frustration of seeing your favorite framework become "uncool" a few times, you will start to not care anymore.
Life is an ever-changing event, just like tech stacks.
Learn to adapt on the fly, don’t expect to be 100% prepared, you never will be.
Tech Fatigue
Many people complain about tech fatigue.
The feeling that you have to spend all of your time learning to keep up with the pace.
They think every hype will catch on when most will actually just fade away.
People say Java will die since I started programming more than 10 years ago, the market for Java is still going strong and it remains a top language in the software development market.
As of today, the languages I work the most with are Python, Java, JavaScript, SQL, and Shell Script.
In terms of frontend frameworks, I work only with Angular.
Not because I dislike React and Vue, or any of the others.
I took my time to learn React back in 2017, but was never hired to work on it simply because there was a lot of demand for the techs I already knew, including Angular.
I would have to relearn React again to use it effectively, which is fine if that’s the case.
At the time I was getting lots of gigs to work with Java on the backend and it is usually paired with Angular.
So I just use with what the client demands.
If I receive an offer to work with React, I will gladly take it, learn on the go and this will not be the first time this happens and surely not the last.
When people ask "What do you choose to learn in the vast sea of tech?".
I answer: "The one the client demands and pays for".
I picked Angular back in 2016 due to a client request.
I’m a professional and my work is to deliver what the client needs/wants.
Following the trends and act accordingly is one thing, wasting your life learning something you will never use is another thing.
Always Learning vs Adaptation
When people think about "Always Learning", they think about taking time to study every day or every week.
To keep "Always Learning" is in fact a matter of adaptation.
It doesn’t matter how much you study, you will never know everything you need to know.
Backend, Frontend, Infrastructure, Machine Learning, etc.
Any of these areas are big enough for you to spend the rest of your life digging and getting better at.
Adaptation is the true differentiator of a professional Software Developer.
How fast can you learn the skills needed for a situation you were not previously prepared for?
Having your basics in place is what gives you the power to fluctuate among different tools.
The process of learning top-down is nice, but learning bottom-up takes you further.
Get to know JavaScript, and React or Angular or Vue will be a matter of simple choice in a given situation, not a dreadful moment.
You don’t need to be an expert to deliver a lot.
Remember to subscribe to my newsletter.