Carnegie Mellon University

Why Software Engineering?

So you’ve decided to become a technically astute strategist — a leader with the advanced engineering, managerial, decision-making, and communication skills your industry so highly values.

Considering the time and funds you’re about to invest, you face a critical question: "How do I best prepare myself to get there?"

From a distance, programs in software engineering and computer science may appear to cover the same ground. On closer examination, you’ll find dramatic differences in both foundations and futures. Each has evolved its own field of expertise (content) and approach to instruction (delivery). The differences can shape the trajectory of your career.


Computer science focuses on foundations of computing including algorithms, programming languages, theories of computing,   artificial intelligence, and hardware design.

Software engineering, on the other hand, focuses on technical and managerial leadership for large and complex systems. Its foundation of enduring engineering principles serve to support a lifetime of practice amid emerging technologies.


Computer science programs tend to concentrate on individual assignments, dealing with the development of systems such as databases, compilers, and operating systems.

Software engineering curricula, however, are anchored in real-world problems. Because software engineers apply professional judgment acquired through practical experience, their training is hands-on, project-focused and team-centered.

Despite their differences, both disciplines play essential roles in industry. Which one is right for you? Asking yourself questions like these can further clarify your attitude toward software engineering, and even help you compare programs offered at various universities.

A few years down the road, alumni of leading software engineering graduate programs report holding such positions as chief strategy officer, project manager, chief technology officer, software architect, senior manager of software development, risk management officer, and security analyst. How do these positions map to your personal vision?

Those who gain the most from software engineering programs tend to welcome a broad range of problem-solving concerns, ranging from systems design and construction to strategic acquisitions, and from requirements analysis to quality assurance.

Most leading software engineering programs are built around a team-based project that's realistic, hand's on, and integrated across the program's curriculum. Willingness to collaborate is a strong predictor of success.

In the leading graduate software engineering programs, your peers will be software-savvy professionals with undergraduate degrees in computer science or related fields and several years of experience. With that kind of background, and the motivation to boost your career to the next level, you're likely to thrive.

Student-mentor relationships, in leading programs, feature frequent interaction and rigorous reviews. Mentors themselves should be recognized practitioners in software development or project management. For the student, high expectations coupled with an inclination to learn new perspectives and behaviors are essential traits.