I am convinced we keep making the same mistakes over and over again trying to teach software engineering, but never really get down to the nub of the problem: how to transfer tacit knowledge (https://en.wikipedia.org/wiki/Tacit_knowledge)
I think the answer lies somewhere in his observation that “Process can’t be taught: it has to be mentored”. Maybe we need to learn from the trades, where a student alternates working alongside a journeyman coder and formal book learning.
It doesn’t even have to be tacit, it can just require interactive conversation: http://pages.cs.wisc.edu/~remzi/Naur.pdf
[Comment removed by author]
What’s wrong with #2, exactly? It sounds dry, but I think shining a light on how much bunk is out there, and how it is bunk, is worthwhile.
Having just graduated (mostly, a few bits of paperwork remain), I cannot stress enough just how much the factor of having multiple bosses can mess things up.
I do think I was able to do some good in my SE degree, but that was a more due to previous experience, than to the degree itself.
Does somebody know a free recording of a good software engineering lecture/course with in-depth real world examples?