Is Computer Science a Good Major? Pros and Cons

By Biron Clark


Occupations & Careers

Biron Clark

Biron Clark

Writer & Career Coach

As a former recruiter for tech startups, a lot of people ask me “Is Computer Science a good major?”

If you’re wondering whether Computer Science is a good degree and career to pursue, this article is for you.

In short, I think Computer Science is one of the best majors you can choose and has better career prospects than 98% of other choices, but it’s not for everyone. So I’m going to explain who it’s for, who it’s NOT for, and why.

This will help you decide if you should major in computer science or not.

Is Computer Science a Good Major? Pros And Cons

Computer science is a good major in terms of expected demand and career growth, with the US Bureau of Labor Statistics predicting 13% industry growth from 2020 to 2030. Average salaries for computer and information technology jobs are $97,430 according to the US Bureau of Labor Statistics, compared to a much lower median wage of $45,760 for all occupations.

However, computer science jobs and a computer science major are best-suited for certain types of people.

Not everyone is going to be happy working as a computer scientist or software developer, and it’s costly and time-consuming to obtain a computer science degree (like any degree) and so careful thought and consideration should be taken by any new prospective computer science students.

Who is a Computer Science degree good for? (and who should not enroll in a Computer Science program?)

If you hate math and hate analytical thinking and problem solving, you’re always going to be in the bottom 50% of workers in software engineering or computer science.

If this is the case, I don’t recommend pursuing a degree in computer science.

Maybe you can find a low-tier company and be average in that company, but the pay won’t be great and you won’t be working on anything very exciting or meaningful.

And that negates some of the big benefits of why you should major in Computer Science in the first place! (more on this coming up).

So don’t do it just because your dad told you to, or you heard you can make $100K a few years after school (you can).

Because if you hate this stuff, you’ll be miserable and won’t be the guy making $100K anyway. The top companies hire people who LOVE this stuff and are passionate about it.

Now, if you like problem solving, you like math, you like learning in general… you’ll enjoy Computer Science. All the benefits above are true, and you will enjoy the career paths that Computer Science offers…

Types of Jobs You Can Get With a Computer Science Major

If you major in Computer Science, are motivated, do some side projects on github during your senior year to show you care about this stuff, and are willing to go work in a big city like New York, San Francisco, Boston, LA (or even a smaller city like Austin, TX), you will earn $100K quickly (within a couple of years).

There’s no question that computer science majors are some of the highest-earning recent grads in the modern workforce.

Here are some of the specific career options available to a computer science major…

You can do mobile app development (iOS or Android)

This can be game development, mobile-focused companies (like Uber), or companies with a website that also have a mobile app (for example a bank or financial institution).

You can join a digital agency and do a variety of projects, or go work for a single company

I recommend option #2. Digital agencies tend to burn people out, and once you’re in… it’s harder to get hired by a tech company with a single product. So if it were me, I’d just start there.

Whether you join an agency or a company with a single product or platform, you have some choices of what type of programming to specialize in…

You can focus on front-end (the part of the website you can see as a visitor) or back-end engineering (how the interface you see interacts with the database and all the information you can’t see). Or some people do both, which is known as “full stack” development.

You can do web development, or build software that the public doesn’t see – like an internal dashboard that a company’s employees use.

You can get into data engineering and data science too. This area is becoming HUGE and these people get paid a TON.

It’s normal in New York (the city where I was a tech recruiter for startups) to see a good data engineer with a few years of experience making $150K or more for base salary. I’m talking about someone in their 20s who isn’t managing any people. Not bad, right?

Other high-paying positions that computer science graduates can obtain include:

The job outlook is excellent for all of these careers, as many of these positions relate to new technology that companies find themselves needing more and more help with.

And in my experience as a tech recruiter, all of these jobs have the potential to earn six figures.

Next, let’s talk about why people can earn so much money after they major in computer science…

There’s a Talent Shortage in Many Computer Science Careers

Tech companies, particularly startups, are starving for talented people with a four-year computer science degree. A certificate from those coding bootcamps that take 12 weeks is NOT the same… you don’t walk out with the same fundamental understanding of computer science, algorithms, etc… and companies know this.

Sure, you can do a 12 week bootcamp and be a decent web developer, but you’re not going to get hired as an engineer at Facebook or Spotify or anything like that.

Anyway, my point is these companies have millions of dollars in funding from venture capital firms. They’re not trying to save $20K on your salary if you’re motivated and have a Computer Science degree from a good school. They’re trying to find awesome people who will build their product and make it a huge success.

This means you’ll get paid very well, especially if you change companies once or twice in the early portion of your career.

Long-Term Career Outlook for Computer Science Majors

There are quite a number of exciting and high-earning career options after you get a degree in computer science.

In the long term, if you want to lead people, you can eventually manage an engineering team or department.

If not, you can look into something called software “architecture”. A good architect can make $180-200K without managing anyone.

You can also create a product and found a company yourself.

Computer Science is an outstanding career path right now, and if you’re going to a decent school in terms of the Computer Science program, you will have companies chasing you after graduation if you’re in a mid-sized or large city.

Other Perks of Majoring in Computer Science

1. Tech companies treat their software engineers like KINGS

If you join a tech-focused company like Spotify, Facebook, Apple, etc. (not a job where you’re doing software engineering for Walmart, etc.), you will be treated like an absolute king.

