IndianGeek

Perspectives on Computer Science and Software Engineering

IndianGeek RSS Feed
 

Programmer Competency Matrix - 32 attributes to evaluate programmers

Having worked with programmers with an extreme variance in skills, I sometimes get the feeling that there is an big lack of good programmers but when I thought about it a little more I realized that it’s not very clear cut, some of the programmers have strong areas and if you confine the tasks into their strong areas then they tend to deliver well. So I started thinking about all the lines on which we can evaluate a programmer, here’s what I have so far…

Programmer Competency Matrix (the table is too big to fit on this blog post and needs a whole page of it’s own)

After having spent a whole afternoon on this I realize that even this is not comprehensive, this matrix is more biased towards non-visual programmers, so a big majority of web devs will not be able to relate well to this matrix, but I am tired and will come back to this at a later time.

Share and Enjoy:
  • Digg
  • del.icio.us
  • description
  • Furl
  • IndiaGram
  • IndianPad
  • Netscape
  • Reddit
  • Slashdot
  • Technorati
  • NewsVine
  • SphereIt
  • StumbleUpon

14 Responses to “Programmer Competency Matrix - 32 attributes to evaluate programmers”

  1. 1
    matrix 4:

    [...] Competency Matrix32 attributes to evaluate programming skills.http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/Is there a Matrix 4?? Archive - Mac ForumsOct 11, 2005 … Archive Is there a matrix 4?? Community [...]

  2. 2
    Developer K:

    Well done excellent table and I will use this to gauge my skills as a developer so far I’m primarily in Level 1 and Level 2. :(. But this is definitely a step in the right direction so now I know what I have to learn and aim for. Even though this isn’t official it’s good in my book.

  3. 3
    Tom:

    Great job! This might come in handy to rate programmers after a job interview. Personally I still have some catchup to do :)

  4. 4
    NevilNayak:

    Excellent way of breaking down observations. I am not sure how other are, but I am all over the levels randing from 1 to 3 on all aspects. Atleast I’m not at Level 0 - phew!

  5. 5
    sides of march - What’s your Programmer Competency?:

    [...] Gadgetopia, I stumbled across the Programmer Competency Matrix by [...]

  6. 6
    Diario de Programación » Blog Archive » Un par de tablas interesantes:

    [...] un lado, gracias a un compañero de trabajo, descubro en indiangeek una tabla en la que están los diversos niveles de conocimiento/experiencia a los que puede [...]

  7. 7
    Melchizidech:

    Brilliant table. Covers the bases nicely. Nice way of summing up the important differences between the stages of expertise.

  8. 8
    Brian Cowan:

    Hi, thank you for the matrix its a useful tool to gauge strengths and weaknesses. I was wondering how much a programmer that is at 95% on Level2 and 50% level 3 would on average be expected to earn in a profitable and innovative company in the United States.

  9. 9
    Kristian:

    I especially like that the table focuses on areas of competence that are relevant no matter if you work on GUI, middleware, database, batchjobs, soft realtime, mobile etc.

    The “automated testing” row could be improved by level 2 being “used TDD regularly” and level 3 being “knows why TDD is a most often a bad idea” ;-)

    Also I missed coverage of ability to work with customers, bosses, and specialists in other fields than software.

  10. 10
    Michael Zedeler:

    Great work. I will definately use it.

    I found some errors in “languages exposed to”:

    - SQL does not strike me as a declarative language.
    - Imperative and object oriented are orthogonal. You can have languages that are both, neither and just one of the two.

    Examples:
    - Java is an imperative, object oriented language.
    - Haskell is not imperative, but object oriented.
    - xslt is not imperative and not object oriented.
    - Most older versions of Basic are imperative and not object oriented.

    AFAIK the most common language classes (that are usually mutually exclusive) are imperative, declarative and functional. Some would add logic programming, but thats usually contained in the class of declarative languages.

  11. 11
    Brian Cowan:

    Hi, sorry to post again, but just wondering if you would post what your estimate would be on how much a programmer would be expected to earn at the level indicated above, which would be a conservative estimate (at least that much experience, I know it would be dependant upon geography, which I could use a service like payscale to equate to other areas). Thank you, Glad to see your site is back online….

  12. 12
    Programmer Competency Matrix « Angel “Java” Lopez on Blog:

    [...] author, Sijin Joseph, explains the origin in his post: Having worked with programmers with an extreme variance in skills, I sometimes get the feeling [...]

  13. 13
    Matriz de Competencias de Programación - Angel "Java" Lopez:

    [...] El autor, Sijin Joseph, explica el origen de la matriz en su his post: [...]

  14. 14
    Matriz de Competencias de Programación | Buanzolandia:

    [...] autor, Sijin Joseph, explica el origen de la matriz en su his post: Habiendo trabajado con programadores con una extrema varianza en sus habilidades, algunas veces [...]

Leave a Reply