Interview Story: "What level are you at?"

Interview Story: "What level are you at?"

Daily short news for you
  • For a long time, I have been thinking about how to increase brand presence, as well as users for the blog. After much contemplation, it seems the only way is to share on social media or hope they seek it out, until...

    Wearing this shirt means no more worries about traffic jams, the more crowded it gets, the more fun it is because hundreds of eyes are watching 🤓

    (It really works, you know 🤭)

    » Read more
  • A cycle of developing many projects is quite interesting. Summarized in 3 steps: See something complex -> Simplify it -> Add features until it becomes complex again... -> Back to a new loop.

    Why is that? Let me give you 2 examples to illustrate.

    Markdown was created with the aim of producing a plain text format that is "easy to write, easy to read, and easy to convert into something like HTML." At that time, no one had the patience to sit and write while also adding formatting for how the text displayed on the web. Yet now, people are "stuffing" or creating variations based on markdown to add so many new formats that… they can’t even remember all the syntax.

    React is also an example. Since the time of PHP, there has been a desire to create something that clearly separates the user interface from the core logic processing of applications into two distinct parts for better readability and writing. The result is that UI/UX libraries have developed very robustly, providing excellent user interaction, while the application logic resides on a separate server. The duo of Front-end and Back-end emerged from this, with the indispensable REST API waiter. Yet now, React doesn’t look much different from PHP, leading to Vue, Svelte... all converging back to a single point.

    However, the loop is not bad; on the contrary, this loop is more about evolution than "regression." Sometimes, it creates something good from something old, and people rely on that goodness to continue the loop. In other words, it’s about distilling the essence little by little 😁

    » Read more
  • Alongside the official projects, I occasionally see "side" projects aimed at optimizing or improving the language in some aspects. For example, nature-lang/nature is a project focused on enhancing Go, introducing some changes to make using Go more user-friendly.

    Looking back, it resembles JavaScript quite a bit 😆

    » Read more

The Issue

The last time I went for a job interview was about 4-5 months ago. Like many others, I went to various places, each with its own interesting experience, and I realized that no two interviews were the same. I prepared myself to be comfortable and set criteria for a new work environment, not focusing too much on theory but rather answering based on my practical work experience.

One day, a CTO asked me a question: "What level do you think you are at?" Without hesitation, I answered, "Actually, I haven't paid much attention to my level. My immediate goal is to keep learning...". - "If you haven't determined your level, you should reconsider!"

It was clear that the interviewer wanted me to choose between three levels: Junior, Mid-Level, and Senior. With over 5 years of experience, I might choose to be at the Senior level, as it is commonly accepted in the local job market that someone with 5 or more years of experience can be considered a Senior. But I think that I haven't reached this level yet, maybe I'm just at the Mid-Level. However, because the perception and market have conflicting views on the distinction between these levels, or in other words, these 3 levels depend on the thoughts of each individual, I am hesitant and unable to give an accurate answer for myself.

The words of the CTO were right, not determining your level is indeed dangerous, but because I didn't express my thoughts, it was misunderstood that I didn't know where I was. Therefore, in today's article, let's discuss the three levels: Junior, Mid-Level, and Senior, to see what it really takes to be a "real" Senior!

Junior, Mid-Level, and Senior

Try searching Google with the keywords "Junior, Mid-Level, and Senior developer" and you will find many results, showing that this is a topic that many people are interested in. Most of us read to find out where we are and what we need to do to achieve the next level.

Among them, many articles list the number of years of experience to determine at which level a person is. For example, fresh graduates are considered Junior, 3-5 years are considered Mid-Level, and 5 years or more are considered Senior...! To be honest, I used to believe in these numbers too. I thought that the longer I work, the higher my "rank" would be.

