I would have mercilessly flamed you for saying this a few years ago, but then I met someone who made millions from writing his own BIOS for embedded systems, since early 80s. I love him, he is a good friend, his work runs industrial equipment that power the world. But ..
Talking to him about the most primitive constructs in computing: say, variables, or calling conventions, or the simplest data structures has been a teeth-pulling experience. One of the tricks he invented involved saving the registers for interruptible code to fixed locations in memory: he reasoned that saving X registers at Y clock-cycles would meet his soft-realtime requirements. He also kept an index, that stored the last instruction that was executing when the code was interrupted, so he can restore the "handler" later.
He "invented" this ~25 years ago.
Let that sink in.
My friend invented context-saving, all by his own, really, and there is no way in bloody hell to tell him that it EXISTED since before he was born.
I am mightly impressed by his work, all of it self-taught and wildly profitable. But it's just sad that I, a two-bit paper-hacker with nothing to his credit can look at his Magnum Opus and have a name for every invention, not to mention research references, and suggest alternatives.
Embedded hackers are competent, but FUCK, sometimes they need to see past board specs and stupid timings. College Freshmen can out produce them, and those kids are running 100% simulated stuff in Java and Flash. Something has to be said for rigor, depth, and breadth of knowledge, but most importantly abstraction. Who cares if you can operate industrial electronic equipment, if some kid with PLT Scheme can create a cycle-accurate simulator of your equipment in 2-weeks, and out-codes you after that?