While you can teach yourself coding to launch a career in software engineering, the myth of the college dropout who makes it big in Silicon Valley is just that—a myth. Two-thirds of working software developers are indeed self-taught to some degree. Even so, StackOverflow's most recent annual developer survey also found that three-fourths of professional developers have a bachelor's degree or an advanced degree and that over 60 percent majored in computer science, computer engineering, or software engineering. This may be because the best-paying jobs and the most interesting jobs in software engineering are also some of the most popular. It's all but impossible to land one of them without a degree unless you already have an impressive resume.
The good news is that earning a bachelor's degree or a master's degree in software engineering doesn't have to mean putting your life on hold. There are many high-quality software engineering programs online at schools with the kinds of pedigrees and bona fides that can significantly upgrade your career.
In this guide to software engineering programs offered online, we cover:
People enroll in software engineering programs online for several reasons. The most obvious one is that online software engineering programs at the bachelor's and master's degree levels offer aspiring programmers flexibility, so they can keep working and meeting other obligations while going to school. Some online programs are entirely self-directed and don't require students to attend live classes virtually, making them the best option for learners with unpredictable professional schedules or tumultuous personal lives.
Flexibility isn't the only reason some people prefer to study online, however. In some cases, students enroll in software engineering programs online because they want to study at a faraway high-profile college or university, or there simply aren't any local schools with software engineering programs. Some students prefer to study online because they like tackling coursework at their own pace or don't feel comfortable in traditional classroom settings.
It can take anywhere from 16 months to four years or more to complete a software engineering program online. That's because software engineering programs run the gamut from 120-credit bachelor's degree programs that take four years for full-time students to complete to accelerated 30-credit master's degree programs that can be completed in just 16 months. There are also doctoral programs that can take years and years to finish, depending on how motivated a student is.
The cost of software engineering degree programs depends on several factors and varies from school to school and program to program. Unfortunately, there's no rule of thumb when it comes to the cost of online versus traditional programs. Some online software engineering programs are less expensive than on-campus programs, but you can't bank on programs for distance learners being more affordable. At some colleges and universities, online programs are more expensive than traditional programs because distance learners pay out-of-state tuition rates and technology fees.
In general, students in bachelor's-level software engineering programs online can expect to pay $320 to $720 per credit and between $37,000 and $91,000 in total tuition. Students in master's-level programs typically pay $230 to $1,000 per credit and between $7,000 and $38,000 in total tuition. That's quite a wide range, so be sure you're comfortable with the financial investment you'll need to make before enrolling in any program.
These schools offer strong bachelor's-level software engineering programs:
In the programs listed above, software engineering students complete subject-specific coursework in programming, operating systems, database management, and software design, testing, and validation plus core coursework in calculus, physics, English, and history. Some programs require students to complete a capstone project, during which they design and create a piece of original software. Most programs offer students opportunities to take electives. Students interested in VR, gaming, AI, robotics, or graphic design should look for programs that offer courses in those subjects.
You'll find some of the best graduate-level online software engineering programs at the following schools:
Differences between programs tend to be more profound at the master's degree level. There are graduate-level software engineering programs online that include foundational programming and software design courses for students relatively new to software engineering, as well as programs geared toward professionals already working in software and hardware development. Students in the above programs take courses like:
Be aware that master's-level software engineering degrees go by many names, including:
Don't rely on degree names when researching software engineering programs online. Naming conventions differ from school to school, and the MSWE program at one university might be identical to the Master of Science in Software Development at another. Conversely, the Master of Science in Software Engineering programs at two colleges might be very different in focus. You should also look into programs that don't confer the above degrees but can nonetheless prepare you for a career in software engineering, like Tufts University's online Master of Science in Computer Science.
There aren't many PhD in Software Engineering programs in the US, and none of them are offered online. Only you can decide whether it makes more sense to enroll in a traditional PhD in Software Engineering program like the ones at Carnegie Mellon University or The University of Texas at Dallas or to pursue an online doctorate in a related discipline, like Nova Southeastern University's online PhD in Computer Science.
In almost all cases, online software engineering programs follow the same rigorous curriculum as on-campus programs and provide a fully equivalent academic experience. What online programs can't replicate perfectly are the social and collaborative experiences students have when pursuing bachelor's degrees and master's degrees.
What that means is that the advancement opportunities for graduates are roughly the same. Students who graduate from software engineering programs online typically earn the same degrees as other students, and potential employers usually don't care whether they earned their degrees over the internet or in a classroom, just as long as they have one.
Just because online software engineering programs are as respected as on-campus programs doesn't mean you'll get the same out of them. By studying online, you'll miss out on some networking opportunities, the chance to connect with your professors face to face, and hands-on learning experiences that are hard to replicate in a distance learning environment. Make sure you're comfortable with that before enrolling in an online program.
Don't make the mistake of assuming that people who study software engineers are coders. While engineers will write the occasional software, engineers are typically responsible for designing complex software systems, solving tricky programming problems, and overseeing the development of custom software solutions for companies.
With a software engineering bachelor's degree, you might work as:
With a master's degree in software engineering, you can work in any of the above roles or step into higher-level and management roles in software development, like lead software developer, director of computer systems, IT project manager, or even chief technology officer. A master's degree may also qualify you for research and development positions at colleges and universities or in private or government labs.
You won't necessarily work for a technology company after earning a degree in software engineering. There are jobs for software engineers in fields like finance, retail, health care, manufacturing, and entertainment.
How much you'll earn after graduating from a software engineering program online will depend on various factors. The first is the highest level of education you choose to complete. The average salary for software engineering bachelor's degree holders is about $80,000, which is already a lot higher than the national average across industries. With a master's degree in software engineering, you'll probably earn closer to $104,000 per year. Given the still-robust demand for programmers, chances are good those figures will go up over time.
Specialization also plays a role in earning potential. If you choose a software engineering program that allows you to specialize in a highly sought-after discipline like machine learning or data science, you'll almost certainly earn more than colleagues who specialize in quality assurance or front-end software development.
Finally, where you work will affect your salary—both when it comes to geography and your company's size. Large corporations that develop their own custom applications for internal and external use typically pay more than smaller firms. It's almost guaranteed that you'll earn more if you work in a major metro area (though your housing and other costs will be higher, too).
Where you went to school, on the other hand, might not have an effect on how much you earn. Some employers still favor Ivy League graduates. More and more, however, acknowledge that candidates with degrees or even certificates from technical schools specializing in software engineering and coding boot camps can bring real value to engineering positions.
They're also looking beyond technical skills. According to one Indeed study, many recruiters are taking a more holistic approach when hiring software engineers "by evaluating factors beyond education such as soft skills—or requirements that are important to a candidate but aren't always transparent on a resume—including communication ability, temperament, and collaboration." The bottom line is that while enrolling in an online software engineering program from a top school will never be a hindrance, you may be able to learn just as much and go just as far with a diploma from a less prestigious (and less expensive) college or university.
Questions or feedback? Email email@example.com