There is an interesting post about “Where are the Software Engineers of Tomorrow“? My perspective is of course unique the business IT and this may not have been their intention.
There are two side to this story:
1. They have a point that students need the fundementals of software development. Having knowledge of pointers, linked lists, and registers makes me a better engineer. I’ve also seen recent grads not have any idea how to use the command line to navigate an operating system. Newbs rely too heavily on high-level tools to accomlish basic tasks.
Frameworks are great for similfying development but have you ever looked at the call stack for the most basic .Net applications? There are dozens of functions just to start the app. That overhead has a high price.
2. Learning the current frameworks is an education in itself. Most of the current development work is application integration and rarely do business IT professionsals create machine level applications. Personal productivity is much more valuable (hence frameworks) to the business than technical prowess.
So our educational system needs to balance this and teach a little of both. When the students becomes the practioner, they will naturally swing in the direction of greatest value to their environment.