However, some people have to live with the systems (err nightmares) that were built by people gaining "real-world experience". Just a little bit of focused education can do wonders (esp if you mix in a little passion).
Bad code comes from bad and/or inexperienced programmers, which in my experience seems to have very little correlation with level of education, and quite a bit more to do with a lack of "real-world experience".