Carnegie Mellon University Website Home Page
 

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.

Now, 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.

Content differences:

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 will support a lifetime of practice amid emerging technologies.

On the delivery side:

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

But software engineering curricula 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.

What do I see myself doing in five years?

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?

What really interests me?

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.

How highly do I value collaboration?

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.

What kind of training and experiences am I building on?

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.

What do I expect from mentors?

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.

Which is right?

SOFTWARE ENGINEERING AT A GLANCE:

  • Software Architecture
  • Project Management
  • Technical Planning
  • Risk Management
  • Software Assurance

COMPUTER SCIENCE AT A GLANCE:

  • Algorithms
  • Theories of Computation
  • Compilers
  • Operating Systems
  • Artifical Intelligence

which is right for me?