Tuesday, February 21, 2006

Classifying Programmers

I was recently asked in an interview how I classify programmers. I found it interesting as there is no set classification of programmers. Here is what I came up with:

Junior Programmer
-Programmer has difficulties with the language itself (e.g. declaring objects, using properties, sizing of arrays)
-Programmer is not familiar with a lot of the builtin functions/objects in the language (e.g.
-Programmer is not comfterable / aware of OOP.
-Programmer usually has no understanding of interfaces
-Programmer usually can not forsee how to implement a solution and needs to be instructed on the steps to take to acheive the end result.

Intermediate Programmer
-Programmer is comfterable with the programming language
-Programmer is not familiar with more advanced items of the language (e.g. threading, remoting, com)
-Programmer is fairly familiar with object orientated programming concepts and is comfterable in using them but still runs into problems with some aspects of it
-Programmer knows how to implement interfaces but sees no reason to create them for their own code.
-Programmer runs into problems that they could not forsee which might require backtracking of code / workarounds.

Senior Programmer
-Programmer is proficient in the programming language
-Programmer has a good understanding of OOP, threading, async programming, and can pick up any new technology (e.g. remoting) and learn it quickly by building on knowledge of similar technologies / underlying principals
-Programmer should be capable of forseeing the strengths / weaknesses of taking a certain route.

Well that is all that I have come up with so far. Please comment on this and let me know your opinion!


Anonymous Just a random Computer Scientist said...

I like your explanation of a Senior person, but, I have to disagree with your definition of a junior programmer. They aren't a programmer if they are having problems with basic things, they are an intern or a student.

10:02 AM  
Blogger Kudos said...

I have found at a small company sometimes you hire people just out of school for a salary. These programmers have issues with things like when to use an int, double, float. Or maybe something like how to properly do exception handeling. I am not saying that they don't know what a string is.

9:06 AM  

Post a Comment

<< Home