self-test for the Programmer Competency Matrix by Sijin Joseph
The Programmer Competency Matrix by Sijin Joseph is a table of parameters to test the reward you will get from a programmer vs the effort you'll put in him.
Also is considered to measure whether a programmer is noob, junior, intermediate, or senior, which is a whole subject by itself that i hope to write about next time.
anyway, for the fun and interest, i will test myself, as objective as i can be, (i'll ask some guys @work to correct me and update), so the columns will be subject, my notes, score. 0-3 will be the scores so 0 is total noob, 32 is junior, 64 is intermediate and 96 is senior.
Note that since there is such a huge variety of skill someone that actually scores 96 is like the top of the world senior, and you should thing it more like 0-32, 32-60, 60-75, 75-96, since scoring 32 should be quite fast to any programmer that wants to step up, and anyone that scores 2 in everything is really a junior-senior, and even just a few scores of 3 is a real senior already.
I count on you to go read the table, so.....
I am taking additional comfort that i past the 50% in the programming area, so there i am licking some seniority, same in Experience, and main pitfalls in in the science-engineering fields, which i never was into.
Also is considered to measure whether a programmer is noob, junior, intermediate, or senior, which is a whole subject by itself that i hope to write about next time.
anyway, for the fun and interest, i will test myself, as objective as i can be, (i'll ask some guys @work to correct me and update), so the columns will be subject, my notes, score. 0-3 will be the scores so 0 is total noob, 32 is junior, 64 is intermediate and 96 is senior.
Note that since there is such a huge variety of skill someone that actually scores 96 is like the top of the world senior, and you should thing it more like 0-32, 32-60, 60-75, 75-96, since scoring 32 should be quite fast to any programmer that wants to step up, and anyone that scores 2 in everything is really a junior-senior, and even just a few scores of 3 is a real senior already.
I count on you to go read the table, so.....
skill | notes | score |
---|---|---|
Computer Science | total points: 9 | 1.5 |
data structures | I can even explain a bit but not in depth | 1 |
algorithms | Ye, never did any degree, i can look for the right one and alter it but not explain or write one | 0 |
systems programming | I have some knowledge about compilers, assembly and basic CPU suff | 0.5 |
Software Engineering | total points: 9 | 1.5 |
source code version control | Used once a bit SVN and using a bit Git, know merging ect. if TFS | 1.5 |
build automation | I know technically there is a way to compile C# from CMD, did some with python, have some automation with PowerShell | 0 |
automated testing | I think like 1, but act like 0 | 0 |
Programming | total points: 45 | 25 |
problem decomposition | I always try to make my code generic and put the base layer in a designated zone for reuse, i would give myself a 3 here but i'll try to be modest. | 2.5 |
systems decomposition | Currently (actively) learning to apply design to correspond all relevant technologies/platforms. | 1.5 |
communication | Well, this is really the only thing i have a really good feedback except for my lazy emails.... | 2 |
code organization within a file | Using regions, code organized, basic commenting, refrences only where critical | 1.5 |
code organization across files | I naturally like organizing my files in folders, cant give myself "structure gives insight into design" | 2 |
source tree organization | Here i am a bit closed to 3, but still | 2 |
code readability | I am improving, i used to be 0, have some comments about unusual code and bug fixes but mostly for myself | 1 |
defensive coding | Only checking arguments and return values, or for exceptions when critical, obvious, or after a bug already occurred | 1 |
error handling | Most parts of my projects leaves program in good state, good logging layer | 1.5 |
IDE | I know the basic tools of VS and my own daily shortcuts | 1.5 |
API | This one is hard since i definitely write many times some code on top or to fill gaps in the API, even in .Net and JQuery and even Angular, yet i still learn stuff everyday | 2.5 |
frameworks | Used and using alot, written 2 mini-frameworks used in my company for Sharepoint | 2.5 |
requirements | I can more and more able to see the places needed more spec, but still having mid ideas | 2 |
scripting | Touching python for fun, knows well Sharepoint Powershell. | 1 |
database | Able to write good selects, knowledge of columns ect, but not to design a DB nor its concepts | 0.5 |
Experience | total points: 12 | 8 |
languages with professional experience | OOP, prototype (JS), basic SQL, dont know static vs dynamic ect. | 0.5 |
platforms with professional experience | C# [console, winforms], asp.net, sharepoint, javascript/JQuery, knockout/Angular, i'll count it as 5 | 2 |
years of professional experience | Although programming since i was 8, and it shows, also mentored some 7-8 years guys, in industry almost 5 years, i'll give myself and extra half point | 1.5 |
domain knowledge | I'm a web-dev, so i always work on and inside a domain | 2 |
Knowledge | total points: 21 | 7 |
tool knowledge | I know to use some text editors for Client-Side files, can use sharepoint-designer | 1 |
languages exposed to | My bonus is that i have basic understanding of prototype oriented (JS), and i know some SQL | 1 |
codebase knowledge | Not much in C#, bit in asp.net, angular, made some bug-fixes on plugins and able to understand their codebase | 1 |
knowledge of upcoming technologies | Keep hearing and reading about upcomings, but never even taken betas | 1 |
platform internals | Basic knowledge of how my platforms works internally | 1 |
books | Maybe its time.....I'm more of a googler-blog-reader | 0 |
blogs | Here i am trying to step from 2 to 3 | 2 |
Grand Total: 43
HA HA well that's embarrassing, i always though of myself intermediate licking seniority, guess i'm just finished noobinity and learning to be a true and good intermediate, which is good as long as i am improving.
I am taking additional comfort that i past the 50% in the programming area, so there i am licking some seniority, same in Experience, and main pitfalls in in the science-engineering fields, which i never was into.
Comments
Post a Comment