Welcome back to The Modern Software Developer. In this month’s issue, I’m taking a high-level view of the Senior Developer role by exploring “Senior Developer Archetypes - Which One Are You?”, in collaboration with
: author of thenewsletter.Hang about until the end to see which archetype you relate to most.
Introduction
was one of the first developers to book one of my free Mental Health Chats a few months back. Since then, I’ve admired his content and watched in awe as his newsletter subscribers have skyrocketed.So when I decided to write about the Senior Developer role, I thought it would be ideal to get some insights from Jordan… Being the awesome guy he is, he agreed, and we jumped on a call to throw some ideas around.
So, what comes next is the result of that conversation and our collective thoughts and ideas on the topic.
We were probably on the call less than two minutes before Jordan mentioned that there are different types of Senior Developers… and seconds later, I had images of various Senior Developers I’ve worked with over the years who were entirely different from each other…
We explored some of these Senior Developer archetypes and discussed the tech skills and attributes a Senior Developer should have. We also discussed how to make the role your own and what excellent looks like.
Let’s jump into it…
The Senior Developer
It should go without saying that a Senior Developer has extensive technical knowledge and some solid industry experience under their belt. They’ve probably played an integral role in several projects, and the people they work with have learned to trust and depend on them.
It’s not just about low-level detail, though; a Senior Developer has to start zooming out and take note of the bigger picture. They need a high-level view, too.
They take more interest in how systems communicate with each other and how resilient they are, and they’ll be more interested in the product roadmap to make informed technical decisions in the future.
As a result, a Senior Developer often has a broad level of knowledge compared to a Mid-Level Developer.
Areas of Knowledge
Senior Developers have base-level skills in key areas that wouldn’t necessarily show up for the Mid-Level Developer or below.
These areas demonstrate a higher level view and awareness of what’s involved in producing a software system rather than a component or single application.
As such, having a more profound knowledge of:
👉 The software development life cycle
👉 System design
👉 Architecture
👉 And Security
…are core aspects of being a Senior Developer.
*These areas are not definitive, and you can expect them to differ somewhat between frontend and backend seniors. Feel free to let me know what you think I've missed. 👍
They’ll actively discuss working practices, coding standards, frameworks and tooling.
They’ll also have a say in how applications are:
👉 Architected
👉 Designed
👉 Deployed
👉 Monitored
👉 And Scaled
This could be to a greater or lesser extent depending on how many Senior Developers a company has.
That being said, some Senior Developers will hold such a position based on their specialisation in one or two areas, but the likelihood is that they will have an awareness and a certain level of skill in most areas.
As we’ll touch on shortly, not all Senior Developers are the same… you can make the role your own by following your areas of interest.
It’s not necessary to be the absolute expert in every area. There will always be scope to lean into your strengths, work on your weaknesses and elevate some areas above that base level.
Believe it or not, it’s common for Senior Developers to harbour doubts about their abilities and knowledge, thinking they don’t know enough or don’t have deep enough technical knowledge, but that’s perfectly natural…
Senior Developer Attributes & Soft Skills
It’s fair to say that Senior Developers share several common attributes, too.
However, when it comes to soft skills, it’s a mixed bag, as you’ll see when we get down to the Senior Developer Archetypes!
I’ve not encountered many good Senior Developers who didn’t demonstrate all these attributes to some degree.
👉 Problem-solving
👉 Curiosity
👉 And Continuous learning
…are the cornerstones of any self-respecting Senior Developer.
Taking ownership gives them a sense of satisfaction, contributing to others learning to trust them.
Whether actively seeking solutions to tomorrow’s problems through learning new tech or adapting to the changing landscape of a team, company or even the industry, being proactive and adaptable has gotten them where they are.
And, of course, every Senior Developer has at least one eye on code quality to some degree!
*What other attributes do you associate with Senior Developers?
Soft skills are where we get the most disparity among Senior Developers, and they can be the biggest differentiator from one Senior Developer to the next.
I’ve witnessed some awful examples of very technical Senior Developers with extremely poor soft skills, and I might have fallen into that category myself once upon a time.
The best Senior Developers are the ones who embrace their deep technical knowledge and their positive attributes and build on that super solid foundation by developing their mindset and soft skills.
Fantastic soft skills for a Senior Developer to excel at are:
👉 Communication skills
👉 Teamwork
👉 Empathy
👉 Knowledge Sharing
👉 And Mentoring
Remember, Software Development is a team game.
What Does Excellent Look Like?
As previously discussed, good Senior Developers will have most, if not all, of these skills to some degree.
So, when we think about what excellent looks like, we are talking about areas in which a Senior Developer either specialises, puts in extra effort to improve above the base level or is naturally suited. (More applicable to attributes and soft skills than technical skills).
So what’s the secret recipe?
What is the perfect combination of technical skills, attributes and soft skills to produce an excellent Senior Developer?
Well… it could look like this…
Or this…
Or even this…
The truth is, there is no magic combination. An excellent Senior Developer could be any combination of these.
One thing is for sure: the more of these areas that aren’t present at all, the further away that person is likely to be from being an excellent Senior Developer.
Senior Developer Archetypes
In recognising that many types of Senior Developers can be successful, here’s a list of 5 Senior Developer Archetypes that
and I came up with… You can blame me for the cringy names!Again, this is not a definitive list; if you’ve got one in mind, let me know what it is, along with it’s cringy name 😂
Trailblazer-Trevor
Pros:
👉 Boldness: Trailblazer-Trevor is known for their bold approach, often asking for forgiveness rather than permission. (Can be a pro and a con…)
👉 Quick Problem-Solving: They solve complex issues rapidly, aiding efficiency.
👉 Innovation: They drive innovation and experimentation with new tech.
Cons:
👉 Isolation: They often work alone, hindering collaboration.
👉 Technical Debt: Rushed solutions can lead to maintenance issues.
👉 Team Dynamics: Their impatience can harm team morale.
Perfectionist-Pete
Pros:
👉 Precision: Perfectionist-Pete ensures code quality through meticulous attention to detail.
👉 Reliability: They produce consistently high-quality work, boosting team confidence.
👉 Long-Term Stability: Their thoroughness reduces the likelihood of technical debt.
Cons:
👉 Slow Pace: Perfectionist-Pete's pursuit of perfection can slow down project progress.
👉 Overcritical: They may excessively critique others' work, affecting team morale.
👉Risk Aversion: Their reluctance to take risks may hinder innovation and adaptability.
Mentoring-Meastro-Mark
Pros:
👉 Mentorship: Mentoring-Maestro-Mark excels at guiding and developing junior team members.
👉 Knowledge Sharing: They promote a culture of continuous learning and knowledge sharing.
👉 Team Cohesion: Their mentorship fosters strong team bonds and collaboration.
Cons:
👉 Time-Intensive: Mentorship can be time-consuming, affecting their own project contributions.
👉 Dependency: Team members may become overly reliant on their guidance.
👉 Innovation Pace: Their focus on mentoring may lead to slower adoption of new technologies.
Pragmatic-Pam
Pros:
👉 Efficiency: Pragmatic-Pam prioritises practical solutions for efficient project delivery.
👉 Risk Management: They make calculated decisions to mitigate risks effectively.
👉 Stability: Their approach provides project stability and reliability.
Cons:
👉 Resistance to Change: Pragmatic-Pam may resist adopting new, unproven technologies.
👉 Innovation Limitation: Their focus on practicality can hinder the exploration of innovative approaches.
👉 Quality: Pragmatic-Pam's pragmatic approach to getting the job done can sometimes come at the expense of code quality.
Raging-Roger
Pros:
👉 Technical Excellence: Raging-Roger possesses exceptional technical skills and expertise.
👉 Decisiveness: They prioritize making quick decisions and driving progress.
👉 Efficiency: Their approach can lead to fast issue resolution and project advancement.
Cons:
👉 Poor Communication: Raging-Roger's impatience can result in dismissive or disrespectful communication.
👉 Pull Request Comments: They tend to write sharp or critical comments on pull requests, which may demotivate others.
👉 Lack of People Skills: Interpersonal skills are lacking, which can negatively impact team dynamics and collaboration.
Final Thoughts
The Senior Developer role is a step up in responsibility, but the disparity from one end of the spectrum to the other can be pretty significant regarding competence.
Some will lean heavily on their tech skills and neglect their soft skills.
Some will lean into their soft skills and take a lighter yet broader approach to the tech side of things.
The path to success is often determined by the company they work for, the team they find themselves in and what they need at the time.
That’s why so many different shapes and sizes of Senior Developers can ultimately be successful and why one doesn’t need to be an expert in every possible area.
The 10x Senior Developers out there tend to be a mix of these archetypes; They extract the best of each and drop the rest…
Finally, a big thanks to
for collaborating on this; check out his newsletter —>for actionable advice to grow faster in your career. 👍Remember
It's not selfish to put yourself first; there's nothing more important than your own wellbeing!
Know someone who might find this helpful? Do them a favour and share it with them.
Until next time...
Sheesh, I love this. The break down is clear and helpful.
Had a great time chatting with you and collaborating on this, Richard. Love how it turned out!