Programmers assessment one of the most difficult procedure in software development. How to decide if interview was good or bad? Do you ready to promotion? Do you deserve bigger salary? These questions can be answered by assessment, but the assessment is the question which is very difficult to describe only from one side, technical or social (soft skills).

At my previous job we used to have annual assessment with public available competency matrix. I was wondered when I saw it first time. Most of skill were not about programming. Usually such skills are called “soft skills”. These skills are “Communicating with teammates” or “Providing feedback”, “Leading”,etc.. Moreover, there was “an English skill coefficient”. For example, if you have Upper-intermediate or Advanced, you’re automatically get 1.2 multiplied score at the assessment despite you coding attitude. It can be due to specific company needs, I’m not sure. And yes, my employer provided all required services to increase your skills and to develop you as a better team-player including English courses.

I think each of them is very important but cannot make your the programming super-star. You must do code and do it well.

However, there were skills like “Developing code” or “Using frameworks”, but not a lot. I found out a bigger technical matrix couple days ago. You can look at it here: Programmer Competency Matrix – Sijin Joseph. As far as I understand it is quite popular among developers and team leads. The matrix has skewness to technical skills, but is rather better than my previous one. It covers a lot of technical sides. However, I think communication skills is less important if we’re talking about domain expert with 10 years’ experience and author of framework in Erlang, in my humble opinion.

I have been arguing a lot with mates about the subject. Usualy this discussions ends with an idea to make more particular scores. What I expect from programmers assessment is to differentiate matrix to multiple types of programmers. I mean it is better to have different matrixes for

  • Application Developer
  • System Developer
  • Kernel Developer
  • Backend Developer
  • Frontend developer
  • Data scients
  • Database developer
  • etc.

Most of them are very different. Past years I noticed that more people do not like to take a wider range of responsibilities. They just want to do only one thing whatever it is (front,back, db). I suppose it will continue for a while until developers become blue collar workers completely. Then we will definitely have a government standard for programmers assessment.

P.S. The matrix from my previous job was the same for developers (doesn’t matter specialisation), testers, and analytics. All of the differences were managed at interviewing step with PM.