What's up, guys?
First off, let me just say that this is my first post. I found this platform through an Instagram ad and think it is a really cool idea. I am excited to now be apart of it. Okay, now on with the article.
Soooo, you're considering computer science as a potential major. Is it right for you? Will you just stare at a screen all day and produce mindless code? Is it a prerequisite to wear a black hoodie and headphones everywhere you go? This is where I can hopefully shed some light on the subject.
I am about midway through my second semester as a CS student at the Georgia Institute of Technology, and by summer I will have completed five major specific courses. This means that I will have taken pretty much every general CS education class and will begin to move into more specific courses tailored to what I want to do with my career (most likely centered around Artificial Intelligence and Information). In this brief article, I will give you five things I have run into, and hopefully give you a better idea of if this major is for you.
#1: Problem Solving on Top of Problem Solving on Top of Problem Solving
If you don't like problem solving, I suggest you exit out of this article and start looking at other majors you may be interested in. This is the main thing I have come to find computer science consists of. The majority of the homework I have run into thus far is simply a word problem or scenario that you must solve using your programming skills.
For example: just last week, I was asked to produce a "hangman-like" game. However, that is basically all the directions asked me to do. There are a million different ways this could be achieved, and it was up to me to solve the problem however I liked. This is a common occurrence in CS classes, and often you and another student can complete the exact same assignment and have very different code.
On a similar note, programming itself is simply problem solving. You will undoubtedly run into error after error after error. You will develop a workflow that involves writing code, debugging, writing more code, and so on. And you end up creating problems in your code (often more than you are solving) that you have to go back and figure out how to solve, ESPECIALLY when you are first starting.
However, anyone who has ever struggled on a programming problem can tell you that when you actually run your program and it works the way it is supposed to, there is an unrivaled sense of pride and accomplishment. In fact, one of my friends can actually testify that at two AM in the library, I screamed "I AM A F**KING GENIUS," promptly receiving plenty of annoyed stares from the other students around me. But it is the feeling of solving a problem you have been struggling with that is one of the many reasons I love programming and computer science. If you enjoy word problems or puzzles that require critical thinking, then you check the main and most important box for this major.
#2: Job placement is great BUT don't do it only for the money.
If you have done any googling of CS majors at all (which obviously you have if you are so far down on the internet that you somehow came across this article), you know that they are in high demand, and that is 100 percent true. It is one of the fastest growing industries and shows almost no sign of slowing down. In addition, every industry can use someone with a CS background, whether that means front-dev for google, cybersecurity for Bank of America, or web design for the Mom and Pop's coffee shop. Thus, you can pretty much take your pick of what industry you want to go into and what you want to do upon completing your degree.
That said, the amount of people who I have come across who are majoring in computer science SOLELY because of job placement is a concerning amount. If staring at a computer writing code all day is not your thing, then there is no reason to do it. There are plenty of other majors that have lucrative career paths. School isn't cheap, and at the end of the day, you are investing in your future. If you are miserable in school as a CS major, chances are the money isn't gonna change that upon finding a job.
#3: You don't have to be great at math to program, but....
It's true. You have probably heard it somewhere and I can confirm: you can be a great programmer and be terrible at math. As long as you are working in a CS specification that is not centered around a math concept (ex: algorithm development) you will probably be just fine without a strong understanding of calculus.
HOWEVER, being a CS major isn't all about programming. At the end of two semesters, I will have taken four math classes, and while these aren't critical to my programming skills, they are required to get my degree. So like it or not, you will be doing LOTS of math. Not to be a great programmer, but to actually graduate. So, if you don't like math, this is something to keep in mind when deciding if this major is the correct one for you. You're going to be taking a ton of programming and CS classes, but you also are going to be taking a good bit of general math and science (way more than most other majors).
#4: The Will to Learn Both in and out of the Classroom
My first semester as a CompSci major, I took an Intro to Computing Course which taught the basics of how to think like a computer scientist and was based in Python. The class was super interesting, and I enjoyed it quite a bit, thus solidifying my decision in major. Then, second semester I registered for my next required class: Intro to Object Oriented Programming. However, this class was based in Java. I had just spent a full four-ish months learning the ins and outs of Python and then had the languages switched up on me. Even better, the teacher didn't go over the basics of Java, but rather jumped right into the curriculum. For those who have never programmed before, that is like taking Spanish one and then moving on to French two.
And when our first homework came out, I looked at it and saw I could have finished it in Python in about 15 minutes. However, I had to use Java, a language I did not know. This is one of the things about computer science: you HAVE to be willing to learn on your own time. Google will become your best friend. Whether it is learning the basics of a new language like I had to do, or simply trying to find a built-in function to achieve what you are trying to do, you are constantly learning. No class could cover every little detail of programming. It's simply too broad of a topic that continues to evolve as we speak. Therefore, you have to take initiative and be willing to teach yourself sometimes.
#5: You won't know until you try.
At the end of the day, this is really true of everything, but I especially believe this for computer science. I have multiple friends who really thought this was what they wanted to do, and they quickly came to find they were wrong. In contrast, I have other friends who took an intro CS class as part of their major and ended up switching because they liked it so much. Until you actually are sitting down writing code and solving problems, you won't truly know if CS is for you.
For me, I took an online CS class the summer going into my first semester at college. I liked it so much that I actually ended up switching my major at orientation and have not (yet) regretted it. If you are the least bit interested, just try some intro level stuff on your own. I recommend trying to find a good online course on Udemy (I learned python first as it is powerful and VERY beginner friendly). This will at least give you some direction as to whether or not you should consider CS more seriously. If you already know where you are going to school, reach out to a CS major there and see if you can get an idea of what their day to day life is.
At the end of the day, computer science is for some, but certainly not all. With a wide range of job opportunities available, it is one of the fastest growing and lucrative majors. If you are interested in problem solving, learning, and trying something new, I cannot recommend it enough. It is a super interesting (at least to me) and ever-evolving field that continues to shape the future. Even if you aren't sure if it is what you want to major in, having a bit of programming experience is slowly becoming necessary for many jobs. Thus, now is as good as ever to learn how to code.
PS: If, for whatever reason you are a recruiter who is reading this, hit up my LinkedIn.