Or there are articles that point out that the number of years does not solely determine a person's level, but rather it depends on their problem-solving abilities. "They know how to organize code, care about future maintainability, how to ask questions, and how to solve problems..." It sounds reasonable, but it may still not be enough. For me, a programmer should not only know how to code. To reach the highest level in programming, they must go beyond coding and do much more.

By chance, I found a very detailed article about what can be achieved at all three levels. Moreover, it is comprehensive, detailed, and provides advice on how to level up. Readers can find it at Levels of Seniority.

To summarize, the article mainly focuses on the Junior level, introducing the concept, indicators, and what to do to progress. Some notable points include:

  • Their mantra is "make it work" rather than paying much attention to the solution. For them, having a functional software and having good software are equivalent.
  • They are unaware of the business aspect of the company, meaning they don't care about or know why they are doing this work for the company.
  • Blaming others (Somebody else's problem) when they believe that someone else should be responsible for their problem.
  • They don't engage in team discussions.
  • ...

Afterward, the article provides advice for Juniors, such as:

  • Reading a lot of code, not just the code in the projects they are working on, but also the source code of libraries, frameworks, open-source projects, etc.
  • Doing personal projects.
  • Stop blaming others.
  • Don't limit yourself by your job title. Do more and be more proactive.
  • Avoid saying "it works on my machine," instead, understand why the application doesn't work somewhere else, as surely someone else is facing the issue, not just you. The above statement is equivalent to denying responsibility.
  • Interact with higher-level developers, observe how they work, and if possible, find a mentor. No one likes a person who knows everything, but restrain your ego and be humble to learn from the experienced ones.
  • ...

A Mid-level includes all the elements of a Junior, along with problem-solving abilities. They have more knowledge than Juniors but still struggle with applying it. The article emphasizes that Mid-level is very common and is sometimes mistaken for "Senior". However, they need additional mentoring to become a "real" Senior.

A Senior is the next level after Mid-Level developer. They can complete tasks independently without supervision and without introducing any issues during the process. Some of the things a Senior can do include:

  • They are practical in their work, not influenced by the best tool.
  • They have a holistic view of this field, knowing which tool is the best for the job in most cases.
  • They know they are part of a team. They see it as their responsibility to mentor others.
  • They have a deep understanding of the field they are working in.
  • They think beyond just coding.
  • They know how to give feedback without causing harm to anyone...
  • ...

In summary, in addition to coding, a Senior can mentor and advise others, have a deep understanding of the business, the industry, and the human aspect.

Conclusion

Junior, Mid-Level, and Senior are the three levels of a programmer, with Junior being the lowest and Senior being someone with extensive knowledge. Determining which level you are at and what you need to do to reach the next level is crucial in everyone's career path.

Premium
Hello

5 profound lessons

Every product comes with stories. The success of others is an inspiration for many to follow. 5 lessons learned have changed me forever. How about you? Click now!

Every product comes with stories. The success of others is an inspiration for many to follow. 5 lessons learned have changed me forever. How about you? Click now!

View all

Subscribe to receive new article notifications

or
* The summary newsletter is sent every 1-2 weeks, cancel anytime.

Comments (2)

Leave a comment...
Avatar
Anh (Daniel) Le1 year ago

Senior theo mình thì, đơn giản thôi, bộ phận khác đưa ra 1 idea, họ có thể validate, process, và turn nó thành 1 sản phẩm có thể dùng được.

Reply
Avatar
Xuân Hoài Tống1 year ago

Vâng, họ có thể làm được nhiều thứ và biết cách tìm ai để hoàn thành nó 🤝

Avatar
Triết Trương1 year ago

Đồng tình vì nếu ai hỏi mình ở level nào thì mình cũng trả lời ở Mid Level hơn là Senior, vì không có thang đo phổ quát cho cấp bậc này mà mỗi công ty đang tự định nghĩa.

Reply
Avatar
Xuân Hoài Tống1 year ago

Vâng, nhiều khi cũng rất khó trả lời hoặc giải thích cho họ hiểu được nỗi lòng mình.