Difference Between Software Engineering and Computer Science

Adam Tipton
5 min readJan 15, 2022

--

Epic code by: Adam Tipton
Silly Epic Code by Adam Tipton

In December of 2020, I graduated from a Software Engineering program that barring a few extra math and science classes, was essentially identical to its Computer Science counterpart. So it's no wonder that the layman would find it difficult to understand what the difference is between the two disciplines and let's be frank here, there is a difference.

While a Computer Science degree is generally more math and science-heavy, I know the one I attempted in the ’90s would’ve gotten me close to a minor in math had I finished it, Software Engineering degrees don’t necessarily have to be. I managed to escape the university with a Bachelor of Science in Software Engineering with nothing more advanced than statistics under my belt and a few basic science courses.

Now I fully understand that this may not be the case all around. I know it not to be. There are plenty of software engineering programs out there that are very math-heavy and when compared to their computer science counterparts, can be as different as night and day. So what is the difference between a software engineer and a computer scientist?

The Computer Scientist

Photo by Talha Hassan on Unsplash

Image a computer scientist as a person wearing a white lab coat. All-day they work hard taking notes, developing theories, trying to prove those theories with practical applications, and then writing lengthy papers about their discoveries. Once solidified, those published theories become published tools for the rest of the world to utilize. Except, in this case, the rest of the world would be the software engineers.

Now, this is not to say that a computer scientist isn’t capable of utilizing their tools, they are, and they’re adept software engineers (more on this below) in their own right. Who better to utilize the tool than the one who made it? There is, however, a definite separation of duties.

The Software Engineer

Photo by Ahsanization ッ on Unsplash

Now imagine a software engineer as a gritty, hard hat-wearing person deftly applying all those wonderful tools created by the scientists. Taking the theories and tools created by the scientists, they apply them to the job at hand, creating awe-inspiring works of industrial art. High rises, roads, bridges, ships, you name it, they’re making it, except in the world of ones and zeros. As dirty and stinky as they may be, they are masters of their craft!

Differences

Earlier, I mentioned that a computer scientist is a fully capable software engineer, isn’t the same true in reverse? No, not really. While the computer scientist works mainly in the world of theory and the advancement of computer science, the software engineer lives in the land of practical application. While one is concerned about developing the science, the other is focused on applying that science.

So, if a computer scientist gets to play with theory and lab toys, meaning they’re not just labcoat-wearing programmers, what about software engineers? Aren’t they just glorified programmers and developers? In a way, yes, but there is a lot more to a software engineer than just coding. You see, like computer scientists, software engineers can do a lot more than just stare at a screen and pound a keyboard. They also plan applications, solicit requirements, demo products, test code, create application tests, produce requirements specifications and documents, work on databases, etc. They do a lot of different things. What you do will depend upon your position in your company, but I’m probably overcomplicating the things for our purpose.

A Simple Illustration

Photo by Ethan Johnson on Unsplash

To put it simply, a computer scientist is at the very top of a tall latter, with the software engineer about three-quarters to halfway down. While the rungs run both ways, each is only capable of ascending to the maximum reach of their domain. Either, on the other hand, can descend as far as they’d like and be perfectly comfortable. A computer scientist can scale down to become a software engineer because it’s within their domain (the whole ladder) or can even keep on going all the way down if they’d prefer. Up and down the entirety of the ladder they can travel with no problem at all. They’re qualified to fill any position on the ladder. A software engineer can also descend into other positions, such as simple computer programming or web development, but can ascend up and beyond their domain into computer science only with more training. The same goes for other domains below them.

To solidify this understanding in your mind, do a search for computer science and software engineering jobs and compare them. If you pay close attention to the job requirements, you’ll realize why this is. A computer science job wants a scientist, not an engineer. You’ll notice there will be a lot more theory and math involved in the computer science positions than in the software engineering ones. However, because of the nature of computer scientists, they can fill any job a software engineer could. Why, because software engineering is within their domain on the ladder.

Conclusion

If you are on the fence about which path you want to take, hopefully, this explanation will help your decision-making process. Software engineering is a wonderful career path, as is computer science. If you are still not sure what it is you want to do, choose computer science. That way your options are wide open as far as careers go. On the other hand, if you just want to be a keyboard commando or a coding wizard, software engineering is a perfect fit. Just remember, whichever path you take, you can and will do it! I have faith in you!

If you were just curious about the differences between these two disciplines, hopefully, my explanation helped a little bit. It is quite a bit more complicated than what I’ve laid out, however, my goal was a high-level explanation. Both fields are amazing career paths and the rabbit hole for each can be extensive in some cases. I leave it up to you to journey further down it.

--

--

Adam Tipton

Adam is a former U.S. Marine and holds a B.S. Software Engineer degree from Brigham Young University Idaho.