What's the Difference Between Computer Science and Software Engineering?

Computer science, software engineering, same thing, right?

No.

Computer science is the underlying science that acts as the foundation for software engineering, just like physics and math for mechanical engineering.

A scientist runs experiments, postulates, and proves theories, while engineers build and scale systems.

Software engineering is still a relatively nascent discipline, explaining why many universities have not fully split out computer science from software engineering.

Many schools gear their CS programs towards software engineering, though, since that’s now the typical path graduates are taking.

That said, there are many aspects of computer science a software engineer likely won’t ever need to handle — the inverse is also true.

I enjoyed my theoretical computer science course at UCLA, proving various things about state machines and learning about NP-hard problems.

That said, I have not been able to leverage that knowledge in my day to day software engineering work yet.

I appreciate and think the breadth of knowledge is valuable for everyone, but there is much more to learn after earning a CS degree to become a top software engineer.

For some, a software engineering degree (where available) is the best path.

Share this article

Leave your comments

Post comment as a guest

  • James Nicholls

    Well explained. Thanks for the info.

  • Max Price

    Straight to the point.

  • Nigel Silcork

    Good explanation

  • Josh Taylor

    Software engineering is trending.

  • Andrew Stone

    Thanks for sharing your experience.

  • Peter Nightingale

    Remind me of my classes. I am a bit nostalgic.