4 Career Tips for Computer Science Students
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!
