You need a BSc in computer science to be a good developer
I'm not sure that's an unpopular opinion today.
I agree. It's not unpopular but just wrong...
You need a BSc in CS to be a good computer scientist. But not every computer scientist is a good developer. Most good computer scientists I know are more of a mathematician than a dev.
Or as Paul Graham writes in Hackers and Painters: "Computer science is a grab bag of tenuously related areas thrown together by an accident of history, like Yugoslavia."
Hmm, never heard of that one but good to know how my region became like it is - thrown together by an accident of histroy xD.
Anyways exactly what might be the problem: software development != computer science. Some people mix these two so it might be the reason for confusion.
I think that having a BSc (and MSc, now that I'm bragging) in computer science made me a better developer, but I don't see how the ability to prove the NP-completeness of a problem is a requirement for being a good developer.
A lot of them have BSc in something else, a lot of them have no BSc at all. So it's not unpopular it's in fact untrue. Although I have BSc in IT which is a bit different, most of my knowledge comes from work or learning by myself in spare time. Now I know more people without BSc in computer science that are way better than me.
It's not defending something it's just a good argument. Don't remember that many popular developers that had BSc while becoming famous. basically I want to argue that you can learn outside of university.
Yes I think that's definitely the growing sentiment these days, that CS degrees (and many other degrees to be fair) are becoming less necessary for one to be considered "good" in one's field.
The two main reasons I believe are responsible:
1) economic reasons: tertiary education costs have inflated to absolutely absurd levels (as a general observation, it also appears quality of teaching is declining). This leads to many people who want to learn CS-related topics, but aren't going to fork out $50k & 4 years to do so. Thus, the natural reaction is to self-teach.
2) It's taken far longer than expected, but the internet is finally providing the quality resources once monopolised by universities. Furthermore, web-based innovation is now occurring so rapidly that unis can't even keep up with the latest developments and industry practices.
These 2 trends combined together mean that a developers skill-level is becoming less coupled from their credentials and is instead more a result of one's drive, resourcefulness, and practical experience.
Unpopular by the way of being completely wrong.
I'm self taught and work with many "BSc in computer science" and several of them will look at my solutions to problems and go "woah you went all CS on us, this is gonna take my some time to review" and I'm like "dude it's just a graph".
Point being: you need CS knowledge to be good at CS, a degree is not a requirement and often not sufficient.
What if you just watch computer science lectures from universities. I can't afford to go back to uni I'd be 200yrs old before I paid that off.
Counter unpopular opinion: being a good developer has less to do with your knowledge of computing science (e.g. algorithms, runtime complexity, hard maths), than your ability to communicate your solutions to complex problems in non-technical ways.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.