If you carefully observe the software development industry, you will realize that technology comes and goes rapidly. The reason why this happens is an intriguing subject and might be an excellent motive for another post. But let's accept it and move on for now.
Many young developers face the problem of not knowing what technology or what stack to learn. If everything is moving on so fast, how do you know what is the right stack to learn? For example, in web development, a classic question would be React, Angular, or recently Vue? What is the best choice? Should you learn all of them? And then what? Learn the new fancy thing to gain a slight competitive edge? No.
Here is where the personal brand comes in. You have to niche down. Focus on doing a specific thing and mastering it. I would suggest you learn a stack and stick with it. If it gets unpopular, stay on it. When most people start moving to the next shiny thing, a lot of demand will be left for you to fulfill it. That, assuming that you picked something popular in the first place.
Time is our most valuable asset, so we should not gamble it away on learning a ton of different frameworks. Imagine you are an RPG hero that has a limited level capacity and can max out only specific skills. Having this in mind, would you go on to learn and master all three Angular, React, and Vue?
Speaking of long-term ROI, another thing we tend to underestimate is soft skills. I have encountered many developers that have an evident lack of communication skills. However, people don't think that this is a big problem since after they get a clearly defined ticket, they can implement it. They will always put learning new tech before improving their communication skills. In the same way, we underestimate personal marketing and other kinds of soft skills. However, soft skills are the safest type of investment. If web frameworks are the stock of a startup that just made an IPO, soft skills are the index fund of the S&P 500. They are safer because of their transferability. You never know what life brings you, how your career might evolve. You might decide to move to a manager role, start your own business, become a freelancer or a consultant. Knowing how to communicate your thoughts properly, promote yourself, and present your ideas are vital qualities in all of the above career paths. When you build a personal brand, you start to understand the importance of all these things, and you start investing in them, thus forming a better skills portfolio.
But to bring the focus back on software and approach the same thought from a different angle, you should focus on the methodology and not on the method. Focus on the problem and not on the product. For example, learn why you need a database, and what problem does a database solves. Don't learn four different database technologies. Of course, to build stuff, you also need to have a method, you need to know a specific database technology.
Concluding, I call you to take a piece of paper and draw a box. Then write inside this box all the technologies that you will focus on the next year. Pick something popular that you like and stick with it. Outside the bounding box, write whatever seems interesting to you, but you actively decide against focusing on it. This way, you clearly define what your niche is and stay away from distractions. Now I would advise you to take jobs and projects on the niche you identified; if you picked something hot, that should not be a problem. Consequently, you will be able to master the specific skill set and then invest your spare time on the fundamentals, the things that matter.
Last but not least, don't feel limited by this choice. After a year, you can reflect on your decisions, and if you don't like the direction where you are moving, you can pivot and perform this exercise again.
I hope you found this post informative! Stay tuned!