View profile

What Does It Take to Be a Senior JS Engineer?

What Does It Take to Be a Senior JS Engineer?
By Mastering JS Weekly • Issue #54 • View online
I was recently on the Junior to Senior Podcast with JSLA organizer David Guttman. This podcast is all about what it takes to get promoted from “Junior Engineer” to “Senior Engineer” - a substantial hurdle for many developers. I personally struggled with this and was stuck in SE3 land for a couple of years.
This got me thinking: what does it take to get from junior engineer to senior engineer if you’re writing JavaScript?
First, the real but unpleasant facts. Senior Engineer, like all job titles, is primarily about being recognized as such by your coworkers. If your goal is to get promoted, the single most important skill to master is negotiation. The 2nd most important skill is self-promotion: make sure your manager and your manager’s manager know about the great work you’re doing.

Skills Matter
So is getting promoted to Senior Engineer all about negotiating and navigating office politics? Not exactly. Being a good negotiator and/or being well liked by your manager is typically necessary, but not sufficient to get promoted. We’re called software developers for a reason: if you’re not developing software effectively, you won’t have any work to promote or leverage when negotiating.
What skills do you need to be a Senior Engineer? One sentence that always seems to pop up in Senior Engineer job descriptions is “go-to expert in one area of the codebase.” See here, here, here, here, here, and dozens of other Senior Engineer job listings that use this same exact phrase word-for-word.
In my mind, this sums up the difference between a Junior Engineer and a Senior Engineer: a Senior Engineer is someone you trust to take ownership of a meaningful part of the code with minimal oversight.
Depth, Not Breadth
For Junior Developers looking to get their first job, I recommend learning a lot of different topics at a relatively shallow level. Breadth, not depth. This maximizes the chances a potential employer sees you as a good technical fit, and also encourages you to get experience with different ways of doing things.
For Junior Developers looking to get promoted to Senior level, I recommend learning a few concepts in more depth. If you’re a Junior Developer writing both JavaScript and Python on a bunch of different code bases, ideally try to pick one language and one code base that you’ll be the “go-to expert” on.
In order to become the go-to expert, it helps to learn the software that’s “one hop” away. If you’re looking at a backend service talking to Kafka, you’ll need to become comfortable working with Kafka. You don’t need to become a Kafka contributor, but you should be comfortable reading Kafka error messages and understanding Kafka limitations. If you’re looking at a frontend Vue project, you should become familiar with any APIs the project uses. If the APIs are internal and written in Express, you should be able to read the API code and understand what’s going on.
As a Junior Developer, you should be looking at a bunch of different projects and development paradigms to see what is a good fit. To get promoted to Senior Developer, you should double down on one project and one set of related tools and level up your expertise in one area.
If you're looking to double down on Vue, Vue School is a great place to start!
If you're looking to double down on Vue, Vue School is a great place to start!
Most Recent Tutorials
JavaScript Enums - Mastering JS
How to Make PATCH Requests with Axios - Mastering JS
How to Check for `NaN` in Javascript - Mastering JS
Other Interesting Reads
My 3 Favorite JavaScript Interview Questions |
Dan Shaw - Godfather of Node.js | Junior to Senior with David Guttman
Did you enjoy this issue?
Mastering JS Weekly

Pragmatic web development. No bloatware allowed!

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue