I agree with a lot of the points mentioned in this article. But one thing I'm not sure of is how does knowing the deep underlying fundamentals of CPU, memory, http etc . Help you be a better engineer, cause most engineers just work at a very high levels of abstraction and the languages and framerorks used at that level don't allow low level access for memory etc anyway. I mean you should not be clueless about these basic things buy I don't understand the day to day application of it, outside of academia.