How to Tell if You’re a Middle or Senior Developer?
What if I told you that tech skills are not the key differentiator between Middle and Senior Developers? Read on to find out what is.
Jul 29, 2022 | 10 min read
If you’re part of the tech industry, you probably know this problem: lots of middle developers are considered senior developers, and many junior developers end up in mid-level developer positions.
Why is that?
In my experience as a CTO who has hired and managed many developers in the past few years, it all boils down to issues like:
Constant skills shortage in IT,
Pressure from clients to always have top experts in their team.
According to data from the European Commission, Poland has been experiencing a skill shortage in IT equivalent to 50,000 developers missing from the market. The situation isn’t any better in the United States, where there are 920,000 unfilled IT positions.
As you can see, skill shortage in IT is a risk affecting companies all over the world. Add to that the following issues:
Lack of alignment between role requirements and job postings (ending up in a situation where a junior developer applies for a senior developer position),
Unrealistic financial expectations (even by 200%!),
Poorly matched applications that increase HR and recruitment costs.
We’re dealing with unclear definitions of junior, mid, and senior developer roles, HR chairs, and developers themselves getting confused on the job market.
In this article, I will clarify what mid-level developer and senior developer roles are all about to help you navigate through the tech landscape. As a CTO, I believe this topic to be critical to how we build Poland’s position in the IT outsourcing market.
So, let’s start at the beginning.
A junior developer with generally more than a year of experience in commercial projects can become a mid-level specialist. They play a critical role in IT because the impact they deliver lies in routine code.
A mid-level dev is largely independent and responsible. Thanks to their experience, middle developers can develop solutions to simpler problems or find information about other opportunities. Communication and other soft skills are an important part of their skill set too.
A middle developer has solid technical and coding skills such as:
good knowledge of the programming language in which they work
solid coding skills and awareness of the industry best practices for writing code and managing the codebase
the ability to analyze and apply the right solutions to the problem at hand
After all, mid-level developers have already worked through most of their "childhood" challenges as junior developers. ;)
Just to give you an example from our tech stack:
A mid-level frontend developer using React is up-to-date with novelties in the framework, has excellent knowledge of CSS, an eye for detail, and more.
A mid-level backend developer using technologies like Node.js sees basic repetitiveness and skillfully uses design and architectural patterns, has experience with databases and tools for creating inquiries, knows best practices in communication styles (REST, RCP), among other things.
In my experience, middle devs are people who tend to be 26+ years old, but this isn’t a rule set in stone (so many people transition their careers to IT and become great developers too).
Here are some tell-tale signs that you have a great mid-level developer in front of you:
They have at least one year of commercial experience.
You can see that they have the right mindset (growth mindset).
They have a well-defined career path and value professional development most (opportunities to learn new things during projects, online courses, conferences).
They take on more difficult tasks to prove themselves and are also involved in the code review process to educate others.
They’re able to look for solutions independently and use the help of a senior developer in key moments.
When encountering a problem, they ask correct questions and don’t fixate on their solution but listen to others instead. They’re not afraid to ask for help.
They can already make some decisions but prefer to consult them with a senior developer.
They take part in conversations with clients - they still need to gain some experience there, but they’re ready to embrace business insight and empathy. They’re already client-focused, not code-focused.
They want to work in a company that trusts their experience and allows them to decide in which direction the project should develop.
They have the right personality traits: a committed, proactive, and trustworthy person - responsible, hardworking and communicative. They are aware of their strengths, but also know how much still lies ahead.
Ok, so how do you become a senior developer?
First of all, it pays to remember that seniority is about more than hard skills. Technical skills are just the foundation or starting point.
Among the technical skills of a senior developer, you can find everything I mentioned related to mid-level developers and more:
experience with many libraries and the ability to use them at the right moment,
ability to simplify code (KISS and DRY methods in their blood),
a lot of experience in many projects and solving different problems,
not doing the same thing over and over again but making things better in every project (#growth).
All of the skills above are a must-have. But what really differentiates a senior developer from a mid-level is their attitude, mindset, and soft skills. And developers tend to forget about that as a key part of the software development process. ;-)
You’re probably wondering about one thing now...
Build your modern Web App with top React & Node.js engineers
This ability is crucial: combining hard and soft skills successfully.
There are no ideals here, of course. But if I had to show you a pattern, a role model senior dev would be an experienced frontend or backend specialist who knows how the others work or had a full-stack episode in their career. This person has at least 5 years of commercial experience and many projects on their back. Ultimately, they realize the full-stack model and their skills match the team’s needs perfectly.
You can call yourself a senior developer if:
you have rich practical experience and technological "intuition" based on mastering your tech stack.
70% of your work is about working with people and requirements, and only 30% is development.
you have strong soft skills and business awareness (these are critical).
you’re interested not only in technical news but also in the business perspective of software development.
you can understand the client and carry out effective conversations with them (for example, you know what not to tell the client or which technical details to skip).
your goal is to solve complex problems, look at the project from a broader perspective, and teach/mentor others.
you’re ready to help and can offer your proven good practices to others. You’re a mentor, teacher, but also someone aware of their own continuous education.
you care about the general atmosphere among team members, are attentive to communication problems and know how to solve them.
you’ve grown out of the junior developer excitement with new products or jumping from project to project.
you can explain to others why some projects are great candidates for experimentation while in others, fun can become very expensive.
you can make decisions quickly under time pressure and take responsibility for your actions.
you focus heavily on new technologies and aren’t afraid to try something new to form an opinion or add something to your skill set.
It all depends on your environment.
Each company approaches this differently. For example, at MasterBorn we have a natural knowledge exchange happening across teams.
We focus on teamwork and cooperation, which is why we actually have several people on the border of mid and senior devs. There are technical seniors who have technical skills, and experience in battle - but their main strength is focusing on the tasks at hand.
We care a lot about their development and the natural growth of mid-level developers towards the senior level. Conditionally, these people also have want that. You might find this surprising, but that’s not always the case - and that's OK!
As a CTO, I understand that some people will remain mid-level developers with 7 or 10 years of experience simply because they don’t feel like developing soft skills and prefer to focus on their technical competencies instead.
Pushing such a person towards empathy and becoming an extrovert is a bad idea. It’s not going to work out for anyone - not for the software engineer, the entire team, and the project.
At MasterBorn, we also have a place for great (sometimes outstanding) field experts who are sometimes difficult to communicate with. In such cases, my role is to manage the process and build a comfortable working environment for them (and the entire team).
One of our company values is acceptance, and you can see how it works in practice in such cases. We help our programmers to develop more empathy and mutual awareness. We want them to become more open-minded - and to achieve that, we always share feedback openly and give them the right to be themselves or realize their values at work.
Not everyone has to be promoted "vertically" - from junior developer all the way to senior - and I'm fine with that.
Here are a few misconceptions in how recruiters tend to differentiate between these two roles:
2 years of experience - this might be listed as a requirement for senior developers and only leads to confusion.
unrealistic expectations towards the listed requirements (overstating one's skills)
generally phrased requirements that prevent people from understanding whether they’re a good fit for the role
general confusion around developers’ own skill level
First of all, I encourage you to avoid fixating on the title here. It doesn’t matter what position you have in the company, but what value you bring to the team. By focusing on values and communication, you will see how the senior level comes around organically.
Sometimes a junior developer is worth much more than a senior developer. Seriously, I have witnessed such a case once, so I personally look for people focused on work, cooperation, and impact. And then I’m pretty sure the title will appear naturally with time.
I hope that this article showed you the importance of soft skills and where you should focus in your professional development to land the job of your dreams.
Table of Content
- Who is a mid-level developer?
- How to identify an ideal mid-level developer?
- How to become a senior developer?
- When should you call yourself a senior developer?
- Can I be a non-ideal senior?
- Can you have 10 years of experience and still be a mid-level developer?
- Is the border between being a mid-level and senior developer too thin or too thick?
- Are you a senior developer, then?
We build beautiful products for U.S.-based startups
Front-end, Back-end, DevOps vs Full-stack: A Developers’ Guide for Founders and CEOs
The market demand for developers is growing. Plenty of companies are looking to hire a new developer for a project or their team. At the same time, the technology industry is becoming increasingly complex and developers are getting specialized in many disparate areas.
Company Values Part 1: Clarity vs Slack
At MasterBorn, we repeatedly emphasize Clarity as a core value, but how can you ensure clarity in a text based chat (e.g. Slack)?
Front-end, Back-end, DevOps vs Full-stack – krótki przewodnik dla założycieli i CEO
Piętnaście, dwadzieścia lat temu do polskich firm nagminnie zatrudniano Informatyków, czyli speców "od wszystkiego". Pięć, dziesięć lat temu poszukiwani byli Programiści danej technologii, a słowo Informatyk stało się symbolem minionej ery (i synonimem lekkiego obciachu). Obecnie branża IT stała się bardzo złożona, a Developerzy coraz częściej specjalizują się w dość wąskich dziedzinach, przez co nazwy ich stanowisk bywają często niezrozumiałe dla managementu i biznesu.