Skip to content

Instantly share code, notes, and snippets.

@konovalov-nk
Last active November 5, 2016 06:49
Show Gist options
  • Select an option

  • Save konovalov-nk/044fa199753e617bd9934bc0612c350a to your computer and use it in GitHub Desktop.

Select an option

Save konovalov-nk/044fa199753e617bd9934bc0612c350a to your computer and use it in GitHub Desktop.
My programmer competency matrix on 05.11.2016, taken from http://sijinjoseph.com/programmer-competency-matrix/
Note that the knowledge for each level is cumulative; being at level n implies that you also know everything from the levels lower than n.
Computer Science
* data structures - n^2
* algorithms - n^2
* systems programming - n^2
Software Engineering
* source code version control - log(n)
* build automation - n
* automated testing - n
Programming
* problem decomposition - n
* systems decomposition - n
* communication - n
* code organization within a file - log(n)
* code organization across files - n
* source tree organization - n
* code readability - n
* defensive coding - n
* error handling - n
* IDE - log(n)
* API - log(n)
* frameworks - n
* requirements - log(n)
* scripting - n
* database - n
Experience
* languages with professional experience - n^2
* platforms with professional experience - n^2
* years of professional experience - n^2
* domain knowledge - n
Knowledge
* tool knowledge - n
* languages exposed to - n
* codebase knowledge - log(n)
* knowledge of upcoming technologies - n
* platform internals - n^2
* books - n
* blogs - n
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment