Since this is essentially a list of trivia / interesting questions I was hoping for a list of answers just as easy to consume. I was able to look-up most of the ones I cheery-picked.
I think its mostly the fact that technology caught up and became cheap enough. Battery technology, motor technology (brushless), electronics (ESC's which control the motors, and the onboard boards with gyros and accelerometers) and many other things.
I'd attribute it the most to battery technology. As part of the hobby myself, Ni-Cad batteries were the go-to's. But they were crappy. Li-Pos have existed before, but the thing about multi-rotors and flying in general is it doesn't need a high capacity, but a high output rate, which we can get now.
In short, no, you don't need a degree to have a good paying job. But this does not mean its the 'best' thing to do. The reason you can get away with stuff like that is because the demand for programming jobs in general is so much more than the supply of labor in that market.
Having said that I personally would recommend some sort of teaching of Software Engineering. This is because a lot of the developers out there (as you can tell from this thread) do not have formal education and hence CAN resort to in bad practices.
The importance of understanding the software product behind simply writing code and the importance of designing instead of hacking and fixing - and the importance of testing and having a process methodology behind creating software is higher level education IMO.