Originally posted in kaihao.dev.
The title is kind of like a clickbait, I always dislike the terms of using senior or junior to describe the job titles. I believe that comparing with each other brings more harm than good. However, I have to admit that sometimes we need some comparison to allow healthy competition, promotion, or just some sense of accomplishment.
Anyway, what does seniority means? Literally, it means the rank that you have in a company because of the length of time you have worked there, but how do we measure it? At what point should we consider ourselves senior engineers? 2 years of experience? 3 years? 4? Is there any difference between working at a big tech company or a start-up? In my own experience, I have become a senior engineer with only half a year of professional experience. I also know someone whose first-ever job title is already a senior engineer. Clearly it depends on the company policy, but obviously measuring age or years of experience isn't an objective way either.
Many companies tend to measure the levels of skills of the engineers to decide their seniorities. Becoming senior engineers means that they achieve a level of skills in the industry or the technologies they use. However, every company has different standards of how skillful a senior engineer should be. Do we suddenly become junior engineers after moving to a higher standard company even though we are senior engineers in the previous company? Furthermore, how do we measure one's level of skills? Is a senior engineer guaranteed to be more skillful than a junior engineer in every single aspect? I believe that everyone can be good at something and be bad at another, being good at everything is unrealistic and nearly impossible. The same applies to seniority, personally I believe that a senior engineer shouldn't necessarily be more skillful than a junior engineer. In fact, I've seen a lot of talented junior engineers that are more skillful than some of the senior engineers I know.
So, what counts? In my humble opinion, the most important trait to be a senior engineer is to have our own perspective. Needless to say, we have to be good at what we're doing in the first place. However, being good is not enough, we also have to have our own views. We should be able to make trade-offs, make difficult decisions, and take the responsibility of the results. Having our own views also isn't enough, sharing them to the other members in the team is what make us different than the junior engineers. Convincing others is no doubt very hard, that's what make us valuable as senior engineers.
On the other hand, junior engineers often just follow the standards or guidelines from others. We can still be very good as junior engineers, if we're following the right path, of course. However, if we want to improve ourselves to a higher level, start follow our own voices. Keep learning and we will find ourselves having our own unique opinions on all the various things we learned. Opinions could be wrong, but that's why we need to keep learning from our failure and grow to be better. Don't be afraid of failing, that's the proof that we're improving.
Do you agree? What do you think it means to be a senior engineer? Tell me what you think, I would love to learn more :).