DEV Community

Cover image for 12 Senior Developer Traits Juniors Need To Master πŸ”₯

12 Senior Developer Traits Juniors Need To Master πŸ”₯

Dragos Nedelcu on December 13, 2023

The fastest way to get to the top in any field, whether it is arts, sports or software development is to study the people that are already at the t...
Collapse
 
ingosteinke profile image
Ingo Steinke • Edited

When a Junior dev reads about TDD (Test Driven Development), they will start trying to test everything.

Where can I find those junior devs? I wish that anybody would do tests except for some old-school nerds.

My skills, traits and habits that I didn't have as a junior:

  • Focus, saying no: I have financial savings at my bank, so I am not desperate for just any new job, but instead, I can reject a job offer that doesn't fit.

What I mean: it's easier said than done to focus, to take your time, to say no, to have nothing to prove once you have reached some level of experience, but proabably more importantly, a certain level privilege and safety. It makes no sense to study quotes of rich people like a late Steve Jobs or Warren Buffet if you're a young student struggling to pay your rent.

Mentioning Kobe Bryant, he was already cool as a rookie, and now he is giving back something to the community. He is a real role model!

Collapse
 
brense profile image
Rense Bakker

Testing is only useful if the tests actually catch bugs. Tests are not useful when they force the developer to fix existing tests, everytime new functionality is added even though the new functionality isn't broken.

All teams I've worked in that had a big emphasis on testing, just did half of the amount of work building features, because the other half was wasted writing and updating tests that never actually flagged a bug and the software they delivered had just as many bugs as "untested" software that I have worked on.

TDD sounded fun 10 years ago, but it failed to proof itself.

Nowadays I prefer to write a test, only when a bug occurs that we didn't get notified about and then only write test(s) to catch that specific kind of bug.

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

100% @brense - I can emphatise. Tests are a means to an end, not an end on itself

Collapse
 
alexmbra profile image
Alex Mesquita

The real benefits of Tests is when they are used on CI/CD when submitting a PR and before deploying the project.

Thread Thread
 
brense profile image
Rense Bakker

Not if they hold up deployment for no good reason, like implementation changes. Automated testing in CI/CD pipelines can become a massive bottleneck, bringing entite companies to their knees. Most teams CI/CD pipelines work better if they just do a few unit tests on critical business logic and get someone to do functional or acceptance testing.

Collapse
 
justynclark profile image
Justyn Clark

Now Kobe is giving back? Please elaborate how so.

Collapse
 
gruitt profile image
Daniel Gruitt

This was such an informative read. I'm just starting out, currently on a bootcamp mid career switch and hearing from a senior Dev like this is just what I needed to read this morning. Interestingly TDD is a huge part of my learning at the moment and your section about this was eye opening.
Thanks!

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

Best of success on your journey @gruitt and thank you for the feedback

Collapse
 
arafatweb profile image
Arafat Hossain Ar

Very nice piece of article. Thank you for sharing your awesome knowledges.

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

Thank you for the feedback @arafatweb

Collapse
 
iamspathan profile image
Sohail Pathan

One question here: Does a senior developer have to strictly adhere to architecture guidelines compared to a junior developer?
I'm curious to know.

Collapse
 
tandrieu profile image
Thibaut Andrieu

I would say no. Guidelines are guidelines, not absolute rules.
Also, guidelines are tools. Sometimes they apply, sometime not. When you have a nail, you use a hammer. When you have a screw, you use a screwdriver.

Junior find a golden hammer and try to use it everywhere.

Intermediate know when to use a hammer and when to use a screwdriver.

Senior know that, sometime, using a hammer to nail a screw is better. (when nailing a screw in chipboard wood, fibber will prevent the screw to going out, making it more robust than using a simple nail or screwing the screw πŸ˜‹).

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

+1

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

One of the biggest difference between senior and juniors is that seniors can improvise where as junior need stricter rules to follow. The more senior someone is, the more they can make good decisions, faster and with limited information. Seniors will take architecture guidelines as recommendations but always take the context in consideration before making a decision.

Collapse
 
