[clug] Programmer Competency Matrix
lloy0076 at adam.com.au
Fri Aug 7 01:24:13 MDT 2009
"In particular, I'd worry that the type of programmer who scores
themselves as log(n) on many of the items is susceptible to "Not
Invented Here" syndrome, where the programmer recreates their own basic
algorithms instead of using better, already available, solutions in
Understanding how something works is an important part of daily life,
including work. Knowing when to implement it one's self and when not to
is also important and it is this latter skill you describe here.
For example, let's say I'm writing code for the next Mars lander.
Let's say that my collection framework is working too slow for some
reason. Let's say that the profiler appears to indicate it's because a
heap of objects are being copied from one list into another collection
object [which I can't change the behaviour of]...
...and then I figure out, "Hey, if I implement this copy using
references/pointers (I know I can because the collection object is
immutable, i.e. doesn't change the items in it)" and end up having to
implement it myself, we happen to end up with a working Mars lander.
What would happen otherwise? Well, of course I'm the only one left to
code this, on Mars, in a short time...and now you're really happy that
they actually employed someone who knew what went on under the hood.
Even if there were premade modules...those martians don't seem to
understand "Is your collection code GPL compatible?" and they have
So yeah...you've identified another important skill - don't rewrite
what's not broken unless there's a good reason (technical or business
and most likely a combination of both).
More information about the linux