Should You Major in Computer Science?
Check out the video version of this blog post and more on my YouTube!
Should you major in computer science? Will it be a good return on investment? Will you enjoy it? What skills and qualities do I need in order to succeed? Will you really have no social life if I choose this major? Answers to those questions and more coming up!
Having graduated with a computer science degree earlier this year, and also acquiring a software engineering position post-grad I'm gonna share some of my personal advice to help you decide if computer science is the right major for you. Let's get into it.
Return on Investment
The first thing I'm gonna talk about is; return on investment. If you're going to college to get a degree and land a high-paying job, computer science is a viable option if not the best option especially in today's circumstances with covid. Why you might ask? With a computer science degree, you will most likely end up in some sort of Software Engineer/Developer position. In those positions, you can bet that you will have a pretty high salary despite just coming out of college, and in most cases, you will have the ability to work from home part-time or even full-time. With a high salary starting out. If you have taken student loans you can pay those off quicker and you will have a little bit more extra cash left over after paying your other bills. Working from home is great, it saves you even more money not having to drive, and you have a lot better work-life balance.
Will you enjoy it?
Moving on to the next big question, will I enjoy computer science? I have always been a very tech-savvy guy and started coding back in high school. Having chosen what many people consider a smart "career path" while also having somewhat an interest and enjoyment in what I do, I consider myself lucky. There are other people I know who have chosen a career path they are really passionate about, but it doesn't end up paying well post-grad. And you also have the reverse where people will go into a field just for the money and are miserable.
Computer science is great because there are so many layers and opportunities that come from it. Yes, you do have to be very technical when learning all these algorithms, and engineering code. But there are times where you have to be creative in the ways you solve certain problems, and when designing the front end of websites and apps. Nowadays computers and software are everywhere in:
social media and marketing
game development
finance
telecommunications
medical
the list goes on
All these companies need apps and websites to be designed, servers to be maintained, games to be developed, etc. Where ever you end up, just know that you can and will find a company enjoying working for you
Skills and Qualities
Moving on to skills and qualities
Starting off with what I think is the most important one to have in computer science, and that's problem-solving. The concepts that you will end up learning aren't easy. You are gonna be given the concepts, tools, and methods, and your job is to utilize all of those things to write a program with expected output and functionality or some written homework using certain methods. To be a good problem solver, you need to:
Have good attention to detail
Make sure you know the material, and what is expected from you
Be efficient and hard-working,
Know when to ask for help if you get stuck, while making sure you have put in the initial work and effort beforehand
As I've said before, computer science is a difficult major. There have been many moments I've been stuck on an assignment or program and I would literally be sitting there staring at my IDE on my computer screen, either because I was burnt out from trying so many times or just totally confused and not knowing what to do next. But after putting in the work, I would then finally get the solution and get my code to run as expected. To succeed as a computer science student, you have to be willing to fail and get it wrong a number of times before you finally reach a solution or fully understand a concept. Yes there are times where it just clicks for you, and the assignments are a breeze and you get the solution in the first few tries maybe even the first. But don't bet on that, and prepare to put in work and hours in completing your assignments and prepping for exams. This brings me to my last point, which is time management
Time Management
I feel like there's a stereotype where people think computer science students are nerds or geeks coding all day every day and not having a social life but that's totally wrong. There is some real truth to that I guess. You will be on your computer a bunch and compared to your fellow nonstem major friends, your schedule will most likely end up being a lot busier. My schedule was very jam-packed, especially in my first 2 semesters. Here’s a quick overview (your first year if you do take up computer science will be very similar):
Fall 2016
Computer Science I, 4 credits
Calculus I, 4 credits
Physics I, 4 credits
Two general studies courses, 3 credits each
Spring 2017
Computer Science II, 4 credits
Calculus II, 4 credits
Physics II, 4 credits
Two general studies courses, 3 credits each
Learning how to manage your time takes, well time... and each semester you will get better at it! It wasn't really until my last few semesters of college where I really hit it on the nail. I was able to balance my academics, multiple extracurricular clubs, social life, a part-time job, going to the gym, and most importantly sleep. If you're worried that you won't have time for a social life in college, don't. Mark everything on your calendar, write it in your planner, however, you do it, as long as you manage your time well and know your priorities, you will make time for the things you want to do