DEV Community

Discussion on: What do you think it means to be a Senior Developer?

mr_eking profile image
Eric King

To me, a senior developer is distinguished by a number of things:

Deep knowledge of the tools and languages that their team uses. A senior developer should be very comfortable using the development tools at their disposal, and be very comfortable with the features, capabilities, shortfalls, and idioms of the programming languages used.

Deep knowledge of the products or applications they are building. A senior developer should be aware of the goals of the product features, the way the application's users use it, where the pain points are, where the good parts are. They should be aware of the history of the application, as in what's been tried and discarded in the past, and why. What has succeeded, and why, etc.

Deep knowledge of the process of developing the application. A senior developer should know the features are defined. How the code is written and integrated. How the product is deployed. How the users are made aware of the new features. How feedback is gathered so the next cycle can begin, etc.

Senior developers should model behavior for the non-senior developers on the team. When they learn something new that makes them happy, they share it. When they don't know something, they admit it. When they're feeling a little burnt out, they say so. They learn together.

Of course not every senior developer is going to do or be all of these things, but if someone doesn't do or have any of these things, I would be hard-pressed to consider them "senior".

And while most of these things generally take time to develop, I don't consider time itself to be a major component of being "senior". I've worked with young, new developers who embody all these things, and I've worked with folks who have been writing pretty much the same few thousand lines of code over and over again for their entire career. The former I would consider "senior" material, the latter, not so much.

murkrage profile image
Mike Ekkel Author

Personally I think time is never a good indicator. This doesn't just go for seniority, because too often time is used as an indicator for experience. The problem with that is that it doesn't give you the whole picture. I've also come across junior developers that were extremely new to the field, yet showed almost all signs of what I would call a senior developer.