Should I Major in Computer Science?

I’m in my fourth year studying Computer Science (and Engineering 🤷‍♂️), and I’m certain this was the right move for me. But is a degree in Computer Science the right path for you? Is Computer Science a good major?

For me, the decision was all but obvious once I eliminated some other career options — I love to build things, and I love to work with people. Working as a Software Engineer seems like a natural choice. The most common degree for people pursuing a career in Software Engineering is a B.S. in Computer Science, so that’s what I looked for!

Should you follow your passion?

Yes, and no. Following your passion is often dangerous, as Cal Newport argues in his book, “So Good They Can’t Ignore You.” A distinguished Professor of Computer Science and popular author, he argues that skills trump passion in the quest for work that matters.

At the most basic level, we work for money. We used to have to hunt or grow our own food, fending for all of our most basic resources. Now, most of us specialize in more specific work, like carpentry, teaching, marketing, or programming. We trade our time and skills for money, which we trade for the things we want and need. You can talk all day about doing a job because we love it, but if the paycheck stopped coming, I’d bet you’d be looking for a job you loved that payed you.

Even so, no person wants to spend a giant portion of their life slaving away doing work they hate. We gravitate towards work that fulfills us. So to answer the question “Should I major in Computer Science,” you have to answer the question, “Will this lead me to a career that is fulfilling, stable, and financially attractive?” Obviously, the answer varies — and I hope to help you find yours.

Cal Newport follows up his denial of “Follow your passion” with the assertion that in order to find work that fulfills us, we need to first acquire rare and valuable skills, something he calls “Career capital.” You need to give employers or clients a reason to trust you with autonomy and pay you well, and for that, you need a track record of success. For some people, college is a great step to establishing that track record while acquiring those rare and valuable skills.

Will You Enjoy Working In Computer Science?

The easiest way to pick your major (and know if you even need to go to college) is to decide on your career. Plenty of people find their career after they pick a school and major, and that’s just as valid. However, if you’re already considering Computer Science, narrowing down your desired occupation is a natural first step. Here’s a list of just 10 job titles people in Computer Science tend to gravitate to -

  1. Software Developer (or Engineer)
  2. Database Administrator
  3. Computer Hardware Engineer
  4. Computer Hardware Engineer
  5. Computer Hardware Engineer
  6. Web Developer
  7. Information Security Analyst
  8. Computer and Information Research Scientists
  9. Computer and Information Systems Managers
  10. IT Project Manager

If any of these roles interest you, you can find more information here!

All of these titles are great places to start in your search for work that you’ll love, if you feel inclined to them. Even so, you’ll need to work hard and build a reputation for yourself before you reap most of the benefits of this “career capital.”

Do You Like To Code?

Not everyone who studies computer science is writing code all day. In fact, pretty much everyone will have to face more soft-skill oriented tasks, like participating in meetings and working with colleagues. However I’m pretty comfortable saying that if you don’t like computers, or the thought of sitting in front of a computer for most of your workday is dreadful, this probably isn’t the career you want.

During my internships, I spent a lot of time writing code, but even more time working with teammates. Programming isn’t a solo sport, and that’s a good thing. So, if you’re great at working with people, and you don’t hate computers, give yourself a chance.

What If You’re Bad At Math?

Working in tech or software is one thing, but studying Computer Science is another. In my professional work, I pretty much never explicitly call on my math knowledge. An understanding of mathematics at an algebra level is likely enough for you to be able to write quality software, but it won’t make you a “Computer Scientist.”

Any accredited Computer Science degree is going to require a ton of math. Like, enough math where it wouldn’t be much extra work to pick up a math minor. You don’t have to love math to succeed, I certainly don’t. In fact, I’m not even particularly good at math. I failed Calculus 3 actually — I had to take it again. I worked hard, filled gaps in my knowledge, and came out of it with an A. While that one failed course hurt my GPA, I honestly don’t believe it indicates that I’m any worse at my job. I view it as a learning experience, and a refinement of my work ethic. Math is really hard for me, and I work my butt off to get through it.

When I graduate, I can move on from math. Sure, jobs will often you to understand Computer Science related math (things like graph theory, limits, and maybe even probability), but I believe employers value work ethic over natural ability.

You do have to command an ability in analytical thinking though. Programming is just telling computers what to do, and that requires a firm grasp on logic. This is something that can be learned, but if you absolutely hate the idea of puzzles, logic, and problem solving, you’re starting at an incredible disadvantage.

Hard work beats talent when talent fails to work hard. So no, don’t let not “being a math person” stop you from pursuing a career you want.

What About Other Majors?

I decided on my major and on my school at the same time, and I would definitely recommend that to anyone who hasn’t graduated high school yet.

If a career in software is exciting to you, you don’t exactly have to study Computer Science. In fact, a diverse background makes for a strong team, and if you can learn the technical skills on your own, a different major won’t work too much against you.

It happens to be a bit easier to land an entry level job in software when you have a piece of paper that at least says, “I passed a lot of tests about skills this job requires,” so there is definitely value in studying relevant to the job you want.

How To Decide If CS Is The Right Major

I bet you came here looking for me to say “Yes you should major in CS”, or “No, you shouldn’t even go to college,” but I’m not going to do that. Sorry 🤷‍♂️

Your career is an exceptionally personal journey, but it shouldn’t define you. Figure out what’s important to you in work. Decide how you want your days to look. If that aligns with a job like Software Engineering, that’s great! It’s even better if some of your skills align with the job, like an aptitude for computers, programming experience, and analytical proficiency.

Tech jobs are in very high demand, meaning you’ll posses rare and valuable skills that will often translate to job security and financial rewards.

There’s a huge shortage in computer science talent, which places a premium on these skills. For me, wearing a hoodie to work, or even working from my bedroom, are pretty much the best perks on the planet. Don’t even get me started on free food 😝

Even if you do major in Computer Science, college won’t teach you everything you need to know. You need to be always learning and growing, even after you start your first ‘real’ job.