We're a place where coders share, stay up-to-date and grow their careers.
What happens is that many, many people think that a CS degree is meant to make you a software developer.
Computer scientists and software developers are different things.
I too want to debunk a myth: You can't find everything on the Internet.
You can become a software developer if you invest the time to learn for yourself and there's nothing wrong with it. In fact, I admire those who do. But you can't become a Computer Scientist by yourself, because researchers want to be paid for their work, and there's a lot to Computer Science that you can only learn if you pay for it (be it in textbooks or formal education). There's more to CS than learning the foundational concepts, having a mentor and access to learning resources.
What happens is that, unfortunately, theoretic background is not very useful for most of daily jobs and not everyone that studies CS can be an investigator. The same happens with Mathematics; a lot of Math graduates end up as secondary level teachers, even though you can become one without such degree. For the same reason, almost every CS graduate end up as a software developer.
So, believe me. People who make heavy innovations in technology need higher education. I'm not talking about success (just look at Zuckerberg), but about heavy contributions to the state of technology itself: artificial intelligence, cryptography, computer architecture, programming language theory, etc
The point I want to make is: I agree with you. I believe that self taught developers have the same place as anyone in the industry. They should be recognized, paid for their work and have no complexes about their education. But it is important to clear the confusion around Computer Science, because it is also true that a lot of developers look down on graduates that have spent money, time and energy on a degree "when they could've just learn the same by themselves".
People that label CS degrees as useless just don't know what they are talking about. And, sadly, a lot of these people are disenchanted students, driven to the university by a misconception of what CS is.
I agree totally with what you're saying here. Finally. There is still hope...
Sorry for the long answer, it is just that I would like people to stop looking down at each other only because they don't understand what their actual differences and similarities are.
I wish everyone would be so engaged. So please, do not apologize!
Thank you for your elaborate comment!
First of all, I agree with you that nobody should look down on anyone else, for no reason. Degree, no degree, etc.
Maybe you can give me examples of what is provided in Universities to become a Computer Scientist, that you cannot access by other means. My thought is, that like in medicine, biochemistry, and other scientific research fields, etc, the most obvious is (privately and publicly funded) expensive equipment and subjects of study (usually humans).
Edit: ...the most obvious is (privately and publicly funded) expensive equipment and subjects of study (usually humans). As well as materials that are limited or restricted in availability. IE: if I will work in the development of an image assisted diagnose tool, and it involves ultrasound, I should need have enough knowledge of not only programming, but physics and chemistry and probably anatomy (which is also available online) and equipment to generate magentic fields, and subjects to test it on. The first three are online, while equipment and subjects are not. Also that kind of research demands for a legal framework and government authorizations.... I will obviously not get that as a private individual. But the programming skills, so computer skills.... Can I not get outside of a University?
But I am really happy to learn more.
PS: I just also want to clarify that, albeit unfinished, I have CS University Studies. And I basically have not gotten at the University anything I could not get by myself out there.
Take into account I didn't say that you can't access the knowledge by any other means. I said you can also buy the textbooks and learn from them. But this has two disadvantages difficult to overcome:
So to answer your question, I'd say that what Universities provide is:
Don't get me wrong, I won't say that the University system is definitive and perfect. There is a lot of things that the University should change, because they don't always do their work well, but that's another topic and something that the next generations have to sort out. Right now, this is what we have.
I hope I don't sound rude, it's not my intention. Thank you for making this conversation possible!
You are not being rude at all. You are expressing your opinion, and that's perfectly fine!
So I agree to this, because that was one of my points:
" There's a lot of content and a lot of sources that complement each other, so the amount of time to review "the canon" would be disproportionate, and more if you try to keep it updated.
And I say:
"... have access to a tutor or professor, to dissipate their doubts and help them apply the newly learned concepts
... do not need to spend personal time finding the right learning resources, since they're provided"
Which is another way to put it.
I am not very sure I agree with this part,
"You can't prove theoretical knowledge like you do with practical knowledge. As a software developer, I can learn to program, work in projects to showcase, contribute to open source, etc. But the only way to make my theoretical knowledge recognizable is by passing examinations on the topic (and thus getting a degree)."
because out of not having a CS degree, my way of demonstrating that I have knowledge, is practical and from experience. So I can reference many clients and projects that are in production, etc.
Of course, that is very difficult for other applications of computer science, since it will be extremely difficult to put a satellite in orbit without entry to a project, tools, the satellite, the thousands (millions!) of euros of fuel to launch it... So it is highly unlikely to get past the gate without a CS degree, and only via professional experience, there.
But maybe let's agree to this: web development is a part of software engineering, which is a part of computer sciences. Ergo, you absolutely can become a software developer without a degree, and if you put enough effort and dedication, you can be very successful.
For anything else, taking another path that is not the University, will be extremely hard.
"because out of not having a CS degree, my way of demonstrating that I have knowledge, is practical and from experience. So I can reference many clients and projects that are in production, etc."
This is totally valid with software development. But not about theoretical knowledge that has no direct applications on the market and has interest only for research (this happens with a lot of mathematical knowledge). This is what I meant before with the difference between software development and computer science.
But, as you say, for software development that is not required. A degree doesn't magically improve your code quality, only experience and dedication. I totally agree with that. University might be the better path for a scientific career, but it is far from the best option to become a successful developer.
Thank you for the amazing conversation! I wish the internet was like this, all the time. 🤝
It's been really cool and nice. ¡Gracias!
Just want to say, you'd be surprised what kind of equipment you can access, learn and work with. I worked on elearning software for the better part of a decade. I had to learn about aerospace equipment well enough to create simulated training software that accurately reflected the interfaces in use since you don't necessarily want a bunch of students working on multi million dollar equipment attached to jet engines while learning.
I also have no formal education beyond squeaking by HS. What i do, however, is read voraciously on technical subjects and can usually gain a solid grasp quickly. I always found school mind numbingly slow and boring. I don't think I'd do well in a university setting, and don't look down on those that need that kind of structure laid out for them. It's just not me.
You'd also by surprised how much you can learn and forget over the course of a couple decades.
Thank you for your input, Michael! There are so many possibilities and experiences and points of view, as there are people. And they're all very valid.
But I am glad you shared your experience and it even involves expensive equipment.
The best explanation I have seen on this topic. 👏👏👏👏👏
Some comments have been hidden by the post's author - find out more
We're a place where coders share, stay up-to-date and grow their careers.