DEV Community

Cover image for What projects should somebody have and experience to be a senior?
wolfiton
wolfiton

Posted on

What projects should somebody have and experience to be a senior?

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

Top comments (12)

Collapse
 
redbassett profile image
Enrico

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.

Collapse
 
kant312 profile image
Quentin Delcourt

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.

Collapse
 
nnnikolov profile image
Nikolay Nikolov • Edited

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.

Collapse
 
waylonwalker profile image
Waylon Walker

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.

  • Shares wisdom
  • Breaks down problems
  • Can simplify the language
Collapse
 
huncyrus profile image
huncyrus

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.

Collapse
 
chrisgseaton profile image
Chris Seaton

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.

Collapse
 
derek profile image
derek

It should be experience.

You can get a lot of experience in a short amount of time.

Experience: direct observation of or participation in events as a basis of knowledge

ie. Being apart of a lot of teams or projects, and or contributing to those teams or projects

Collapse
 
jonrandy profile image
Jon Randy 🎖️

From 26 years of professional development, I can confidently say that 'senior' anything almost always just boils down to 'older'

Collapse
 
kerldev profile image
Kyle Jones

Experience will do that to a person 🤷

Collapse
 
pentacular profile image
pentacular

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.

Collapse
 
jwp profile image
John Peters

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.

Collapse
 
xowap profile image
Rémy 🤖

Well, how often does a junior ask you a vague question with half an error message that have been taunting them for hours and you can solve it without even looking at their code?