Focus on learning one programming language and accelerate your SWE career
Become an expert and a valuable team player. (4 min)
Intro
When I first started my software engineering career back at the University, I thought that “learning” multiple languages and technologies would make me a better developer.
I jumped from “learning” some C++, some Python, some Ruby, and some Swift.
Then I had an eye-opening tech interview which I almost failed.
I realized that’s not the case.
🎯 Main Takeaways
The problem with spreading yourself into many languages.
Benefits of mastering one language.
Expertise is found in Depth, not Breadth.
The tech interview I almost failed
Around 5 years ago I went to a technical interview at my previous company. In my CV, I mentioned I’m skilled in different languages and technologies.
During the interview, I was asked many questions about the skills I said I was capable of.
They asked me deep questions like: “How does Node.js work?”, “What’s the difference between Docker and Virtual Machines?”, “How does the Active Record ORM work in RubyOnRails?”, etc.
I almost failed it. I asked for feedback after the interview since I knew I was done here, but I wanted to learn and improve. I wrote 2-3 pages in my notebook.
Hopefully, they gave me a second chance with a coding assignment which I did well and got the job.
Moral of the story:
1. Switching from one tech stack to another made me a “user” of the technology rather than a competent software engineer who knows its tools well.
and
2. Include only the languages and tools you know, not everything you’ve touched in your CV.
The problem with spreading yourself into many languages
By jumping from “learning” one programming language to another, I learned only the basics of each.
I kept relearning simple concepts like loops and conditionals in four different syntaxes.
I wasn’t going deeper to enhance my knowledge like learning about memory management, even loop, error handling, async/await programming, etc.
I was just skimming the surface.
Benefits of mastering one language
1. Deep Expertise - you gain a solid understanding, making you more effective.
Expertise is found in Depth, not Breadth.
Companies pay more for people who can solve hard questions, not for “code monkeys”.
And hard questions are solved with expertise.
2. Becoming the go-to person
Being an expert in a certain technology makes you a valuable team player.
You become the go-to person in your team for this technology by possessing knowledge or skills very few others do.
To do that you should go deep into a topic and become an expert.
3. Easier to learn new technologies
Strong foundations and understanding of one language make it easier and simpler to pick up and learn a new language.
Conclusion
Focusing on one programming language and/or tech stack transformed my career over time.
It allowed me to become a competent and impactful software engineer, not just someone who writes code.
I encourage you to do the same.
Choose a language, commit to mastering it, and see how your career will unfold.
Thank me later.
⭐ TL;DR
Avoid spreading yourself into learning many languages.
Expertise is found in Depth, not Breadth. Optimize for that.
Being an expert in a certain technology, makes you a valuable team player.
Embrace the T-Shaped Model - deep expertise in one area and a broad understanding of others.
Committing to mastering a language or tech stack can lead to significant growth and success in your career.
👋 Get in touch
You can find me on LinkedIn or Twitter.
I share daily practical tips to level up your skills and become a better engineer.
Thank you for being a great supporter, reader, and for your help in growing to 11k+ subscribers this week 🙏
This newsletter is funded by paid subscriptions from readers like yourself.
If you aren’t already, consider becoming a paid subscriber to receive the full experience!
Think of it as buying me a coffee twice a month, with the bonus that you also get all my templates and products for FREE.
You can also hit the like ❤️ button at the bottom to help support me or share this with a friend to get referral rewards. It helps me a lot! 🙏
One at a time for the win. Well said.
I willing to start with Go language… but not enough hours in a day fo everything!