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 are a lot of people that have this dream, there are also lots of people that write about how to attain it. Instead of contributing to all that noise, I decided to do a survey of as much of the existing noise as I could find.
So I went through 21 articles that came up when I searched for "How to become a senior developer" and adjacent searches.
The articles typically discussed the things you need in order to become a senior developer. There were not a lot of step by step guides like I was expecting, but more checklists of things that senior devs should be able to do. These fell into two major categories:
"T shaped" knowledge
The vertical bar on the letter T represents the depth of related skills and expertise in a single field, whereas the horizontal bar is the ability to collaborate across disciplines with experts in other areas and to apply knowledge in areas of expertise other than one's own.
T shaped knowledge is really useful as a developer, since we have to dive deep in order to get any work done at all, and nobody can have deep in all areas of development, so being able to collaborate is very important.
Here is a great article on how exactly to develop T shaped knowledge.
There were three major threads that came up around the topic of mentorship.
The first is to have a solid mentor or mentorship network. In addition to being able to contribute individually at a high level (being good at making software), senior developers are also expected to have good interpersonal skills. In order to develop those skills, you really need mentorship by someone who already has them. It's not really possible to develop those skills in a vacuum.
The second thread goes along with the first. You need to know when to ask for help. Working with others means being able to rely on them, and knowing your own limits.
The third thread is providing mentorship to others. The real value of a senior developer is that they empower others to be better developers too. This means little things like not being a jerk in code reviews, but also being a good teacher to newer developers. This also takes practice.
"The Big Picture" is one of those things that people say a whole lot but can mean so many different things. Going through all of these articles, they tend to mean any (or all) of these things:
I don't get the impression that there is a quick way to build these skills. It seems to be that it's just a matter of experience.
Part of this is accountability. Being able to accept responsibility for the big picture can take you a long way.
Senior developers are more cautious, thoughtful, pragmatic, practical and simple in their approaches to solving problems.
This includes thinking about the impacts of your code in the long term, and being able to craft elegant solutions to the problems you encounter.
This one is really simple to express, but very hard to do. Make it known at your place of work, especially to those who make decisions: "I want to be a senior developer". If you don't tell people that this is the path you want, they probably won't just assume it.
As my favorite article said:
It’s not by learning new hot framework or language... To put it bluntly, it’s more about understanding what to build and if it’s worth building instead of how to build it... [A] Single person possessing knowledge of both “what” to build and “how” to make it happen can deliver superior results.
I think these are a lot more indicative of the developer culture, but aren't really all that useful. Don't take these too seriously, just have a laugh.
This came up so often that it made me laugh. As we all know, you can't get better if you don't type like a hacker on tv. A lot of similar advice to get good at your IDE of choice (gotta know all the shortcuts!). I think the kernel of truth here is you should feel comfortable with your tools, whatever that means for you.
A lot of advice to make sure you know the favorite thing of whoever wrote the article. Considering that there are still a ton of COBOL jobs out there, there is no particular technology that you need to know.
There is this pervasive idea in tech that you need to work on side projects in order to grow as a developer. This is just not true. You don't need to be spending every waking moment of your life working on some kind of programming thing.
In my experience there are three reasons to work on a side project:
If you want to do all three at the same time, then side projects would probably be perfect for you! If that's you, then you're in the right place! Check out WeeklyProject.Club.
If that's not you, don't feel bad about it!
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.
Here's the list of articles I went over. Each article has a breakdown of its key takeaway. Since most of them are listicles, they just have each point of the listicle, since that was typically the only substance the article had.
It’s not by learning new hot framework or language... To put it bluntly, it’s more about understanding what to build and if it’s worth building instead of how to build it... [A] Single people possessing knowledge of both “what” to build and “how” to make it happen can deliver superior results.
And there you go! Now you never have to read another article about "How to Become a Senior Developer" again. What will you do with the extra hours of your life? Let me know in the comments! Alternatively, reply with which of these you struggle with the most.
Special thanks to our guest blogger Sam Borick for his contribution to the Ronald James Blog this week.
We are a leading niche digital & tech recruitment specialist for the North East of England. We Specialise in the acquisition of high-performing technology talent across a variety of IT sectors including Digital & Technology Software Development.
Our ultimate goal is to make a positive impact on every client and candidate we serve - from the initial call and introduction, right up to the final delivery, we want our clients and candidates to feel they have had a beneficial and productive experience.
If you’re looking to start your journey in sourcing talent or find your dream job, you’ll need a passionate, motivated team of experts to guide you. Check out our Jobs page for open vacancies. If interested, contact us or call 0191 620 0123 for a quick chat with our team.
Back to Blog