CS Internship Guide #18: Five Things CS Professors Won’t Tell You About the Real World

Part of the CS Internship Guide


Professors are smart people. It takes a lot of effort to become a professor, and generally speaking, you should listen to them.

However, there are five things that all CS majors need to know that your professors won’t tell you.

Some of it is ignorance—they don’t know any better. And some of it is, they won’t admit they spent half their life working in the wrong field.

So before you decide on your next destination, read this.

University is often the start of your journey.

Don’t go to grad school

The main purpose of college is to prepare you for your career. With a CS degree, there are tons of jobs where you can do interesting work and make six figures in your first year.

Grad school doesn’t make a difference. If you have an internship, you’re qualified for entry level CS jobs. You can even get a full-time job even without an internship. Practice interviewing and you’ll eventually pass an interview.

Some people use graduate school as a way of “delaying” their entry into the real world. If you’re scared of working in software engineering, try it for a year, and if you don’t like it, find a new company or role. And if you hate programming altogether, I’d ask, “Well, why are you going to study more CS?”

Graduate school costs $40k per year. Expect to spend two years there.

Meanwhile, you can work in the industry, probably have less stress, and earn money.

Which would you rather have: a good life and earn money, or a terrible schedule and pay money? Going into industry is a no-brainer.

If you’re an international student, or didn’t pick CS as your undergraduate major, graduate school might make sense. But for most US-based students, you’ll do just fine without a master’s degree.

“But I want to do research!” You say. That brings me to my next point…

I feel less stressed working in the industry than I did in university.

Work in the industry, not academia

Don’t go into academia. Professors like to say, “We’re pushing the boundaries of science! We’re changing the world!” They’re over-hyping it.

In the industry, you’re creating features for hundreds of millions of users and actually having an impact on people’s lives. The life of a professor is spent writing obscure papers that no one will read in the hopes of impressing a committee.

Meanwhile, real life software development is fun. You’re building things and solving problems. The humble fullstack developer is developing a website that makes scheduling vet appointments easy. It sounds like boring work, but it’s technically satisfying to craft a responsive website, and it’s genuinely making the lives of pet owners and veterinarians a little better. Multiply this humble developer by a million and you have a million little ways that the world is improving.

“Alright,”You say, “What kind of company should I work at?” Well, I’ll tell you one industry to avoid to narrow down your search.

StarCraft: Brood War

Avoid working at in game development

I used to want to be a video game developer. “I like playing video games, so why not make video games for a living?”

It turns out, game developers work longer hours for less pay than other engineers. Oftentimes, when a project is complete, the studio lays off many of their employees.

Don’t get me wrong, it’s really cool to work on video games. But I want to have a good work-life balance. I want stability. My job is a major part of my life, but it’s not the only thing in my life.

I talked to multiple ex-game devs and their sentiment was the same.

If you want to make video games, try out working at a game dev company. Maybe you’ll really like it. Or maybe you’ll decide it’s not for you. Either way, when you’re first getting the job, remember to do this next thing.

Yes, I’m going keep using this image.

You can negotiate your salary

You might wonder, “Can I ask for more money?” The answer is YES!

Salary negotiations are a weird part of your career. They are tiny conversations that have an outsized impact on your compensation.

I would rather spend 2 hours doing a bit of prep up front than spending the next five years with an embarrassingly low salary.

I want to be well prepared for my negotiations. I walk in knowing what I’m worth, knowing that companies want to hire quality people, and they are willing to pay big money for top performers.

I’m not a professional negotiator, but you can learn a fair amount of the negotiation tactics from board games. You can also read books and practice with friends.

Negotiation is just one way you can use communication to your advantage. Which brings me to my last point.

Talking in person is just one way of communicating.

Learn how to communicate well

Communication is a superpower.

You might be the smartest person in the room, but if you can’t communicate your ideas, you haven’t done squat.

Fortunately, communication is a superpower that can be learned. I’m a recovering awkward person, and if I can get better at talking to people, so can you.

There are lots of ways to communicate: Emails, design docs, presentations, and even real life conversations. To get better at communicating, there are a lot of things you could do.

You’ll never be an expert in every domain. But, if you can get smart and talented people on your side, there’s no limit to what you can accomplish together.

And that will truly take your career to new heights.

This entry was posted in CS Internship Guide and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s