Sunday, March 24, 2013

What defines a senior developer?

This is subjective. I consider myself a junior developer and I suspect I will always be, yet I've seen others use "senior" in their titles who… well, let's put it this way: I don't see why I can't slap that label on myself if they can. That would be using their measuring stick however and in using my own, I see myself as a junior developer. My definition for a senior developer:

  1. You can run a team.
  2. You can play architect.
  3. You can do the continuous integration stuff too.

 
 

I see three levels for developers:

  1. Senior
  2. Junior
  3. Noob/Layman

 
 

I think the notion of a midlevel developer is a euphemism. If you're "really good" but can't handle the senior role then you're really just a junior developer. When people speak of midlevel developers, those equate to junior developers in my model and when people speak of junior developers in contrast to midlevel developers, they are probably talking about individuals who need their hands held a lot. The "junior developers" in that model aren't far removed from laymen really, not in terms of what they bring to the table. If you are really a junior dev you should be competent enough to take away someone else's pain instead of adding to it by sucking up their time with questions. I'm giving some harsh subtext here about newbies, but I've also been there myself. I always hated it when my betters would roll their eyes at me instead of helping me. I seem to have somehow fought my way into the junior space from toolhooddom and on the other side of the journey I both understand the lack of patience and feel a strong desire not to similarly be impatient with someone who sincerely wants to learn and grow. Wow, I've really wandered off on a tangent...

No comments:

Post a Comment