com/programmer-competency-matrix/)
(http://sijinjoseph.com/)
Computer Science
Software Engineering
Programming
Needs to look Has written libraries that sit E.g. of API can be Java
up the Has the most frequently Vast and In-depth knowledge of the on top of the API to simplify library, .net framework
API
documentation used APIs in memory API frequently used tasks and to or the custom API for
frequently fill in gaps in the API the application
Has not used Has heard about but not Has used more than one framework in
any framework used the popular a professional capacity and is well-
frameworks Author of framework
outside of the frameworks available for versed with the idioms of the
core platform the platform. frameworks.
No knowledge
Has written and published
scripting of scripting Batch files/shell scripts Perl/Python/Ruby/VBScript/Powershell
reusable code
tools
Experience
platforms with
professional 1 2-3 4-5 6+
experience
years of
professional 1 2-5 6-9 10+
experience
Knowledge
Imperative, Object-Oriented
and declarative (SQL),
Imperative or added bonus if they Functional, added bonus if they
languages Concurrent (Erlang, Oz) and
Object understand static vs understand lazy evaluation, currying,
exposed to Logic (Prolog)
Oriented dynamic typing, weak vs continuations
strong typing and static
inferred types
Reads
Has heard of Maintains a blog in which
tech/programming/software Maintains a link blog with some
them but personal insights and
blogs engineering blogs and collection of useful articles and tools
never got the thoughts on programming
listens to podcasts that he/she has collected
time. are shared
regularly.
Share this:
2&url=http%3A%2F%2Fsijinjoseph.com%2Fprogrammer-
competency-
117 Comments
matrix%2F&media=http%3A%2F%2Fsijinjoseph.com%2Fwp-
Add your comment
content%2Fuploads%2F2016%2F05%2Fsijin-2016-s-
135x150.png&description=Programmer%20Competency%20Matrix)
The labels reference Big-O notation. They describe the rate of change as “n” approaches in nity; actually lling in “n” with any
value (especially values that close to zero) is not a useful application of the formula. If we assume that “n” is an in-
comprehensively large number, then think about the change in value between “n” and “1 + n”. It will help to plot these on a graph
and remember that smaller values are better.
– 2^n is the square of 2^(n – 1). This is the rate of gain as you bit-shift to the left: 2, 4, 8, 16, 32, 64, 128, 256, 512,1024, 2048, etc.
– n^2 performs less awfully than 2^n at extremely large values, but still really poorly: 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, etc.
– n is probably the rst rate where performance is predictably terrible: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, etc.
– log(n) is an algorithm that sucks at very small values, but becomes great at large values: 0, 1, 1.6, 2, 2.3, 2.6, 2.8, 3, 3.2, 3.3, 3.5,
etc.
Even at small values, the jump between n=10 and n=11 can be used to extrapolate the n=(in nity) performance of these functions.
Level 0 jumps a full 1024 units, while Level 1 jumps only 21 units, Level 2 jumps by 1 unit, and level 3 jumps by less than 1 unit.
>Blake Dietz
‘Their’ is plural. It would be better as ‘his or her,’ but it also isn’t even an issue, as ‘he’ or ‘his’ has historically been a kind of English,
neutered pronoun. ‘His’ simply works better when communicating in a terse, correct mode. Bias against women isn’t intended or
should even be considered.
Philip Attisano
(Https://Www.Facebook.Com/App_scoped_user_id/2003996742947731/) August 25,
I’ve been writing software for 10+ years, and this was a poignant reality check for me. My programming theory vocabulary sucks. I
constantly reference API docs. I rely heavily on the IDE. I usually write core code in ‘happy case’ and let exceptions bubble up the
stack. I self-rank somewhere around 1 or 2 (rarely 3). Either I’m modest in my assessment, or damn I’ve been lazy! lol
Leave a Reply
Enter your comment here...
139 Trackbacks
1. ??????????????????? | SAP???? (http://blog.sapchina.net/540.html) (Pingback)
2. ??????????????????? - ????
(http://hack.hk.cn/2017/07/06/%e5%af%b9%e5%bc%80%e5%8f%91%e8%80%85%e6%9c%89%e7%94%a8%e7%9a%84%e8%8b%b1
(Pingback)