DEV Community

I Read 21 Articles About How to Become a Senior Developer So You Don't Have To

Sam Borick on September 26, 2019

I think it's fair to say that almost everyone wants to move forward in their career. For some, that means becoming a Senior Developer. Since there...
Collapse
 
allison profile image
Allison Walker

Having taken a day to think about it, I still think it's a nice list and I still think many of these points are relevant to other careers.

However, I disagree with the idea in the articles that someone should need to be a mentor as a requirement for seniority. Objectively, some people are just going to be really good at what they do.

I'm basing this opinion on my experience in the visual arts and performing arts. Some people are just really good. They got that way as a combination of talent and practice. And maybe they also had a teachers that encouraged them to continue. But not everyone is cut out to be a mentor and no one would deny that these people are less "senior" for that reason. This is true, IMO, for any profession.

Maybe I'm overthinking this bit, but why can't senior devs be mentors just by being there? Just with day to day demonstrating good practices can help new developers (and artists) can learn what it takes to improve?

The big problem with this criteria is that I see "mentorship" in job descriptions — meaning employers intend to use it as an objective performance metric. I just don't think its accurate or appropriate for everyone.

Collapse
 
samborick profile image
Sam Borick

Thanks for the response Allison!

I think there's two different things people mean when they talk about 'seniority'. There's this concept of an individual contributor, someone who is able to do whatever they do extremely well in isolation and isn't expected to do anything related to management.

Then there's this other concept of the 'management track', where these high performers become managers of other people. This is not for everyone.

… but why can't senior devs be mentors just by being there?

I think this is totally fair! There is so much value in being an amazing individual contributor, this one included.

The reason I wanted to highlight mentorship is because I believe that most people can do a good job of mentoring, if they just put a little time into thinking about it and being intentional. It’s not for some people, but I think there are a lot of people who could be great mentors but haven’t tried to, because they don’t see how it would benefit themselves or their organization.

Collapse
 
allison profile image
Allison Walker

I don't think we disagree at all, Sam.

I know this is only one aspect being highlighted. My concern is only when it comes to employment decisions and performance evaluations. My thought is there can be different expressions of mentorship that don't necessarily have to be as explicit and traditional, and those can be valuable too. Perhaps thinking in this way can help more people consider themselves as mentors.

Thread Thread
 
murrayvarey profile image
MurrayVarey

Fascinating conversation -- I'd never considered the limitations with how organisations perceive mentors.

As you say, there are many forms of mentorship, some of which go unnoticed. Some of my best mentors have been excellent -- yet quiet -- developers who led very much by example. Despite saying little, every now and then they would offer a nugget of advice that completely changed how I worked. I wonder now if this was recognised.

Collapse
 
lfpll profile image
lfpll • Edited

Thanks for this post, I'm in that middle level devrloper where I don't know how to improve and what to do to become an senior level and this really help.

About the projects I don't totally agrrr, it's good to have projects ambitious because at least for me they made easier and more fun to learn new things like Google cloud, ci/cd and other things, and

Collapse
 
agnias47 profile image
Andy Gnias
"You don't need to be spending every waking moment of your life working on some 
kind of programming thing."

This is great advice. When I was in college it definitely felt like everything in my life should be centered around programming. It's good to keep in mind that life isn't all about becoming a senior developer and it's okay to have interests that have nothing to do with it.

Collapse
 
samborick profile image
Sam Borick

I'm going to spend my extra time saying hi to my neighbor's cats, although according to xkcd it will take me 2 months to get my time back.

I really struggle with finding mentorship. I'm a freelancer so I spend a lot of time working by myself, and in the midwest, there's no obvious place for me to go and find mentorship.

Collapse
 
kamranayub profile image
Kamran Ayub

Meetups perhaps, meet other tech folks and build relationships. If there isn't one around you, host it. One piece of advice I read recently, "If you want to network with people, be the one who hosts the meeting."

I'm not sure if co-working spaces facilitate discussions but there's that too.

Collapse
 
hassan_schroeder profile image
Hassan Schroeder

Look for local volunteer non-profit/civic tech groups like @codeforamerica brigades.

Collapse
 
mooreds profile image
Dan Moore

Don't forget, there are a number of dimensions to being a senior developer. A senior developer at a webdev consultancy is a vastly different job than a senior developer at Google, for example.

I wrote more about the various dimensions here: mooreds.com/wordpress/archives/2812

Collapse
 
aadityasharma profile image
Aaditya Sharma

This was really insightful. Appreciate the comprehensive list 👍

Collapse
 
samborick profile image
Sam Borick

I'm glad I could help!

Collapse
 
