Junior Vs Senior Developers?

3 commentsWritten on December 29th, 2008 by
Categories: Opinions

Chris Brandsma recently wrote an insightful post about how we shouldn't coddle junior developers. It's a good post and i can definitely understand Chris' frustrations on the matter. There's just one thing i don't understand though: why do we even differentiate between junior and senior developers?

First of all, what's the difference between a senior developer and a junior developer? Is it merely the number of years of experience? In previous client engagements, i've seen more than my share of bad developers who've had years and years of experience. Would i trust those developers more simply because they have the experience required to be called 'seniors'? Hell no. Trust has to be earned, i don't care if you just graduated or if you've been writing code for 5 years or more.

When i have to work with someone i've never worked before, i assess this person's qualities and capabilities on two things: how he thinks about writing code (in general), and how easy he can pick up new concepts/practices/principles. That's it. A junior developer with little to no experience can often be a lot more valuable than a developer who has 5 years of experience under his belt and just assumes that he knows it all.

With a senior developer, you have to be lucky that he's learned from his previous mistakes (and every developer makes mistakes, no matter how good he is or how much experience he has), that he hasn't picked up too many bad habits and that he is open minded. If you can get a senior developer like that, consider yourself very, very lucky because there really aren't that many of them.

With a junior developer, you can easily mold them into the kind of developer you want them to be. They haven't really had a lot of time to pick up bad habits, and they are eager to prove that they belong at your company so they will be very eager to learn and improve. All you need is a couple of people who are willing and capable of teaching these young developers.

Of course, with junior developers you do have to live with the fact that they will make rookie mistakes. You have to review their work a bit more, and make sure that they learn from their mistakes. If you do this from the beginning, you'll quickly notice that the extra reviewing tasks will soon take up less and less work.

At my company, we don't really differentiate between juniors and seniors. The last couple of years, we've pretty much only hired young developers who just graduated. And so far, it's worked out great. They never get assigned easier tasks or anything like that, and they have to do the same kind of stuff that people with more experience need to do. The result is that we have a bunch of young developers (i think the average age of our developers is 24 or something) who already do a great job, and they're constantly getting better.

  • http://www.filip.duyck.org efdee

    The last couple of years, we’ve pretty much only hired young developers who just graduated.
    When I was there, this seemed like more of a financial decision than anything else :-)

    That being said, with junior developers at least you know they’re juniors. Most seniors I know are just juniors with the right age :/

  • http://davybrion.com Davy Brion

    considering the fact that most of those juniors that we hire do better than a lot of seniors we all know, it does seem like a very sound financial decision to me ;)

  • Tex

    Surely the term “Junior Developer” is just another term for a graduate??

    I started developing after years of being in system support, and I was never referred to as a junior.

    I guess to summarize you have “Developers” and “Senior Developers” within a company, the difference being “Senior Developers”, apart from having more development experience, are senior only through promotion/company experience/procedures etc?

    Further, even though I have developed for 5 years, I can always feel happy enough to ask a developer of 3 months for advice etc. In todays development/programming world, with huge resources/info through the internet etc, we cannot all be expected to know everything, there’s just not the time for this. So if I think it’s worth asking, whatever their experiences, I most certainly will.