HN Hall of Fame Weekly email

Programmer Competency Matrix (2016)

sijinjoseph.com Reference Documentation & references Work & careers Class of 2015-04 Hall of Fame
Screenshot of sijinjoseph.com captured 2026-07-20
Page preview · captured 2026-07-20

The originally submitted URL now redirects to the address above. Updating the destination does not change the item’s HN history, Hall membership, or rank.

Resurfaced independently across 8 calendar years, with breakout response in 4 of them.

submissions
10
submitters
10
observed span
2010–2020
peak thread · 122 comments
360 pts
latest 20+ return · 2017-03-26
203 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

While there are some parts of this matrix I agree with, I have to say that it seems rather "old school". The matrix seems to assume that all programmers are systems-level programmers working with compiled languages. Dynamic languages are only listed in the "scripting" knowledge section. There are tons of huge projects written entirely in dynamic languages. Assuming that dynamic languages are only for writing small scripts is disingenuous. The next improvement I can suggest is to remove the implications…

To the folks at Starling: Do you even realize how obnoxious and full of yourselves you sound?! Let's see: suppose I'm a person who ranks highly on a lot of the lines in your matrix. You expect me to send you a resume (which you say you won't really consider), then to rank myself on a 10-page matrix of skills and abilities (but you won't care much what I have to say), then to write some rather non-trivial sample programs…

Why isn't there a row for "figuring out how large, poorly-documented legacy systems work"? That's what most of my daily development tasks consist of, anyway.

Jimmy·76-point thread·

Usual misunderstanding, but needs to be pointed out: Automated testing Level 1: Has written automated unit tests and comes up with good unit test cases for the code that is being written Level 2: Has written code in TDD manner TDD is not for testing, TDD is for system design and an automatic work list. Using TDD does not mean the automated tests are better or worse - you are probably thinking of code coverage.

RyanZAG·17-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
4

100+ points or 50+ comments

Total points
826

reference only — not used in Hall rules or ranking

Total comments
401

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2010-11-29Programmer Competency Matrix: Do you use it when hiring?First breakoutiwr156106
2012-01-06Programmer Competency Matrixcobrausn20
2012-10-08Programmer Competency MatrixBest threadolalonde360122
2013-06-19Programmer Competency MatrixAshuu1713
2015-01-29Programmer Competency Matrixbrudgers30
2015-04-08Programmer Competency MatrixHall inductionkjhughes7651
2016-07-12Programmer competency matrixhjalle72
2017-03-26Programmer Competency Matrix (2016)Latest 20+ point returnweitzj203106
2018-07-06Programmer-competency-matrixpartizanos10
2020-07-01Programmer Competency Matrixlowmemcpu11