As a former recruiter for tech startups, a lot of people ask me “Should I major in Computer Science?”
If you’re wondering whether Computer Science is a good major, here’s the deal…
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. Let’s get started.
If you hate math and hate analytical thinking and problem solving, you’re always going to be the bottom 50% of workers in software engineering or 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…
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 FAST. Within a couple of years.
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).
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 20’s who isn’t managing any people. Not bad, right?
Why do people make so much after they major in computer science?
Tech companies, particularly startups, are STARVING for good engineering talent with 4-year Computer Science degrees (a certificate from those “code 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.
Which means you’ll get paid very well, especially if you change companies once or twice in the early portion of your career.
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.
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 5 years? No.
The world is being built in tech. More and more products are becoming “connected devices” – physical products that have a software component and connect online. Thermostats, refrigerators, cars, etc.
So 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.)
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:
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.
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).