"Everyone" here I think means the same as "anyone can be a great cook" in Ratatuille - it does not mean that anyone can learn to cook - but that a good programmer can arise from any background.
My experience would support this. You need a mindset keen towards rigor, and motivation. Given those, and guidance, anyone can learn to program - at least in limited contexts.
I agree. My friend was a barista with a philosophy degree. But he had the intelligence, the rigor, and the desire to learn. All I had to do was point him in a couple of directions and he picked up programming very quickly on his own with no prior experience. In fact, I would say he's far better at it than me even after just a year or so. Mindset is the key.
A lot of people joke about philosophy majors not being able to find jobs or make any money (the only people worse off are those who studied sociology :D), but that's not really true unless you're actually trying to become a philosophy professor. Then you're screwed. But aside from that, studying philosophy is a great way to hone your critical thinking skills, though of course it's not the only way. It's a lot more than just reading Plato and summarizing things, especially once you get beyond the intro-level courses. Obviously, I wouldn't recommend taking philosophy courses instead of CS, but they're an excellent compliment for programmers or pretty much any field.
Programming isn't just about writing the code itself; in many ways, that's the easiest part. It's about identifying and solving problems, many of which aren't actually your problems, meaning you have to have the ability to step outside your own frame of reference to understand the problem in the first place and continue doing so in order to work up a solution. Even for a junior developer, those skills can be a huge boon.
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. :)
My experience would support this. You need a mindset keen towards rigor, and motivation. Given those, and guidance, anyone can learn to program - at least in limited contexts.