pedrovelborr profile image
Pedro Velazquez

Very good article! Also, (most) juniors learn only from their own mistakes while mid/senior also learn from the mistakes of others

Collapse
 
tholscoa profile image
Akinnuoye Tolulope Isaac

Impressive

Collapse
 
codesocial profile image
Theodore Sokorai

Very interesting read, thanks

Collapse
 
nordily profile image
Nordily

Great write-up, thanks for sharing

Collapse
 
keshavkishor profile image
keshav

Thank you for sharing this, I can relate to most of the points.

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

You are welcome @keshavkishor

Collapse
 
rehamdan profile image
Info Comment hidden by post author - thread only accessible via permalink
reham dannoun
Collapse
 
luckyshuii profile image
Lucas Boillot

It all makes sense, thanks for writing it down!

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu • Edited

Thank you for the feedback @luckyshuii

Collapse
 
tensorprogramming profile image
Tensor-Programming • Edited

I wouldn't say that there aren't seniors who focus on one or two frameworks/technologies. If someone puts react in their title it's could be because they are advertising themselves to potential employers. I know when there's a technology that I want to use in my next job, I make sure to highlight it a bit so that I get the attention of employers who are doing stuff that I am interested in.

There are also all of the devs who are specialists on a specific technology. Can't tell you how many times I've run into a dev who made their career on a framework like rails or phoenix and that's what they want to continue doing. I say this as someone who has been in the industry for almost 25 years. While I consider myself to be a polyglot but it's also valid to be a master of one specific ecosystem/technology/domain. What's important is that these devs are open to learning something new should their job call for it.

Anyways, just wanted to throw in my two cents; good article overall.

Collapse
 
dsaga profile image
Dusan Petkovic

Interesting read, lots of valid points, but there's no clear cut factor that determines if you're a senior or what you need to do to be one, but having a mentor that can help you in your journey is a very good way to make progress.

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

Thanks @dsaga - 100% agree, is much easier if you learn from someone that has been there before

Collapse
 
ryanpwalker profile image
Ryan Walker

One thing that screams "Junior dev" is the attitude of "let’s build it and we will find out".

Generally, yes, but I definitely wouldn’t say always. Sometimes devs spend too long overthinking or over-architecting when you can find answers faster by just building.

Collapse
 
pifadom profile image
pifadom

For juniors aspiring to excel in software development, learning from senior developers is invaluable. Senior developers exhibit traits that juniors can master to enhance their skills. These traits include effective problem-solving, strong communication, mentorship, continuous learning, and a deep understanding of software architecture. Embracing these qualities will undoubtedly contribute to a junior developer's growth. It's like being a "Door Bell Geek" – always ready to learn and adapt, just like a doorbell that responds promptly.

Collapse
 
gerge45678 profile image
George Horry • Edited

Senior developers often exhibit traits such as strong problem-solving skills, effective communication, mentorship capabilities, a deep understanding of software architecture, and the ability to lead and collaborate within a team. Junior developers aspiring to reach senior roles can benefit from mastering these traits to enhance their career growth and contribute effectively to their teams. " Download CapCut " to create engaging videos and showcase your coding journey as you develop these essential skills.

Collapse
 
abbeycity500 profile image
Arowolo Wahab Abiodun

πŸ™ Thank you for the words of insight and discernment! Your advice on maximizing our time to reach the goal of becoming a senior developer is invaluable.

Collapse
 
harsh2909 profile image
Harsh Agarwal

This article is really informative. Whenever I was reading your points, I was thinking of our TL and now I understand how or why he do those things (especially the part of design principles)

Collapse
 
dragosnedelcu profile image
Dragos Nedelcu

Thanks for the feedback @harsh2909, glad you found it useful

Collapse
 
justynclark profile image
Justyn Clark

As a for real senior software engineer I approve this article

Collapse
 
deolawage profile image
Deolawage

Thanks so much.

Collapse
 
dev-alamin profile image
Al Amin

Good writing

Collapse
 
danielx17 profile image
Daniel Enesi

Thank you so much. This is insightful.

Some comments have been hidden by the post's author - find out more