4 Career Tips for Computer Science Students

Josh Tyler
Aug 8, 2017 · 3 min read

As part of a slide deck shared with this year’s class of Course Hero interns, I shared some advice and recommendations for Computer Science students. Perhaps you will find them helpful, even if you’re not in CS or software development.

1. Work on the Hardest Technical Problems

For students, this means taking the hardest classes and volunteering for the most ambitious projects. Your grades may suffer, but your learning will benefit. Grades are temporary, whereas knowledge and experience are permanent.

Sometimes people worry about the impact of their grades on job prospects. Good grades may help you land an interview, yes, but success in the interview, and landing your dream job, have much more to do with the skills you can demonstrate. Challenging yourself in your education is the surest path toward building your skills.

Being in school is a unique and wonderful opportunity to take on difficult problems, with support, and at minimal risk. If I could do anything differently about my time in college, it would be this. I took a lot of hard classes, but I would have taken even more — as many as possible.

2. Think about Breadth vs. Depth

People often wonder if it’s better to develop a broad set of skills or to focus on developing expertise in one area. For example, should you take a wide variety of classes or take every possible class within your major? Should you learn a lot of programming languages or learn Python really, really well?

The answer depends a bit on your goals, and the environment in which you want to be. Breadth is good for early stage companies, whereas an ability (and desire) to “wear many hats” is prized. You may find yourself working on several different systems, or changing your focus frequently. Adaptability is key.

As companies grow and succeed, depth becomes more important. As each particular challenge grows in scope and difficulty, they require someone with strong domain knowledge and experience.

If you focus on breadth and enjoy being a generalist, be careful: Without depth in any specific area, a company can outgrow you. The strongest employees often combine breadth and versatility with depth in one particular area of expertise, which increasingly becomes their focus as the company grows. (This is sometimes called a T-shaped skill set.)

3. Develop Leadership Skills

Software engineers don’t always like to hear this, but your skills as a coder or designer will only take you so far. To achieve senior positions, with broad impact and influence, or to succeed as a founder, you will also need leadership and organizational skills. Even if you’re not a manager, it’s important to understand how to motivate and coordinate the actions of others. Read books like Dale Carnegie’s classic.

4. Keep Trying Things

Find time for side projects! Don’t worry too much about what they are — just do something. For example, lately I’ve been trying things with both TensorFlow and Arduino. I don’t expect to become a machine learning expert overnight or launch a consumer electronics startup, but that doesn’t keep it from being fun.

By working on side projects, not only will you learn things, but you’ll keep sharp your very ability and desire to learn. And, of course, hopefully have some fun too.

We invite all CS students, current and former, to learn more about Course Hero!

Josh Tyler

Written by

EVP Engineering and Design @CourseHero, changing the way people learn. Author, Building Great Software Engineering Teams. Views expressed here are my own.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade