Guest Blogger, Sam Fisher
Applying to college seems to get harder every year, and the only thing even tougher is applying to college as a prospective computer science major. A New York Times article noted, for example, that in 2019 more than 3,300 incoming first-year students at UT Austin sought computer science as their first choice of major, which was more than double the number who did so five years earlier. The same year, and in response to a reality in which some 20% of Stanford undergraduate degrees are conferred in CS, The Stanford Daily published an article on “CS in Crisis.”
No wonder many prospective first years are fearful about their chances of admission to a top CS program! But it’s not all bad news. As someone who’s done this myself and knows many others like me, I am here to tell you that majoring in computer science is not the only way to get into software engineering (or other top jobs in tech). And, in my opinion, it’s not even the best way.
It may surprise you to hear that, to be a successful software engineer out of college, it likely only requires you to take around five computer science classes while in school. In those five or so classes (let’s say 2-3 core classes teaching you the fundamentals of coding and 2-3 electives in an area you find interesting), you can develop all of the fundamentals you need to kick off your career. Those classes are essential, so don’t skimp out on them, and furthermore, I recommend taking them as early in college as you can.
Once you get beyond those core classes that teach you the fundamentals of how to write code, most of your gains in developing your skills as a software engineer will come from side projects and on-the-job training. Side projects are easy to find. Work on them with your friends, if possible, and treat them like real-world projects. Even if it’s overkill for those projects, try to use Source Control like Github or Gitlab, and try deploying them to a cloud provider through a free trial or student credit programs. You’ll gain key knowledge in places where many computer science majors even fall short, and it’ll help you stand out in your internships and job interviews.
So what classes should you take, and what should you consider majoring in? The short answer: anything you find interesting. Have you always been interested in psychology? Maybe major in that. Or perhaps you love learning new languages and cultures, so you major in Spanish and study abroad in Latin America? Or maybe you’ve always been interested in sciences, and you’ll explore biology, chemistry, or environmental sciences in your first few years before deciding on a major.
And what would those majors do for you if you chose them? Beyond the core value of teaching you how to think and helping your mind grow, you might develop expertise that helps you in your first coding job, or whatever early career you choose.
Let’s say you chose that psychology major; it could make you much more attuned to user experience and how people learn, key skills in user-centered app development, product management, and product design. What if you chose the Spanish major? You could build out a start-up in one of the fastest-growing, low-cost coding hubs in the region like Bogota, and have a cultural leg-up in understanding their labor market and consumer preferences. Finally, if you majored in biology, you could have an enormous advantage applying to be an engineer in the biotech space, working for a company like 23andme or the next great startup.
The world is short on talented computer scientists right now, but even more so, it’s short on people with expertise and passion in their field with enough computer science knowledge to be effective. Those are the people who will be the biggest winners and make the most impact.
Sam Fisher is a senior product manager at Oracle Cloud and graduated from Stanford with a BS in Symbolic Systems in 2014 and an MBA in 2019.