Hello world! I'm Johanne

Software developer, bookworm and runner extraordinaire

Latest blog post

Is the CS degree worth it? Reflections from a recent CS grad

Graduation If you asked me a few months ago whether a Computer Science degree is worth it, the answer would have been a big NO. The majority of the courses are not relevant, you get very little job skills and you won’t have as much programming experience as bootcamp graduates. But if I take a step back and reflect a bit then it’s not so black and white.

I started my computer science degree 3 years ago wit h no prior programming experience. This month I walk away from my studies with 3 years of programming experience and some irrelevant knowledge about modal logic. I am fortunate enough to have a great job as a software developer. However, I don’t think I would have been considered for my job if I did not have my degree.

From a purely practical point of view, I think many employers still value a university degree higher. Especially if you don’t have much prior work experience.

However, from the perspective of becoming a developer, getting a degree is both good and bad.

First of all, university gives you a structure, you have deadlines and exams. The material is chosen for you and there are people who are paid to help you. While this is also possible to find with online courses, I’d argue that you don’t have the same accountability. So if you’re someone who needs the structure and accountability a CS degree might be for ypu. Especially if you are just starting out and have no idea where to begin then a CS degree might be worth it if you have the time and means. However it is also a very big commitment.

Another thing you get with a CS degree is practice. This you can definitely also get without one. Although, I’d argue that the practice you get at uni is better than coding along with a tutorial. It is not as good as creating your own projects though. Which you don’t get to do during a course, since there are clear criteria. That’s another thing against a university degree, all the tasks you get are clearly defined. There is only one right answer.

After getting a job, I found that to be really difficult. All of a sudden there is no step by step guide to the right solution. You have to figure it out on your own and hope your solution is good enough. This is experience you can only get by creating projects from just the requirements.

This is probably best to do when you have some programming experience, so if you’re just starting out, the handholding you get at university can beneficial. However, once you have that experience, university courses becomes a matter of passing just the tests, not about practicing problem solving and designing solutions.

Another benefit of a CS degree is the experience you get in collaborating with other people on projects. You look at other peoples code, both code that is better and worse than what you write. Reading and understanding other peoples code will make you a much better developer. Same goes for teamwork. Other people can see things you might miss and it’s good practice for when you start working.

Something else to consider is all the benefits you get as a student. There are discounts or free licenses on services that will help you as you learn which can save you a lot of money.

Lastly, I think a CS degree teaches you a certain mindset. So even though there are many subjects that seem unnecessary, the content teaches you to solve problems. Be it modal logic, graph theory or lambda calculus. None of it seems very applicable for a software developer but you’ve still trained your mind to solve many kinds of problems.

I think it is one of the things that makes a CS degree valuable. You’re exposed to so many different approaches to problems and different ways of thinking, that you get a broader perspective. So while the courses may not feel useful, they’ve still had an implicit impact on your abilities.

Overall, whether it is worth getting a CS degree depends on the person. If you’re at a stage in your life where you have the time to do it, I think you should go for it. It will make it easier for you to get a job and it gives you a solid fundation to build on. But if you want actual skills you need for a job, you have to learn outside of university. Get a part-time programming job if you can, start freelancing or do internships, these are the things that will make you stand out.

A computer science program is not meant to produce software developers, but budding academics. So a degree will prepare you for further studies, not as much for a successful career. Which is why I think, if you have the discipline to build the fundation on your own, that will be a better use of your time.

Either way, it is going to be a long journey to becoming a software developer. There is no magic trick. Only hours spent in front of the keyboard or buried in books.

Thank you for reading, feel free to leave a comment!