Although I majored in computer science and will recommend it to anyone willing to listen to me, I know that computer science is not for everyone. I hope that sharing my thoughts will help people make a more holistic judgement. But, you should still consider it!!!
I thoroughly enjoyed majoring in computer science at MIT. They’re exciting and also challenging, which makes the projects and assignments interesting to conquer. However, increasingly, I’ve found it disheartening to see people who aren’t interested in computer science pursuing CS as a full-time career. It reminds me of high school athletes who hate their sport but still train and compete because they want to get into a good college. And then what? Compete for another four years to keep their scholarship? They burn out and waste a bunch of time doing things they never enjoyed doing.
Re-aligning your beliefs
While it is true that most companies recruit computer science majors at a career fair, I never got a single job directly from going to it. Companies are mainly looking for diversity or full-time hires anyway. For most people, companies will tell everyone to ‘apply online.’ Thanks for looking at my resume! A ‘chill’ work-life balance is also questionable. While tech companies tend not to overwork their employees, a decent amount of teams peer pressure employees to work long hours. Startups are the worst. But to be honest, it is still a reasonable work-life balance compared to what most MIT kids have anyway in college.
Coding is a lifestyle
Majoring in CS when you do not like writing code is dangerous. Most jobs after college require some form of writing code, and I’ve seen many people’ shocked’ that they couldn’t get a job simply because they weren’t casting a wide enough net. Some realize that they don’t want to be a code monkey in a big tech company due to ethical or personal reasons. Thus, I have friends who had a hard time figuring out what companies to apply to because ‘I didn’t want to code all day.’ It’s not even that they couldn’t get an interview!
While an undergraduate, most CS classes require a decent amount of coding. I spent hours trying to debug my PSETs and projects (and a few all-nighters). I found some classes where the content was interesting but frustrating and tedious (even for the best of the best in the class). For people with a dislike for coding, I doubt they enjoy any of their classes.
CS Classes aren’t the most interesting
There are some fantastic non-CS classes that I wish I had taken, but I never got to take them because of how time-consuming advanced CS classes were compared to the material I learned (and also my extracurriculars). Physics always seemed so interesting to me as well as business. It would’ve been fun to dip my feet into biology and chemistry classes and appreciate the vaccine development even more :). Some of my friends liked Mechanical Engineering for their capstone projects (2.009!) where they built a sellable product from scratch in one semester. There is no CS capstone class, and the advanced courses we do take have lackluster final projects. I wonder what percentage of CS majors would’ve had a more enjoyable time if they had majored in another major.
You should still take a CS class, though
However, I think this post comes with a silver lining. It’s essential to have a solid foundation in computer science. Even if you don’t write code, everyone will be interacting with people who do, and it is one of my biggest pet peeves when people don’t know what they’re talking about in CS trying to tell me I’m wrong or if something is ‘easy.’ So minor in CS or even take a class to appreciate it, because at the end of the day it can only help you get better at communicating with software engineers.