From a Non-Degree Perspective: Does a Computer Science Degree Really Matter?
A simple man, 26 years old, currently living in Istanbul. My computer journey began with a used IBM ThinkPad, a humble machine with just 32 or 64 MB of RAM — I can't quite recall the specifications but it wasn't more than 64 MB of RAM for sure. I started playing with computers at 7 and got into coding for fun by the time I was ~10. By the time I hit 17, it struck me that I could turn my passion for coding into a source of income through freelancing. Although I couldn't take on a full-time office job (as I was a student my family wouldn't allow me doing that), freelancing was the way of making money doing what I love.
I have collaborated with various companies on significant and large-scale projects. Currently, I am working on decentralized peer-to-peer projects at Komodo Platform trying to solve quite complicated challanges, and also I work on the Rust Programming Language compiler with talented individuals worldwide, and I actively do open-source stuff. Previously, I worked on a lot of projects for various companies, organizations and government entities (primarily connected to the Ministry of Culture and Tourism in Turkey). I feel most comfortable when working on compilers, operating system internals, distributed computing and making security analyses on systems.
Working in my field, I regularly meet with a lot of individuals with PhDs and also professors from reputable universities. However, I rarely see people who have extensive experience but lack a formal educational background. I am quite sure this ratio may differ significantly in other CS areas (like front-end development, devops, back-end API development, etc).
Please note that what I have written here may not apply to everyone; there could be a few individuals who are exceptions, even if their numbers are minimal.
Do you really need a degree to get a job?
Certainly not. Depending on your expertise, you can get a job from any company you may dream of. There is no limit to that.
When a degree matters?
The answer varies depending on your aspirations. If your goal is to work in areas like front-end, devops, or backend, such as writing APIs, it's not very difficult to develop yourself in these fields without a university. You can also work on AI without a university degree. However, progressing without a university education in these fields often doesn't go beyond gaining the ability to work with existing systems. In other words, those who self-develop without a university education can reach levels where they can work with ready-made frameworks, but they may struggle to delve into the lower level, theoretical implementations at the core of these fields.
If you aim to conduct research and development in theoretical areas (such as designing kernel, file-system, network protocol, etc), although a degree alone may not be sufficient, quality education will significantly help your journey. Many of the theoretical concepts are challenging to learn unless explained by experts. Trying to learn them on your own may lead to difficulties in finding resources and an increased risk of progressing with incorrect informations.
In short, a good degree can be extremely beneficial for individuals aiming to work in theoretical and scientific fields. However, for those focusing on practical areas (such as front-end apps, back-end CRUD APIs, devops, etc.), it's quite possible to develop yourself without a degree.
Problems I faced as a non-degree individual
Each topic refers to my personal life and career experiences. Some people may think there are more, but these are the only ones I have faced so far.
1- When you want to start scientific research or a project, official institutions may overlook you and obtaining financial support from your country will be very challenging. Many application systems require diploma documents in the initial stages (This is how it is in Turkey; I don't know about other countries).
2- Most investors, especially those without a technical background or even with limited tech knowledge will have no idea about your proficiency. Consequently, they might not find you as an attractive investment option when launching a company, especially in comparison to an average individual graduating from a well-known university.
3- Regardless of your expertise or knowledge level, and even if you are involved in highly critical, important and global projects, you don't have the same prestige as an average person with a quality university education when viewed by non-tech individuals.
Why I don't have a degree?
Earlier (when I was 16-17 years old), I was unaware of the problems I would face today and I spent all my time working on computer projects. Although it did many positive impacts, it reduced the importance I attach to academic life. I gained the knowledge mentioned above much later in life.
Am I considering getting a degree?
Due to the reasons mentioned in points 1 and 2, I am considering for an academic career and starting at a high-quality university. I am tired of trying to explain my level of expertise by showcasing the projects I have worked on and referring to the people I have collaborated with.
A lot of people today criticize universities claiming they are entirely useless. I think this is just a misconception fueled by popular culture and shouldn't be taken seriously. As a non-degree Computer Scientist who has a strong background, I think it's not accurate to say that a degree and university education are completely unnecessary or absolutely necessary. This completely depends on an individual's goals, the field they want to work in, and even the country they live in.