This Misguided Mindset Almost Hindered My Developer Career

Reading time: 5 minutes
table of contents

Tet holiday (Lunar New Year) in Vietnam is the time to discuss plans for the new year. So, there’s nothing more fitting than discussing together what we can do to improve our dev career in the coming year.

One thing I’ve noticed in the dev community is that some people propagate thinking like this:

“Just Being Really Good at Technical Skills Is Enough.”

  • Knowing a lot, deeply understanding technology deserves a salary of 2k-3k USD.
  • Without mastering all the knowledge, it’s impossible to find a job.
  • You have to spend a lot of time practicing before looking for a job.

In general, this mindset is not entirely wrong, but it’s also not entirely right. If equating: good technical skills = good programmer, then it’s TOO WRONG.

I used to think this way, so I understand this mindset. But it’s also because of this that I almost limited my dev career, luckily I woke up in time.

Why Do We Believe in This Mindset?

One is the joy of learning something new and even more joy when applying it to real projects.

When I started coding my first projects, I was obsessed with coding. Suddenly, solving so many client problems with just a few lines of code, it was fascinating. Feeling extremely proud, I wanted to learn more technologies.

Two, at this stage, our technical skills are still weak, so we always think we need to learn more.

Honestly, in this profession, learning is never enough, knowledge is always vast (and product requirements too). I still remember a day in 2017 when I finished learning a complex Android component, feeling bright and quickly integrating it into the project, only to have a colleague show me a much simpler technique to solve the problem the next day. At that time, I thought I needed to learn even more to climb to the position of my seniors.

Three, we still don’t fully understand the dev career, so we think that just being good at technology is enough.

Four, we are afraid to learn new skills, afraid of communication, afraid of change. Focusing only on technical aspects gives a sense of comfort and safety.

But What’s Wrong with Thinking That Way?

I know a legendary developer, working day and night, reaching a high technical level, always sought after by Big Tech, loved by superiors and colleagues, earning $500k/year. Moreover, in movies, I see nerds looking cool, probably earning a huge salary.

These stories are truly enticing, but unfortunately, they are just urban legends, don’t dream because of them.

There are too many reasons to debunk this beautiful dream:

  • If you really work in Big Tech, you will never believe in these nonsense stories anymore (but if you believe in them, you probably won’t ever get into Big Tech).

  • Nerd looks cool, but nerd doesn’t mean smart. Being obsessed with something doesn’t mean you can apply it effectively. Many people can provide better solutions than nerds.

  • In a small company, a small community, your technical skills may be almost unique, hard to find someone better than you, and your salary can be quite decent compared to those around you.

    But that will be your “well,” it can’t get any bigger. You will be fine if the company doesn’t change, the environment doesn’t change, and if you’re sure you’ll work there until retirement. But in life, who can predict anything? Once forced out of the well, you will feel overwhelmed, and all your advantages will disappear.

  • In a larger community, there are many people with better technical skills than you, your skills are not unique. When competing with people with equivalent technical skills, other skills will be considered to filter suitable candidates. You will find yourself no longer having an advantage.

There’s another important reason. I have talked to many friends and seniors working at FAANG, in large tech corporations in Vietnam, and even in small companies. They all conclude with this principle:

Unless you don’t want to progress in your career, otherwise, you must develop other skills besides technical skills because even the purest technical path like becoming a Senior Developer, Tech Lead requires you to have communication skills, leadership skills, work management skills, and many other synthesized skills.

But that doesn’t mean neglecting technical skills. You still need to improve them because they are the foundation of a dev career. But you have to be alert to allocate time, seize opportunities to learn and practice other skills.

No one will tell you, “You’ve learned enough technical knowledge, now learn other skills.”

I myself drowned in pursuing technical skills in the first year of my career. I frequently argued every technical detail with colleagues because I believed in what I had learned (later found out not all knowledge is applicable to every case). I missed the opportunity to learn how to work with clients, even though at that time, I was directly talking to clients every day. I also missed the opportunity to learn how to analyze requirements thoroughly and discuss with colleagues before coding, a skill essential for the future career.

Fortunately, after missing the opportunity to train in many other skills and seeing colleagues of the same age progressing faster, I woke up and understood why they were advancing faster than me. After balancing the skills for more comprehensive development, I could express opinions, ask questions to clients in meetings, clarify requirements, coordinate with colleagues to find the optimal solution, and allocate tasks reasonably before starting to code. Thanks to these skills, combined with continuous improvement of technical knowledge (don’t stop), I increased my salary faster and gained trust to take responsibility for more important tasks.

If I didn’t realize it at that time, after many years in the industry, I might still be just a “code worker.”

It must be said that it is an important turning point that any programmer must go through if they want to surpass the average salary.

I just want to emphasize that you have to be really alert, read and listen to advice from many sources to develop more comprehensive skills. Don’t let yourself be confined to the mindset of “Just being really good at technical skills is enough.”