by Colin Smith
A Computer Science degree: ticket to your dream tech job or a useless piece of paper?
The decision I made
If you were like me when you were first looking to get started with coding, you wanted the easy path to a tech career. I was looking for the fastest, most assured way to get a tech job with the least amount of resources involved. What do I mean by resources in the situation? The most important things to every human being on this planet: time, money, and energy.
I kept going back and forth on whether I should take the plunge and do the degree. The fact is, going back to school did not appeal to me at all. I thought I was done with taking classes back in 2011 but getting the degree would mean re-entering the classroom. I dreaded the thought of being bored out of my mind listening to someone drone on about a topic that may not even end up being relevant to my future career.
Also, failure meant a huge waste of all the resources I listed above. Once I took this route, there would be no going back. And that was terrifying.
I kept trying to find a way around the degree. The issue is, back when I was looking, there were no other options. There were some crappy and hastily put together “courses” on Udemy and other websites that I tried. They were clearly sub par and wouldn’t have gotten me anywhere. I also couldn’t find any articles or stories about people who had succeeded without a degree.
After evaluating my situation and all paths available to me, I decided to go with an online computer science degree. My situation was pretty unique since I was living abroad at the time which limited my options either further. I felt that a computer science degree was the only way to go. When I made my decision, there weren’t other options for breaking into a tech career, such as freeCodeCamp’s amazing online program. So I went with what I knew and what I thought was the only way to achieve a successful career switch.
So now that you know the path I took, and why I took it, would I make the same decision again? The answer is “no, probably not”.
Reasons to consider another option
- The knowledge gained is too small on too wide a range of topics.
- Computer science programs are usually outdated.
- The cost is prohibitive.
- Degrees aren’t necessary for a lot of tech jobs.
Let’s start with the first point. You are getting a very small taste of a lot of different things. The issue is you aren’t learning about any of the topics enough to transfer your knowledge to skills that employers would value. The little sample app you made in your web programming class is definitely neat. But it usually won’t impress an employer unless you’ve gone above and beyond yourself. And this is a major issue in a job economy that highly favors skills. According to this article applicable career skills are number one:
“Instead of emphasizing the need for specific titles and experience, organizations are shifting towards a focus on the skills that a potential employee may bring.”
— Abigail Hess
Jack of all trades, master of none
Another issue is that the information from the classes you will take comes from people that were working professionally 10 to 20 years ago. Which is like 100 to 200 years in tech time (remember when Yahoo could have bought Google for 1 million bucks 20 years ago?).
Things change quickly in tech and the knowledge you are gaining may be out of date the minute it enters your head. Options like bootcamps or freeCodeCamp that are more tailored to being competitive out of the gates tend to have up to date information. They also only focus on the things you need to know without focusing on topics that aren’t relevant to the career you are pursuing.
Some of the classes I took during my degree include assembly programming, networks, databases and algorithms. Did I end up using much of the knowledge I learned in my future career? No, not really. At least not anything derived specifically from the courses.
What I did get was enough knowledge on these topics to talk about them during lunch with other devs. I rarely applied any of the knowledge from my degree directly in my job. Networks was probably the most useful to me as a mobile developer. But even the knowledge from that class could be had with a simple Wikipedia search (ACK0 ACK1, that’s about all I remember).
Let’s move on to the cost. According to CollegeBoard, the average tuition and fees for a four year in-state public college for one year of school was $10,230. This doesn’t account for room and board which would bump it up to $21,370. Multiply that by the number of years it will take you (4 years for most people) and you get $85,480. Also fees will go up while you are in school so that final number will definitely be higher.
So that is a lot of money but there is another cost that you will be incurring by getting a degree: opportunity cost. Right now, there is a huge demand for tech jobs and if you can become a viable candidate in this market, you will have a good chance of getting a job. Will that be the case in four years from now? Well, I don’t have a crystal ball, but I can tell you is that there is no guarantee.
Do you really need it?
Back to the job market right now. The fact that tech skills are so highly in demand means that employers are willing to overlook a lack of title or qualifications. Even top tech companies like Facebook are looking past degrees and other qualifications. According to this article on currently in-demand skills:
“Skills really matter the most,”
— Janelle Gale, VP of HR, Facebook
If you can do the job from day one and you have some soft skills, then you have a strong shot at landing a job. In fact, alternative options like freeCodeCamp and bootcamps may even give you a better shot at landing a job. The reason is you will be trained in skills that can be directly applied in a job. You will also get a great portfolio app or website when you complete one of these courses. Having a strong portfolio is a sure-fire way of garnering attention and getting interviews.
Well, what about getting interviews? Computer science degrees help with getting interviews right? Once again, it depends. I told you I got my degree online. Well some companies look down upon online degrees. I was flat out told during screens that, “an online degree isn’t enough to get you an interview”. I saw this multiple times over chat during an online job seminar. Ironic, right?
I also wasn’t offered much support by my school in searching for jobs. Every lead they gave me either turned me down due to my degree being online, wasn’t a good opportunity or required me to move to the middle of nowhere. I also wasn’t given much help or support by my career counselor. This is usually listed as one of the biggest advantages of getting a computer science degree. Sadly, in my experience, the counseling you receive from public colleges tends to be really underwhelming.
So a degree really only really helps if you got it from a good school with a good counseling program, you attended classes in person, and you have portfolio projects that you can show off. It also only helps for your first job (read here on how to succeed in your first interview). Once you’ve proven yourself at one tech company, the computer science degree becomes much less important.
So enough nay saying. There have got to be some benefits right? Well there definitely are. The first thing is experience with a wide breadth of topics in tech. If you have studied something, you will have an easier time looking up information on the topic. Someone with zero knowledge will struggle to even ask good questions, let alone find answers. Having studied these topics gives you a small base in most things you will come across in your tech career. This means you can tackle somewhat unknown areas in your job and manage to keep your bearings.
The second thing you get is experience with multiple programming languages. The good part is you use them in scenarios that are somewhat applicable to the real world (this varies from class to class and degree to degree).
The last and perhaps most important thing is the fact you will be working with others looking to achieve the same goals as you. Even in my online program, there were group projects that forced me to work with others. I am a pretty solitary person so if I wasn’t forced to reach out to others in the program, I most likely wouldn’t have. But making these connections was invaluable. We were all sharing in the same struggles, came from similar backgrounds and we were all looking to achieve the same things. This really helped when I needed advice on an interview or wanted to know about a career path.
But in case you didn’t notice, all of the benefits I listed above could be had without getting a degree. Going through the degree program just bakes them into the experience. You won’t be able to make it through the program without experiencing the benefits I listed above. If you want the same benefits outside of a degree course, you might have to put in a little more of your own effort to get them.
So do all the benefits above make the degree worth it? I’d say no. The main reason for me was that I was saddled with a ton of student debt once the program was completed. I am writing from an American perspective so having debt after completing a computer science course may not be an issue for you. But no matter where you are, a computer science degree will certainly cost you more of at least one of the resources I mentioned above (time, money, energy) compared to a bootcamp or free online course approach. It will be slower for sure.
So whats the verdict? At a higher cost to your time, money and energy, a computer science course may help you with getting your first job (read my article here for some tips on succeeding in your first interview). It may help you keep your motivation through camaraderie with other students and will give you a wider breadth of knowledge. Without a computer science degree, you will almost certainly save on the resources I mentioned above. But this comes at a higher chance of having a harder time securing your first job. Those are really the main things I would take into consideration when making your choice.
And don’t worry too much about which choice you take. As long as you take small steps forward, you will find yourself where you want to be. I could look back and wish that I went with a free course like freeCodeCamp and be much richer in time and money. But I made my choices and still ended up where I wanted to be. I achieved what I wanted in the end. And the fact you are reading this article means that you have also just taken a small step towards your shiny new tech career too.
Liked what you read?
Feel free to check out some of my other articles:
My story, how I went from an assistant language teacher to working at a top tech company.