Let me start with a classic caveat: I cannot bestow upon you the title of senior developer. I have no special insight into how companies these days are hiring and promoting people to senior developer roles.
What I can tell you is what qualities I think would make for a heck of a senior developer. I can tell you how I think about the distinction between senior developers and those who aren’t quite there yet. Should I, one day, be in charge of a legion of developers where it was my call what level they were at, this is what I would think about.
A senior front-end developer has experience.
There is no way around this one. You aren’t going to roll into your first job a senior developer.
You probably won’t roll into any new job a senior developer. Even if I was pretty sure a person was going to be a senior developer and previously has been, I’d probably wouldn’t start them there, just because there is no guarantee they can be just as effective in a completely new environment. Even if the tech is the same, the people aren’t.
A senior front-end developer has a track record of good judgment.
Development isn’t only about writing code, it’s about making choices. Good choices are researched, discussed, and influenced by instinct and experience. When you make a choice, you are demonstrating your judgment to everyone watching. If you make it clear that your judgment is informed, ethical, and as transparent as it can be, that’s a good thing. If you do that over and over, that makes you senior.
A senior developer has positive impact beyond the code.
If the only thing you contribute to a team is coding chops, you probably aren’t a particularly good candidate for a senior developer. Code isn’t written in a bubble. Good code, anyway. Good code is a reflection of a team, a product of a cohesive vision, and a foundation for an organization’s goals. To participate in good code, and demonstrate your ability to be a senior developer, you don’t isolate yourself, you sit in the middle of the table (metaphorically).
Soft skills are no joke. A senior developer can write clear emails, rope people in around ideas, lead meetings, and just clean the damn soup explosion in the microwave before it turns into a productivity-draining war of passive-aggressive post-it notes (metaphorically).
A senior developer is helpful, not all-knowing.
Say a co-worker comes up to you and asks you something, and you have no idea what the answer is. Does that mean you aren’t ready to be a senior developer? Absolutely not. It’s all about how you answer that question that makes you senior or not. Can you help suss out why they are asking to get more context and be more broadly helpful? Can you offer to help find the answer together? Will you do some research afterward and follow up with them?
Even if you do know the exact answer, just delivering it and spinning your chair back around to continue typing is a worse answer than digging into the question together with your co-worker.
Being a senior developer doesn’t mean you have to know everything, it means you can help find out anything.
A senior front-end developer is a force multiplier.
This is my favorite one by far.
There are developers who are, on paper at least, multiple times as effective as others. Twice the commits, twice the lines of code written, twice the bugs closed. You can absolutely aspire to be a developer like that, but it doesn’t automatically give you the senior card.
The best (and most senior) developer on a team is the one who multiplies the effectiveness of their fellow developers. Perhaps that amazing developer on your team is able to be that way because someone else is freeing up their day to make that possible. Because someone else has created a rock solid dev environment that fosters productivity. Because someone else taught them and gave them the keys to be that way.
A developer who is a force multiplier for the entire team is absolutely a senior developer.
I can’t promise that doing these things will make you a senior developer.
I have no power to tell the chain of command at your office to think about these things and factor them into their decision-making. I can say that this would be my advice to them, should they be seeking it, on how to promote developers.
Are you in the position to promote developers? Have you? Share your thinking with us!
I would also add that a Senior Front End has bare bones basic skills on the back end, along with SQL DB knowledge.
A easy way to learn is by just pulling down .NET Core on Win/Linux/Mac and just start writing LINQ Queries against a dummy schema (model).
Yes – the Senior likes to stray from her normal routines, and comes back with fresh inspiration for the rest of the team, while not trying to enforce some obscure tech.
Agree! A shocking number of job applicants pose for “Sr Dev” positions fresh out of Boot Camp. Can’t log into a Linux box, check permissions on a file, of explain RGB color values. Really? Come back after a few years of learning the ropes.
I think these are all really good points, but they are very qualitative and hard to measure.
The problem with hiring front-end developers now is that different companies have differing requirements from their front-end developers. Some of them need to be really good at creating style guides, some have to know their way around a front-end node js application, making its hard to tell what a front-end developer really is and even harder to measure what a senior front-end developer is.
I totally agree, and my favorite excerpt is “Being a senior developer doesn’t mean you have to know everything, it means you can help find out anything.”
More food for thought, AWARENESS: https://css-tricks.com/front-end-developer-aware/
“Development isn’t only about writing code…”
I can add that as a senior developer, you should also be able to understand the business aspects of your company and make decisions that benefit your organization’s bottom line. Moreover, a senior developer or technical lead, should be good with people. In my career, I have worked with very talented engineers, but they were disliked by their teammates and others for their lack of communication and people skills. Projects and overall process suffered because of this.
A Senior Developer spends a pile* of time in spreadsheets…no thank you!
I would add:
1) a senior developer has made a lot of mistakes both technically and with people, remembers and acknowledges their mistakes without blaming self or others, learned from them, and understands how to apply what they learned so the outcome is better better next time.
2) a senior developer can accept when projects they’ve worked on for years get cancelled; can fully embrace the new project and team; can apply their experience as they dive in and learn unfamiliar frameworks, languages and systems architecture in order to design and implement whatever is needed to build the solutions.
3) a senior developer makes it a point to publicly and genuinely thank team members during sprint reviews for helping them solve problems or get unstuck, and generally recognizes other team members for their contributions.
#2 is a tough one for me… kinda going through that sort of thing right now, and it’s really not easy.
Change title to “so you want to be a GOOD senior developer” since you dont need all these pointers to simply be a senior dev xD
What got me the most was:
I thought that to be a senior developer you’d need at least 5 years experience on the job or something better, but instead this is what the outcome usually in after 5 years on the field.
Even better than being called a senior developer would be more specialised terms, as well as senior developer. But I don’t think ‘senior’ would be a good term that people will want to show around — does it?
But to be ‘classed’ as a Senior surely does include the points in the article!
And that your could be a Senior ‘front-end’ web developer — I guess that sounds cool too, right?
If you’re only in for the pay $$$, then that’s a flawed concept.
What you do need to think instead, is that you contribute to the growth and fulfilment first as a human being, and in a business environment where you provide an amazing product/service to your audience!
How fulfilling is that? :)