Hey everyone! Today I started interviewing candidates for a Project Manager position for Code the Change, a student organization that builds software products for non-profits in LA. It inspired me to discuss some myths about majoring in computer science and possible career paths that you might not have known existed for CS majors.
First, I want to start of by saying that computer science does not equal software engineering! After taking some introductory courses, I quickly learned that computer science is not all about building software. There’s so much more to computer science, including theory and concepts about algorithms and exactly how computers work. You also learn the best practices in writing a program, how to make your application more efficient, and how to consider the entire development process. The CS courses at USC balance these theoretical approaches and hands-on practical experiences in one comprehensive curriculum.
A lot of computer science majors graduate and go into industry as software engineers. BUT, studying computer science doesn’t mean that becoming a software engineer is your only option! Here are some of the different career paths that studying computer science can prepare you for:
1. Project manager
Like I mentioned, I’m interviewing candidates for Project Managers for CTC. In CTC, we structure our project teams as you would see them in industry. Each team consists of a Project Manager, a couple of designers, and a few developers. The Project Manager is, simply put, in charge of managing the project as a whole. They are responsible for keeping in touch with clients, understanding the scope of the project, and overseeing the team’s progress. Oftentimes, PMs will have technical experience to understand how to build features of a project. They combine these technical skills with a more business-forward thinking style that takes into consideration the development process. In fact, several of our applicants are Computer Science Business Administration (CSBA) majors!
2. Software Engineer
This is usually what people think of when they consider studying computer science. For now, this is the career path that I want to pursue after graduating. I want to work in industry as a software engineer and contribute to products that are used by real consumers. As a software engineer, you’re constantly incorporating those skills you learn as a computer science major when you write code. You might think this is the “hands-on” part of the curriculum, but you also need to consider the theoretical concepts: Is my algorithm correct? Does my algorithm run quickly? Will my program run out of memory?
3. More degrees!
I do research in the Robotics Embedded Systems Lab and recently I spoke with my PhD advisor, who is defending her thesis at the end of this month (good luck Stephanie!) We spoke about why she decided to pursue her PhD and she gave me a lot of good advice. After getting her Master’s degree, she worked in industry for a couple of years, but felt that working in the industry wasn’t independent enough for her liking. She was more interested in studying one specific topic (in her case, aquatic vehicles) and she decided that pursuing her PhD was the best way to do that. She’s been able to work extensively on one topic that she’s really interested in and likes that she can choose her own work and even has the opportunity to go into academia!
4. And more!
There are so many more! Every company needs a site reliability engineer (also called security or development operations engineer) to make sure their product is secure, safe, and functional. There are also more niche careers, like database administrators, games developers, etc. And of course, so many more that I haven’t listed.
The biggest takeaway is to go into college with an open mind! I definitely didn’t know exactly what I wanted to do with my degree and even now, things could change! You never know what you’ll discover and the opportunities that will open for you in college.
That’s all from me! Have a wonderful weekend 🙂