One of the trickiest questions that new students in the tech sector are faced with is the difference between computer science and software engineering. The two terms sound similar enough that you would be forgiven for thinking they were relative synonyms. That said, while there is certainly overlap between the two fields, they are distinct with their own focuses and pathways.
Here is a quick look at the similarities and differences between computer science and software engineering.
Similarities Between the Two
Let’s start with a few basic similarities between the two fields. Both computer science and software engineering focus on several key shared aspects, including programming languages, general knowledge of computers, computer software, and applications. Strong analytical, technical, and mathematical skills are necessary for both fields.
Differences Between the Two
On The Big Bang Theory, Sheldon draws a distinction between himself as a theoretical physicist and Leonard as an applied experimental physicist. In Sheldon’s view, Leonard’s work consists of applied, hands-on work, to which Sheldon’s work as a theoretical thinker is supposedly “superior.”
While that “superiority” is, of course, a farce and more Sheldonian smugness, the basics of that dichotomy can help us frame the core difference between computer scientists and software engineers.
In general, computer scientists veer more towards the theoretical and experimental aspect implied by the title of “scientist,” while engineers veer more towards the problem-solving and practical side of tech as implied by the term “engineer.”
Take note, however, that this is a huge generalization. Many computer scientists do practical design work on new systems, and many software engineers contribute to breakthroughs that help the theoretical and experimental side of the field progress. What’s more, both computer science, as well as engineering, often fall under the umbrella of the engineering department at universities.
Some supposed differences give way to greater similarities over time. While computer science students study the interplay between hardware and software and software engineering students do not always do so, experience with that interaction often comes anyway due to the nature of software engineering.
While there is no question that the two form distinct occupations, there remains a good deal of overlap between the type of work and the understanding employed by both computer scientists and software engineers.