What makes a senior developer?

If there is one creature that has an almost mythical aura in the corporate world, it’s the senior developer. Wise, battle-hardened and elusive, they are in high demand.

I’ve worked with companies that only hired seniors because “they were better”. I’ve seen consultancy firms send their new hires on certification courses so they could sell them as “senior”.

Big enterprises are willing to pay through their teeth for these profiles, but what makes a dev a senior dev?

Most people in hiring departments will point at the years of professional experience and there is some truth to that. You can’t be fresh out of school and be a senior developer.

Senior devs have a few projects and teams under their belt and they have a good picture of how software development works. With that experience comes a form of wisdom. Junior developers are experiencing most of this for the first time and every month brings surprises. Seniors see a bigger picture.

But there is more to it. There are certain traits and skills we develop in the course of our career that are not directly tech-related.

What sets senior developers apart from the juniors is how they work with others.

They communicate

Great developers are master communicators. Where juniors are still overwhelmed by tech stacks and Scrum rules, seniors are focussing on communication. They have learned the value of clean code, clear agreements and to-the-point questions. When a senior dev starts to work on something, the Why, What and How have been clarified upfront.

They simplify

Nobody understands the cost of complexity better than the developer who has paid the price for it. Junior developers write convoluted code that “works”. After maintaining a few of those nightmares, we learn to aim for simple solutions. Senior developers are the simplification agents your team needs.

They question

Experienced developers constantly challenge the team. Do we really need this? Is this really the best way to build it? Shouldn’t we do the other thing first? Juniors believe a team has a know-it-all boss. Seniors understand each has their own expertise and lift the team up with theirs.

They support

Now we’re getting into interesting territory. Software development is hard and difficult. Most people in the industry will have some form of imposter syndrome. A senior dev is in the best position to support. They understand the hard tech parts and have been through a few of these projects. They stand out by listening to developers, analysts, managers, customers, stakeholders, salespeople…

They amplify

Senior developers are amplifiers for their teammates. The infamous 10x developer is the one who lifts up 5 juniors. It doesn’t make sense to hire only seniors. They cannot boost each other as much as they could a junior. Junior devs write confusing code. Analysts write overly detailed specs. Managers dole out bad estimates. An amplifier makes all of them better at their job.

Senior developers play a pivotal role in a software team. It’s impossible to build quality products without them. They are the veterans of the industry and we need them on our teams.

Oh, and of course they need to have 10+ years experience in AngularJS.