System Programming is one of most sought after skills. Many of the application developers think system programming as working with command window, doing some black & white stuff and being away from Colors, UIs and Images. It’s not true. System programming means working with system. Writing the code, keeping in mind the underlying system capabilities. When you execute an instruction, it will be executed by the CPU by talking to the kernel.
I bet most of the ASP.NET /JSP programmers don’t even know, how HTTP handlers are written? How Request is processed? How WebServer works?
They merely know the system basics. What they know is Langauge Systex and Features. In my openion, every programmer should learn the internals of the operating system first. So that they can write efficient code.