Hi everyone,
What projects(any language) should somebody have to be considered:
junior?
mid-level?
senior?
senior ahitect?
tech lead?
Thanks in advance
Credits:
Thinking statue link
Hi everyone,
What projects(any language) should somebody have to be considered:
junior?
mid-level?
senior?
senior ahitect?
tech lead?
Thanks in advance
Credits:
Thinking statue link
For further actions, you may consider blocking this person and/or reporting abuse
Neeraj Lagwankar -
Sarthak Niranjan -
Melanie Parker -
Ismael Garcia -
Top comments (12)
It's not the projects in and of themselves. A senior should have worked on some variety of projects and been exposed to different types of teams and codebases, however far more important is how they interact with the members of their teams. Junior and Senior are different parts of the same spectrum. A junior isn't just someone who is new, it's someone who often is still learning how to self-direct on a project, how to work with their team, and how they approach a project. Likewise, a senior should be someone who has a good sense of how to self-direct (from task management to architectural knowledge), someone who is very practiced at working with a team and handles changes in team dynamic well, and someone who thinks about about not just their role on a project but that of their team members too. You can find good seniors who have done everything there is to do. You can also find good seniors who have worked on a very limited scope of projects by virtue of their work history, but are aware of the fact that their project experience is limited and who have shown the initiative to learn about other types of projects even if they haven't worked on them.
If your project has one senior engineer who writes really good code, you've got one senior engineer. If your project has one senior engineer and you give them a lot of space to split their time between code and team building and mentoring, then in a little while you have a much more effective team and multiple senior engineers.
From personal experience, I have the feeling that one way to go from a junior developer to a more experienced developer is to work on a project that is a complete train wreck 😅
It is of course not an ideal situation at all and I think there are far better ways to gain experience. But for me it was that. I knew it was wrong to take the project in the first place but I got into the situation where I could not refuse to work on it. The timing was horrible, there was scope creep, management not allowing time to write automated tests. And I made a lot of mistakes and shouldn't have been head of this project after only 4 years of experience.
But doing all of these errors made me learn so much. If only I had a safety net...
This was written in other comments but really, mentoring is very important and it takes time to learn and be experienced.
The project itself maybe is not the most important part. The people working with are something major. Working with super experienced people and challenging character makes the difference. You are gathering a lot of knowledge and experience by meet different situations. The tech skills are maybe 30-40% only to the way to be senior. The other part (the biggest) of the equation is your experience and soft skills.
I think the skills needed to be senior are less technical. Senior is someone that the team goes to for advice. Higher ups ask them to make sense of the technical mumbo. But to become that person generally requires technical skills.
Hard to say, especially If I think, I seen recently in Sweden a bunch of senior with like 2-3 years of experience and leads and cto-s with 5-6 years of experience....
IMHO,
a junior supposed to understand a few basic principle, and supposed to know several keyword, and probably played around a lot with things.
A mid-level/developer, I believe is a mixed rank. Have the knowledge of several principle, things, code snippets, tricks, environment, also has a few project behind, understand other non-essential things. E.g.: has experience, but only focused on his area.
A senior can understand not just the things what he/she need to work, but the connected technologies and can see a project on a higher level, can understand requirements and how to ship different parts.
A lead more like a politician. Normally, they does not code anymore, but they understand the tech perspective, has higher view, more information from a project. Can decide direction since has vision where it shall lead. Also, has understanding on low level also, and by architecture or has the knowledge, who to talk to.
An architect is less development, more devop/sysop and understanding of connections, interactions, correlations and possibilities. At many company an "architect" basically a sysop/devop, who more like a cloud/aws/gcloud... manager and has the responsiblity to make hw & sw on bottom layer works.
My advice is to not worry about titles. My first job was a 'senior' - they just called everyone that as a minimum. I've gone from 'manager' to 'engineer' myself but it wasn't a step down. Some places have 'distinguished technical fellow' for people other places call 'senior'. You can't compare between companies, so don't worry about trying.
It should be experience.
You can get a lot of experience in a short amount of time.
ie. Being apart of a lot of teams or projects, and or contributing to those teams or projects
From 26 years of professional development, I can confidently say that 'senior' anything almost always just boils down to 'older'
Experience will do that to a person 🤷
The important quality for a senior software engineer is to understand what does not matter.
Junior engineers can't tell what matters and what doesn't matter, so everything matters to a junior engineer.
Some of it is simply being in the right place at the right time. I've seen people pulled into higher responsibility based on their personality. I've seen other find new jobs for the sake of an advancement in their career path. Most of the position titles are vague anyway because for example you can't get a degree in Senior Architect. It all boils down to how much money a company wants to pay for a given set of expectations. Virtually nobody knows ahead of time if the expectations are reasonable.
My thoughts are just work hard continuously, be honest and things will start happening. Most of all be a nice person.