I know this a question that’s been asked a million times before, but I feel like I want to hear from other people’s experiences. Is a Computer Science degree worth it? I’m soon going to be going into college, but I keep hearing about how many people don’t even have degrees in the field and are doing just fine. While I understand that anyone can make it as long as they have enough of a portfolio to show off, Is it a stupid idea for me to go into a classroom setting when I can just learn everything online?
Yes. If you can get a degree, do it. It is far easier to get a job with a degree.
Whether it is “worth it” is completely subjective. We can’t answer it for you. What I CAN tell you is that a CS degree is valuable. If you are at a point in your life where you are considering attending university, and that goal feels attainable, then I encourage you to pursue it.
I mean, with books and internet you can learn EVERYTHING online, right?
The difference is, WILL you learn it (discipline and motivation) and CAN you sell it to a future employer?
Both are a lot easier with a formal degree because then you are kinda forced to follow a specific and usually well-thought-out curriculum, that will cover everything you need AND connects you with people for questions AND gives your opportunities to do your own projects AND help if you need it.
All of this makes it a lot easier to then sell your knowledge to a future employer because they can look at your degree and be like “Yep, that person appearently learned that succesfully”. Without a degree, you have to convince them with other things.
It will in no way hurt your job opportunities to have a CS degree. Allthough if you aren´t planning on doing research it might be better to see if you can get a degree in software engineering instead.
I’m not sure what you mean by “doing research”. Often a graduate degree is needed for research focused jobs.
Although a few schools have started rebranding their CS curriculum as “software engineering”, most haven’t and it’s mostly a distinction without difference. “Computer science” isn’t a research focused discipline.
OK, I see. In my country there is a huge distinction between CS (mostly theoretical stuff like automata theory, formal languages, compiler theory and algorithms) and software engineering.
Would it be smart to get into some sort of math minor/dual major? The main appeal to me for a computer science degree over an IT field is that it has that mathematical foundation. Could that be something to consider in the future?
I wouldn’t write these off as ‘theoretical’. These are important topics with lots of applications that help you deliver better software. Also, many computer engineering degrees require much of this content too, especially low level stuff like compilers. At my institution, algorithms is part of the typical curriculum for software engineers. The main difference is really how many classes focus on hardware vs software.
Re math - it depends upon what sort of programming you want to do. But adding a math minor or second major does add flexibility to your degree that can be helpful if you are interested in jobs that require lots of math or statistics.
This is going to vary based on the school and the program, but at many schools the CS degree will have enough of a math foundation that adding a math minor isn’t a significant amount of extra work. I would pursue this based on your interests though. I don’t think it impacts career prospects.
Just as a reference, I could have gotten a math minor for my CS degree by taking only 6 more classes (roughly 2 semesters of extra work).
I knew one guy who did do this among other things. They took an extra year to graduate, but did a lot more than just get a math minor. They also helped some upper graduates do their research, and thus got their name on published papers. They also did a number of projects for multiple classes to a degree they can be shown off, and then were able to apply to big name companies.
They currently are working for a “big name” defense company, making 6 figures out of college with an undergrad degree. So companies did take notice of their ambition, but the math minor was just “one piece of the puzzle”.
So yes, it could help you, it could also be a lot more work than you expect on top of what can already be a “credit heavy” major. I never heard of anyone doing a dual major that isn’t extremely dedicated. It’s possible, but you’re looking at a mountain of work that could easily set you on a path of academic failure along with 0 social life.
I’d recommend talking to your counselor about your options.
Hi @Binny !
You have already received a lot of great advice.
But I just wanted to highlight one very important point
I am a self taught developer and while I am grateful for great content online it is hard to stay the course and keep yourself disciplined at times.
When you are self taught you have to learn the hard concepts and stick with it even though it is tough sometimes.
I have seen so many people rush through courses or skip concepts because there is no one holding them accountable.
When you are self taught you call all of the shots.
When you are in a classroom, other people will hold you accountable and make you go through a structured timeline.
Just something to keep in mind, if you go through the self taught route
The most important thing is not to take classes online or in a college hall. Many university teachers meet on the Internet to research and share knowledge. The most important thing is to master your subject, your field and it is a question of will. Diplomas are about getting hired, whereas you can set up a business without a university degree and work for yourself.
I disagree. The college experience does offer benefits. Both learning in a college or online are perfectly valid.
I’m not sure how this is relevant to if getting a degree is a good idea.
More access to resources, luck, and will, in my experience
Not really. They can greatly help in getting hired, but that is not the only purpose of a degree program.
You can do a lot without a degree, but you have more opportunities if you get a degree. If someone has access to a degree and it’s reasonable for them, I always recommend getting the degree.
I totally agree. I just wanted to say that online learning also offers a solid training and a lot of tools and resources to achieve its goals. This is also the example of freeCodeCamp. But the question remains! Do I need to do another training at a university after the freeCodeCamp certificates. I think it is not necessary. We do not finish learning.
Do you need a university degree to get a programming job? No. Does having a university degree make it easier to get a job? Yes. Absolutely yes.
OK, thanks. Let’s redouble our efforts in learning and be very active. It is a perpetual apprenticeship.
Very true. freeCodeCamp and other resources can provide a lot for self learning.
However, I think you are missing my point
People have to know how to be disciplined and know how to learn in order to do well with self taught education.
Most people want to learn how to code on their own but unfortunately they don’t do well with self discipline and pushing through tough subjects.
College can help with that by providing a structured environment to learn and push yourself to keep going.
But some of our alumni did and today work for big companies like Google, Apple and many more. The way is already drawn. If we have the money, we can afford college courses. In Africa, it is very expensive so why not bet on freeCodeCamp and put it all in by offering adapted and well-structured programs like those of the universities. It is also a university.