Marek Blotny's Blog

Agile Software Development, Project Management and Human Factors

Senior Developer versus Junior Developer

with 13 comments

What does it take to advance from junior to senior developer? The most obvious answer is experience. But is it only that? Or maybe number of years of experience is completely irrelevant?

According to “What makes a programmer ‘senior’?” post, years of experience are not so vital, senior developer should have following qualities:

  1. You know more than one (programming) language
  2. You regularly code outside of work
  3. You’ve built software from conception to implementation to support
  4. You innovate
  5. You apply software to solve real problems

I definitely agree that practical knowledge of more than one programming language gives broader perspective. I also agree that experience from each step of project life cycle is absolutely essential. Especially beneficial is spending a bit of time on support and learning on your own mistakes. That is supposed to be a time where you learn what is needed to design code in a way which is easily maintainable and open for extensions.

I can’t fully agree with the second point … not everyone has time to contribute to some open source projects, I can agree that this is nice to have quality but not essential. But is that all? Or maybe something else can be added to the list? Personally I would add two things:

  1. Senior developer should have skills and knowledge on techniques and tools required to guarantee satisfactory application performance. This is not only ability to use load testing tools and profilers but it’s also about finding application bottlenecks, making sure that application scale properly etc.
  2. Second thing is about right attitude – I expect from senior developer to be proactive, to be able to think about the work on a high level, to constantly strive for high quality solutions and at last to take a lot of professional pride in his work.

Each project, each experience should be an opportunity for each developer to learn something new and in that sense number of years of experience helps. But bottom line is … to advance to senior developer you can’t just focus on coding, you need to constantly develop your skills and seek ways to wider your experience.

VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)
Senior Developer versus Junior Developer, 10.0 out of 10 based on 1 rating

If you liked this post, you might like these, too:

  1. Is It Easy To Be a Developer in Agile Team?
  2. Pros And Cons Of Transition From Developer To Tester

Written by Marek Blotny

July 14th, 2010 at 6:12 pm

Posted in Programming

Tagged with , ,

13 Responses to 'Senior Developer versus Junior Developer'

Subscribe to comments with RSS or TrackBack to 'Senior Developer versus Junior Developer'.

  1. I would add just one that he should be good listner both to client ,colleagues and juniors

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Ratn

    15 Jul 10 at 8:29 pm

  2. The second point (“regularly code outside of work”) doesn’t specify open source projects, and in fact the original post specifically rejects requiring work on open source projects as a requirement. This is *any* kind of coding outside regular work… he mentions “consulting on the side, moonlight for a startup, build your own product or mISV”. Even beyond this, I’d consider other things “working on code outside of work” – doing code examples from books, blogs, etc., throwing together a little proof of concept game/application/etc. even if you have no plans to release it as open-source or otherwise, code katas, taking courses outside of work, etc. The reason is, this indicates a passion and interest in programming outside of your 9-5 job. Plus, how are you going to start learning those “more than one programming language”?

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Nate

    15 Jul 10 at 8:39 pm

  3. A passionate programmer would always have his own ideas outside of work

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Ratn

    15 Jul 10 at 9:00 pm

  4. First of all thanks for constructive comments!

    @Ratn

    +1 on “good listener” :)

    @Nate
    “how are you going to start learning those “more than one programming language””

    It’s not always easy but most software development companies use more then one language so usually there is an option to experiment and join different team for a while.

    “regularly code outside of work”

    I agree that codding outside of work of course indicates a passion and interest in programming. I just don’t think that one has to have only one passion, beside programming (probably) there are also other interesting things in life.

    VN:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Marek Blotny

    15 Jul 10 at 9:19 pm

  5. Ability – Without it, you can have all the years of experience you want but you will never be more than junior. I see it all the time. 1 years experience 20 times.

    Good mentoring – without it, you more than likely will never grow even if you have ability. Can you? Yes. but it will take much longer.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Mark

    16 Jul 10 at 1:03 am

  6. totally agree with your post.Apart from all the qualities you mention I would add that a good senior programmer should act as a “permanent junior developer” in the sence that he/she should always be eager to learn (from his mistakes,his colleagues etc), to find new ways to do things.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    nikos lianeris

    16 Jul 10 at 8:33 am

  7. @Marek Blotny

    There are other interesting things in life, and I would certainly suggest other interests outside of programming – people aren’t one-dimensional after all. And doing no coding outside of work pretty much indicates that programming *isn’t* one of them.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Nate

    16 Jul 10 at 2:56 pm

  8. You can be a senior developer at one company and a junior at another because of industry knowledge. I am a senior developer now but if I take a job in an industry that I don’t know I would start out junior but quickly work my way to senior as I gain the specialized knowledge that company needs.

    I agree that listening is really important, only way to learn what the overall company needs. Working with others, especially QA and mentoring of other developers, is of huge importance.

    Coding outside work could be writing something that helps your kids with home work, experimenting with AJAX, setting up a home server, it does not mean you are actively contributing to an open source project. Coding has to be a passion and not just a job.

    I have in-laws that code for a living but have no real passion for it. I have friends that code with passion, there is a huge difference.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Kevin

    16 Jul 10 at 3:02 pm

  9. 6. does not use window$

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    phoet

    16 Jul 10 at 5:08 pm

  10. I would like to add a couple of softer skills

    “communication skills” and “ownership”..

    It depends on the company setup I guess but generally

    A senior developer needs to be able to talk to clients
    confidently, clearly and be politically savvy enough
    not to cause problems..

    They also need to take ownership and responsibility
    for the product/codebase.. In order to do this they need
    to get the business side as well as the tech side..

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Stu dean

    31 Jul 10 at 2:47 pm

  11. The difference between a junior developer and senior developer can be summarised in one word: management.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    Virvo

    13 Aug 10 at 1:15 am

  12. Phoet, in your 20s, yes? :)

    Funny thing is, going by your blog you’re using OSS frameworks I wrote in Ruby.

    But my day job is Lead Engineer at a startup developing .NET software.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    James

    14 Aug 10 at 3:34 am

  13. Developer skill sets is a multi-faceted issue: http://www.sandywalsh.com/2010/03/developer-skill-sets-there-is-no-such.html

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)

    @TheSandyWalsh

    16 Aug 10 at 4:24 am

Leave a Reply