Ah, the age-old question: which tech stack should I learn? Aspiring developers often get bogged down in this dilemma, and it’s not hard to see why. The tech industry is an ocean of opportunities, and the fear of diving into the wrong waters can be paralyzing.
But here’s a little secret for you: it’s more important to be insatiably curious and willing to learn new things than to stress over learning exactly the right things.
“Don’t try to minmax your programming education”
– Paraphrased from ThePrimeagen
🔗 It doesn’t matter much. There are jobs in every stack
But what if you’re more into Python? No problem! Python is not only the darling of data scientists and machine learning engineers but also a solid choice for web development with frameworks like Django and Flask.
The point is: whatever tech stack you choose, there’s a job out there for you if you know what you’re doing.
🔗 Total number of jobs doesn’t matter, you only need one
🔗 You’ll fail because you give up and stop learning, not because your tech stack is unpopular
The tech industry rewards adaptability and growth. Technologies come and go, but the core skills and mindset of a developer persist. Expect to be constantly learning new programming languages, frameworks, and tools throughout your career.
In fact, dabbling in multiple languages and frameworks can make you a more well-rounded and versatile developer. By exposing yourself to different ways of thinking and solving problems, you’ll develop a more comprehensive understanding of programming concepts.
I’ve seen hundreds of learners fail in their journey to become developers because they gave up and stopped learning. I’ve never seen a single person fail because they started with the wrong stack.
🔗 Anything will work, but some choices are better than others
Alright, so we’ve established that you can find a job in any tech stack, but does that mean all choices are equally good? Not quite.
When choosing a tech stack, there are factors to consider that can impact your career development. Let’s dive into a few key things to keep in mind.
🔗 Try to learn something that has jobs in your area
Before picking a tech stack, do some research on local job markets and industry trends. Find out which languages and frameworks are in high demand in your area, and which ones are on the rise.
Working with a tech stack that has a strong community and support network can help you stay up-to-date and make it easier to find jobs or freelance gigs. I’ve also found that for junior developers it’s typically easier to land a job in your local area than to find a remote gig. That’s not a hard and fast rule, but it’s something to keep in mind.
🔗 Choose a tech stack that you enjoy
Remember: your tech stack choice should align with your personal interests and career goals.
- If you’re passionate about data science and machine learning, Python might be a better choice for you than PHP
- If you’re interested in cloud-native back-end development, I’d certainly recommend Golang.
🔗 Don’t be afraid to learn technologies that you won’t use at work
To become a well-rounded developer, there are a slew of concepts that are important to learn. When designing the learning path on Boot.dev, I’m not only interested in teaching students a cluster of technologies, I’m focused on getting those concepts to stick. As it turns out, some languages and frameworks are better at teaching certain concepts than others.
For example, if you’re working to become a back-end developer, here are some of the important concepts:
🔗 Don’t worry, you can always learn more
Once you’ve learned one programming language, picking up another one becomes way easier. I’m talking like 80+% easier. Most new developers don’t realize this, but it’s why you don’t need to stress over the perfect first language.
Programming languages may have different syntax and nuances, but the underlying concepts remain consistent. Once you’ve got the fundamentals down, learning a new language or framework becomes more about understanding the specific quirks and less about grappling with entirely new ideas. Binary trees, encapsulation, and function closures are all pretty universal concepts, you’ll never need to re-learn them.
this keyword), but you’ll be surprised at how quickly you can pick it up.
Go forth. Embrace the challenges, learn from setbacks, and above all, never stop being curious. The most successful developers I’ve met never ask “Do I really need to learn X?” They say “X looks exciting! I’m going to build something with it.”