Some career advice for new Computer Science Grads

I read this post from the career site at my alma mater regarding ways for computer science majors to make themselves stand out. Here’s what I would tell a recent grad who may have read this post:

There’s some good advice here, but it’s too easy to take it too far, and lose sight of your core skills and and the reason you went into computer science in the first place. Let’s face it:  Building software is fun. I really hope you went into this field because you like building software.

Maximize the importance of your degree first.

Your CompSci degree is one of the things that can set you apart from many programmers. You have a strong basis in the theory used in this field. I would expect that you can understand algorithm design, make some intelligent (if inexperienced) design decisions, an analyze the kinds of problems we encounter everyday.

Further, I’d expect you to have a basis in many of the concepts we work with everyday.  You were exposed to a few different programming languages, right? Those belong to different families, right? You learned some Object Oriented techniques, some Functional techniques, even some Procedural techniques.

I’ll also bet you learned something about threading, context switching, processor design and computer hardware architecture.

That basis means that you’ll be able learn the new programming skills that will inevitably be required more quickly than someone without that basis. I no longer use a single language, platform, or library that I learned as an undergrad. Nor would I want to. But, I continue to use the Computer Science concepts I learned back then.

Show that you want to keep learning and keep growing

You’re not done learning. I’m not either.  As you reach out to prospective employers highlight the fact that you don’t think your Comp Sci degree was the end of your learning. Here Jessica makes some good points, but doesn’t explain why they are useful. If you’re working on an open source project, highlight it, and tell employers why you care about that project. Also, tell them what you learned from the experience.

The same goes for any other non-computer experience: Have you had any opportunities to lead a team? Speak in public? Write effectively? Highlight those. Show that you are, and intend to be, more than someone that types code.  Are you going to want greater responsibilities and broader roles as you grow?

Of course, don’t be too pushy. That gets back to the point that you want employers to know you will keep learning.

A few comments on the elusive “business skills”

If and only if you are targeting a particular vertical sector (for example, if you want to write software for the financial industry, or the health industry) should you concern yourself with those kinds of business skills.

However, you should recognize that for the vast majority of professional developers, our customers are not developers or computer science majors.  Part of our job is to listen to users, or prospective users, describe their needs. Only by listening carefully to users describe what they want software to do can we build what they need. Can you show that you will listen carefully to someone describe a problem in their own jargon and turn that into software? If you can demonstrate that skill, you'll be in high demand. That requires knowledge of computer science, and many of the skills Jessica discusses in her post.

Created: 7/15/2011 6:22:35 PM

Current Projects

I create content for .NET Core. My work appears in the .NET Core documentation site. I'm primarily responsible for the section that will help you learn C#.

All of these projects are Open Source (using the Creative Commons license for content, and the MIT license for code). If you would like to contribute, visit our GitHub Repository. Or, if you have questions, comments, or ideas for improvement, please create an issue for us.

I'm also the president of Humanitarian Toolbox. We build Open Source software that supports Humanitarian Disaster Relief efforts. We'd appreciate any help you can give to our projects. Look at our GitHub home page to see a list of our current projects. See what interests you, and dive in.

Or, if you have a group of volunteers, talk to us about hosting a codeathon event.