Every now and then I realize how much I don't know about the world I work in and matter-of-factly decide I am going to do something about it.
I rarely get very far but over the course of the years the little bits begin to tie together. Never having matriculated into college (an unedumacated fool ya might say) - I have a tendency to learn things the hard way. More often than not, my original search is never completed as I wander off on more and more tangents trying to understand the underlying information until I latch on to something more interesting.
Well - I just jotted down on a little yellow sticky some ideas for YA self-improvement "to-do" list sitting in a long boring meeting where everyone is right and everyone else is wrong.
Algorithms - knowing them is only half the battle (Go Joe) - knowing which one to use for a specific situation is the other half.
CPU Architecture - my recent fascination with Parrot, a virtual machine, tells me just how much I don't know about registers, stacks, memory management, and CPU architecture in general. FWIW - I can write hello world in assembler
Databases - Beyond a design stand point - I want to know how they work internally. Figuring that out will lead to coming up with better SQL (there's that algorithm half the battle thing again). Then there is the whole administration/optimization/disaster recovery strategy.
Network crap - you know TCP/IP, the OSI model - Cisco and Nortel layer 4 switches. I have always been able to get by because I can explain a problem well enough to someone who really knows what they are doing to solve it. I want to be the guy that can solve the problem.
C skills - I don't really care about C but it is a means to an end. I love Perl and I want to get her to sleep with me (under the covers if the joke flew over your head like a 747). And for some more S&M action I want to flirt with Parrot. This requires being able to at least understand other peoples code if not write a bit of my own.
Now the truth of the matter is I don't work in any of these areas, nor am I even a programmer by trade. I am a guy who solves problems. I have been fortunate to have jobs where there were lots of problems (or at least lucky enough to convince everyone else there was a problem when I was itchin to use a hammer).
So - we will see - right now I am on break from that marathon meeting mentioned earlier hoping Jens or Leo will have a fix for my Cygwin JIT problem.