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.
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.