Someone who hires programmers told me that university vs. self-educated were pretty indistinguishable, except for algorithmic problems - which over came up very rarely.<p>Fred Brooks claimed that education and training for programmers was extremely beneficial - but he was writing in a time when many programmers were writing operating systems and compilers. Additionally, structured programming (ie. without gotos) was a (relatively) new idea. Therefore, I tend to think that today, when the vast majority of programming tasks aren't nearly so difficult and our tools have improved so much, and good practices are generally known, that programming is much easier, and training isn't nearly as important as it was.<p>Even for creating new ideas and tools (eg. Thompson's regex search; pagerank), it's more a matter of being super-smart, IMHO. Of course, it helps if you know the basis of the idea (eg. what a regular expression is). If you want to <i>prove</i> those ideas, however, I think academic training is very helpful - but in mathematics, not computer science.