Most of these companies let you wear jeans, give you free food, and lots of other perks. Not all, but most.

Is this going to change in the next five years? No.

The world is being built by tech. More and more products are becoming “connected devices” – physical products that have a software component and connect online. Thermostats, refrigerators, cars, etc.

We’re not just talking about websites and mobile apps here.

Plus e-commerce is becoming massive. Amazon hires some of the best software engineers in the world to keep their systems running smoothly.

There are going to be so many new areas like this, along with all of the traditional areas that require great software engineering talent (finance, gaming and entertainment, virtual reality, SaaS, etc.)

So this means that employers will have more and more demand for people with computer science degrees and other related degrees (like data science, information technology, etc.) in practically every industry.

For an overview of all the different types of IT jobs, read this article.

2. High likelihood you can work remotely

This isn’t guaranteed and depends on the company, but of all the professions out there… software engineers have one of the easiest paths to getting to work remotely.

Other careers where it’s somewhat likely you can find a remote job:

  • Skilled writing (copywriting, medical writing, etc.)
  • “Inside” sales (phone sales)
  • Customer support (low-paid. Not recommended!)

Back to software engineering though. Why will you be able to find a remote job if you major in computer science?

Your skills will be in high demand, and your day-to-day work doesn’t really require being face-to-face with your colleagues anyway. That’s a good recipe for being allowed to work from home or anywhere else you want.

Which Schools have the Best Computer Science Programs?

Here is a list of the top 50 CS programs in the US. If you decide to major in Computer Science, try to go to one of these schools.

Overall, Computer Science is a very good major for many types of students, and it’s what I’d choose if I were starting my adult life over.

However, the question of, “Should I major in Computer Science?” is complicated and depends on your interests, personality, motivation, and what other options you have.

However, in general, Computer Science is a very good major that’s incredibly useful and will give you the opportunity to build things that are shaping the world and being used by millions of people.

And you’ll be very well-paid doing it.

Also, if you want to be an entrepreneur in the future, a Computer Science background will be useful there too.

(The only thing I’d say is more useful is knowledge of marketing/selling, but those are things you need to pick up in the real world anyway. The stuff they teach in schools on these topics is NOT going to help you start a company or succeed as an entrepreneur. And you can find a co-founder who’s a marketer or salesperson anyway, if you don’t want to learn this stuff).

Conclusion: Is Computer Science a Good Degree and Career?

As a former tech recruiter, I can say with a high level of confidence that Computer Science is an excellent choice and is a major that leads to high-paying entry-level opportunities, but also fantastic long-term career options and growth paths.

Students graduating with a degree in Computer Science over the next decade will have some of the best opportunities of any degree and can go on to pursue in-demand, lucrative careers in fields like software engineering, artificial intelligence, data science, and more.

Biron Clark

About the Author

Read more articles by Biron Clark

10 thoughts on “Is Computer Science a Good Major? Pros and Cons”

  1. Hi,
    I’m currently in my third year of neuroscience at the University of Calgary. Through my time working as an undergraduate research assistant in neuroscience labs I’ve gained some experience programming in Matlab and Java and I really enjoy it. I love problem solving. Would it be worth doing a second undergraduate degree in comp sci? It would take me an extra 2 years. Or is there a better form of education I could pursue?

  2. I love math, logical thinking, analytical thinking and problem solving, but I’m not sure if I’ll be able to take on lengthy massive codes. Do you think computer science is for me?

    • Any big project gets broken down into smaller, manageable pieces. That’s not a comment about programming, that’s a comment about succeeding at any big project in life.

      If you love math and analytical thinking and want to make GREAT money, then yes – I think studying computer science is a great decision.

      Maybe you’ll have to overcome some obstacles or weaknesses, but it’s a good choice!

  3. How can someone who has a formal education/degree that is STEM-related (I graduated with a degree in Civil Engineering) do to break into the tech industry and eventually land a career in programming? Will their technical background still be more valued even though it isn’t formally in computer science, especially if they can prove they know how to code/program by working on personal projects or freelancing?

    • Hi Joseph,

      You’d need to do what anyone else without a CS degree needs to do – learn to code, learn some basics of computer science, and them demonstrate to employers that you have the skills now.

      (Including through personal projects and freelancing, like you mentioned).

      I’m not super familiar with what you learn in a Civil Engineering degree program. But I wouldn’t expect to gain much advantage from it in your job search unless you studied a heavy amount of mathematics and statistics. If you dove deep into those subjects in school, that’ll be viewed as a very positive thing.

    • Hi Biron,

      Appreciate the feedback! Yes, it does look like going the self-taught route is what’s in the cards for me, but that’s ok!

      One last question, do you have any great recommendations or resources on where to learn to code (that isn’t a bootcamp) similar to the guide you wrote on where to learn digital marketing? Or maybe you could write a future blog post on where to learn to code online… ;)

      Thanks for the feedback, Biron and keep up the good work!

  4. Hello ,my name is Kamol and this is my second year studying Computer science. At first I want thank you for useful guide and sharing with us experience. Here is a question I like studying computer science and engineering but the issue is i’m not good at math ,mostly I like to work as a app developer or creative ideas or in this field or designing so what would you recommend me ?

    • Instead of worrying about areas in CS that require a lot of math, just stick to what you like doing. If you want to work as an app developer, make a few apps on your own that you can show off to employers.

Comments are closed.