This is generally a pretty bad article. Learn databases, then decide whether or not you ever need to know databases? Moreover, databases are put on the same fundamental level as logic?<p>Also, placing "learn paradigms" at a time before the student knows any language is going to be useless rote memorization that the student will have no idea how to implement when the time comes.<p>Why does the article start off extremely specific and then just dump into "3. then learn programming"?<p>Finally, the categories of programmers aren't really an accurate reflection of the software industry. You will have to span multiple of those groups, and you'll never be dedicated to any one of them.
What a terrific article! I found a video on how to play the flute, split an atom, how to construct a box girder bridge, and how to irrigate the Sahara desert and create vast areas of viable farmland, and finally how to cure all known diseases.<p><a href="http://www.youtube.com/watch?v=tNfGyIW7aHM" rel="nofollow">http://www.youtube.com/watch?v=tNfGyIW7aHM</a>
They missed embedded systems programming - writing software to control physical or electrical devices or calculate measurements from sensory apparatus. This would include PLC programming, microcontrollers, motion controllers, kinematics, control theory and so on. This area of software has features which are somewhat distinctive from the other types mentioned. Increasingly embedded systems are everywhere, not only in mobile phones, and there are multiple such systems in modern road vehicles.
I don't know many people that aren't going to be put off programming by that 1/2 to 1 year preparation on only theory.<p>A redeeming part of that page is that for each programming career, there is a decent list of useful pointers.
Oh wikiHow, where would we be without you?<p><a href="http://www.wikihow.com/Cook-a-Great-Tasting-Steak" rel="nofollow">http://www.wikihow.com/Cook-a-Great-Tasting-Steak</a>