Is this generally true or just my anecdotal experience. I have encountered physics, math, geology majors who learned to program because they needed it or they liked the idea of it. Later these were the people who turned into awesome programmers rather than someone who exclusively studied CS in undergrad.<p>Did anyone else have this experience?
I while back I read a study, can't find it, that said that English majors turn out to be top programmers. I suspect their ability to understand the nuances of the language gives them an advantage as programmers. Plus the English language is infinitely more complex than any computer language so they are able to pick it up and how to use it to accomplish a task.<p>I suspect that some non-CS majors might seem better simply because they have a great task they want to accomplish so they work hard to accomplish it so that drive makes them stand out but like any set of people you get great programmers and not so great ones.
There's a difference between software engineering and computer science. Yes, with a CS degree you will gain deep understanding of how computers and programming languages work, but few programs teach the skills needed for professional software development. Also, by far the majority of programming in business is pretty simple: it doesn't require knowing how to invert a matrix, but it might require knowing the best language and library to use if your domain requires matrix inversions.
No, this isn't true.<p>You probably encountered a small sample size.<p>I've met many dud developers who graduated with a CS degree and I've met an equal number of them without a CS degree.<p>A lot of CS grads, self-taught, bootcamp developers just want to get into software because of the pay. Those usually don't have real passion for the field. They don't improve themselves and generally aren't interested in pushing the envelop at work.