Great points, I was going to write almost the same thing. To build upon your last point, I'd argue that a solid (and rigorous!) philosophy education is in many ways better suited to building a sound logical problem solving mindset than much of the common core CS curriculum. Critical reasoning is much more valuable than just knowing Java or C++ syntax. Not to denigrate CS education, but rather to point out there is a lot more to learning to think in a way useful to programming complex systems than the current core of CS teaches. Especially in large (million line+) code-bases.
Learning, say, Wittgenstein's philosophy regarding grammar and language [1] gives an interesting insight into how humans express ourselves and delves directly into the heart of modern programming, IMHO. Rarely do we software developers write low level algorithms anymore, but writing consistent and complex API's is crucial and shares more in common with be conversant with large volumes of philosophical treatises.
Based on that, it makes sense many philosophy students would have successful careers – being able to reason and solve challenging problems is always key point in making good money. :)
Learning, say, Wittgenstein's philosophy regarding grammar and language [1] gives an interesting insight into how humans express ourselves and delves directly into the heart of modern programming, IMHO. Rarely do we software developers write low level algorithms anymore, but writing consistent and complex API's is crucial and shares more in common with be conversant with large volumes of philosophical treatises.
Based on that, it makes sense many philosophy students would have successful careers – being able to reason and solve challenging problems is always key point in making good money. :)
[1]: http://plato.stanford.edu/entries/wittgenstein/#Gra