"To my mind, there is a minimum set of topics with which you have to be
conversant to call yourself a professional programmer. If you don’t know these
things, you’re a dilettante.
This list includes a deep understanding of data structures and key algorithms, a little
math (set theory, logic, a little statistics), mastery of analysis-and-design
techniques, both process (e.g., RUP or XP) and structure (e.g., design patterns), and
database structure and use (e.g., SQL). You also need to know how the hardware works.
You need this stuff even if you’re not actually using it in your work, because no
matter what you’re doing, knowing this material will make your work better. How could
you possibly decide which of Java’s Collection classes to use in a particular situation
if you don’t know how those classes work under the covers, for example?"
Allen Holub
|
|