Software engineers were some of the most in-demand tech professionals during the first ten months of 2022, based on job posting data, and the demand shows no sign of slowing down anytime soon.
In fact, the U.S. Bureau of Labor Statistics expects jobs for software developers, quality assurance analysts and testers to grow 25 percent between 2021 and 2031, creating about 162,900 openings per year. The shortage of qualified candidates to meet the growing needs of businesses has also pushed the median salary for the position higher, reaching $122,716.
Despite the high demand, it’s not entirely clear what education someone needs to break into the field. After all, only 2.5 percent of the bachelor’s degrees awarded in the U.S. are in computer science. Many professionals working in software engineering have degrees in everything from electrical engineering to physics, mathematics and even philosophy.
To clear up the confusion, here’s a look at which degrees are best for pursuing a career in software engineering.
How Important is a Degree?
While an increasing number of software engineers are self-taught or taking the bootcamp route, a bachelor’s degree remains the gold standard among many employers.
Why? College graduates are better prepared to hit the ground running and succeed over the course of their careers through sequential learning, explained George Santos, director of talent delivery & head of marketing for recruiting firm 180 Engineering.
“Nobody builds software in a vacuum,” Santos noted.
Software engineers must be analytical thinkers who know how to support all phases of the development lifecycle. Having a strong foundation not only in theoretical computer science but also networking fundamentals, software integration and cybersecurity helps new engineers see the big picture and be more effective in converting requirements into working applications.
Having a degree opens doors, suggested Nat Russo, who first became a software engineer in the ‘90s and now has a senior role in the field: “Quite often, the ‘right’ degree is the first filter applied to incoming resumes.”
After a few years, experience is the most important qualification. However, building a strong foundation of hard and soft skills through education and experience, especially with customer-facing teams, makes it easier to move to another specialty, industry or even a leadership role.
Which Degree Is Best?
To obtain the maximum return, the degree, coursework and area of concentration you focus on should ideally match your career goals and the area of specialization you want to pursue.
For instance, if you know you want to work with firmware or design embedded software, then it’s best to major in computer engineering. Or if you know you want to incorporate artificial intelligence (A.I.) and machine learning (ML) components into software systems, you may want to earn a bachelor’s degree in a relevant subject such as information technology, computer science or software engineering with A.I. specialization.
However, you can’t go wrong with a general computer science degree. In fact, CS tends to offer the most versatility and is generally more advantageous than a software engineering degree.
According to a recent analysis, electrical engineering and computer science degrees offer some of the best ROIs, with early career median pay of $119,200 and mid-career median pay of $169,000.
At a minimum, a program should require at least two semesters of discreet mathematics, a healthy dose of data structures and database principles, and instruction in programming against a database. You should also take a programming class every semester or every other semester.
“What language you learn doesn’t matter, its important to learn programming concepts,” Russo added.
Finally, the programs that prepare you to enter the workforce (and offer the best ROI) provide ample opportunities to build your portfolio by participating in internships, student projects and co-ops. There’s no better way to show off your skills, education, potential and passion for software engineering to future employers than a robust portfolio.
Don’t Overlook the Importance of Choosing a Minor
Despite the advantages of earning a CS degree, why is it that some of the best software engineers have majored in liberal arts?
On the surface, it might seem like majoring in political science, economics, psychology, sociology or philosophy wouldn’t help you prepare for a career in software engineering, but it does.
A liberal arts education helps to develop broad skills that are important in software engineering such as critical thinking, reasoning, problem-solving and communication. In a nutshell, this kind of background helps you think through problems.
Even if you don’t major in the liberal arts, you can acquire some of the same skills and benefits by choosing a minor that complements your degree program’s focus. Especially if you want to go into biotech, health services, pharma or even business, choosing the right minor can help you prepare, stand out and gain an advantage against other new graduates when it comes time to hunt for jobs. (To that end, some colleges now offer a CS major with a liberal arts emphasis or minor.)
Again, if you’re not sure what software engineering specialty you want to pursue, follow your passion when selecting a minor. “Don’t go into software engineering unless you have a passion for it,” Russo said. “If you do have passion and earn a degree, the money will come.”