murrayvarey profile image
MurrayVarey
  • ... or Pragmatic Programming, or Clean Code, or some other popular book.* I won't lie, I tend to recommend both these books to junior developers. They taught me a lot. (Knuth, on the other hand, I haven't dared to crack open ... )
Collapse
 
andreasjakof profile image
Andreas Jakof

You don't need to be spending every waking moment of your life working on some kind of programming thing.

! Second that... since I made my hobby into a profession, I very seldom code in my free time.

This didn't come up nearly as often, but a lot of people tell you that you need to read Knuth, or Pragmatic Programming, or Clean Code, or some other popular book.

I did not read any of those and still I consider myself a senior dev, even though without the official title but by acknowledgement from my peers. And from time to time I think, I should at least once read the Clean Code. Not because I think it is „mandatory“, but because I think, that it gives you quite a lot of insight on how to write maintainable code.

Collapse
 
linevych profile image
Anton Linevych

T shaped knowledge

Can also stand for double-sided rake. Meaning that experience gives you enough pessimism that you always take into account the possibility of getting hit in the face with a handle even if the rake was placed teeth down.

Collapse
 
roberoni profile image
rob2001

I don't think title "Senior Software Engineer" exists anymore. With Tech stacks changing roughly every two or three years as well as development methodologies, there is no way to be "senior" in the field. Back when developers worked their whole careers in the same language and development process, the word "senior" in a title really meant something, but in today's fast changing technology landscape, someone who graduated three years ago and has been working for three years, will be more "senior" in those technologies than someone using another technology for 10 years. Today the most important thing is a developers current tech skill set. If you want to get "senior" pay, then you need to follow the most in demand tech stacks. These are the areas that will have a shortage of developers, driving the salaries up.

Collapse
 
samborick profile image
Sam Borick

I think the sentiment behind this is partially true, but not all the way. Being a developer isn't only about producing high-quality code, a big part of it is mentoring others. As someone on twitter said the other day, the most important product of a senior developer is more senior developers. Being able to mentor others is as important as churning out code.

Additionally, expertise in one framework definitely does provide some additional experience in others. When you're good at any programming language, you will be better at another than a novice.

Saying that there is no such thing as senior developers invalidate the skills that those people have.

Collapse
 
clairmont32 profile image
Matthew Clairmont

Thank you for reminding me to pick up Clean Code again as I stopped after chapter 3 (like it of course warns you against doing). I've also signed up for the weekly project club since I lose focus (and hope) on my own projects lol.

Collapse
 
samborick profile image
Sam Borick

I'm glad you got something out of this! Also welcome to the club!

Collapse
 
sebbdk profile image
Sebastian Vargr • Edited

I consider my self a senior programmer, in the popular sense of the word.

I’ve been doing this for 10+ years at varying places using lots of different tools. And I generally find my self helping out others, with concept explaining, debugging problems, mentoring, etc. as much as I work on my own.

I don’t really like the label tho, being a senior should not be a career path.

Being a better more versatile or specialized developer should be.

I have meet others labeled seniors that although good developers hardly had the experience to use their tools optimally, or even worse lets their skills stagnate to the point of uselessness in a updated context.

The tl;dr here is:
People use the label differently, and the moment you switch tool sets, or sometimes just update them it’s likely you go back to being a novice. Asking questions to that junior’ who just got out of school but happened to be taught about that new thing you want.

To heck with being a senior, be a better you instead.

Collapse
 
gredelston profile image
Greg Edelston

Great article, Sam! I was intrigued by your link to WeeklyProject.club. I was hoping to see a listing of previous and current projects, and maybe a listing of folks' submissions for previous projects. It looks like the club is pretty new, but I just wanted to let you know I'd be interested in those features.

Collapse
 
samborick profile image
Sam Borick

Thanks for the feedback! That definitely something coming soon!

Collapse
 
allison profile image
Allison Walker

Nice list.

I find it interesting that a lot of these are good tips for advancement in any job.

Collapse
 
mark_nicol profile image
Mark Nicol

What a lovely summary of a lot of good advice

Collapse
 
samborick profile image
Sam Borick

Thanks!

Collapse
 
opshack profile image
Pooria A

This is great work Sam, thanks for the article.

Collapse
 
everainbow profile image
EveRainbow

There is no extra hours, all extra hours going for learning and improving after this article))

Collapse
 
aleksandar874 profile image
aleksandar87

I think that title of the book is Pragmatic Programmer not Programming

Collapse
 
wilfred05777 profile image
Wilfred Erdo

Thank you for this man keep it up!

Collapse
 
dkassen profile image
Daniel Kassen

Yeah, I pretty much agree with all of this.

Man I really need to read clean code and pragmatic. They must be really good. lol

Collapse
 
jamesmh profile image
James Hickey

Great article! Lots of great resources to check out!