Many of us think programming is becoming easier and easier. From perspectives of the tools, methodologies, I think, it is. However, on the other hand, I do think programming is becoming more and more complex, too, and the result is for many of the newbies, it is hard to quickly create a clear path or roadmap for the actual knowledge crunching. Karl wrote a series to help newbies and even many of the "sophisticated" developers among us to quickly pick some of the most important foundations of programming skills. Read it.