Computer science is not engineering

In an industry overflowing with terminology, it’s easy to confuse various names, phrases, and jargon from time to time. One such example is computer science and software engineering. These terms don’t mean the same thing, yet they’re commonly treated as synonyms.

This confusion crops up in discussions about the tech skills gap. It baffles students choosing their course of study. It makes skills less apparent to companies searching for their next tech hire.

Simply put, computer science is not engineering. So, what’s the difference?

The similarities between computer science and software engineering

First things first, why are computer science and software engineering so commonly confused?

It’s because the two fields do overlap. Both involve working with (and developing a deep understanding of) computers. Both involve understanding aspects of software — such as programming languages, software architecture, and development. And both can lead to a fulfilling career in the tech industry.

But for all their similarities, computer science is not engineering. In the field, the two pan out as altogether different job roles.

What is computer science?

Computer science is the study of computers. It looks at the science of how computers work.

This includes the development of algorithms and programming languages and understanding data structures. It’s also heavily linked to understanding the complicated maths behind computing. (For example, linear algebra.)

‘Science’ is the key word to note when understanding what computer science entails. It’s is a world of hard facts and clear concepts.

Those that choose this field of computing may study or work in a variety of areas. For example, they may focus on machine learning and artificial intelligence. Or, understanding the inner workings of computer networks, database systems or cybersecurity. There will be a bigger focus on mathematical analysis and computer theory.

In short, computer science is all about computation – it’s as much about logic and applied mathematics as it is about computers.

What is software engineering?

So, computer science is a general study of how computers work. Software engineering, meanwhile, is about making programs for computers to run.

Software engineers take the building blocks given by computer scientists and use them to create software applications. They’re often called programmers or developers – but that’s another linguistic debate entirely.

Software engineering is as much about soft skills — understanding and communicating with users and colleagues — as it is hard, technical skills. Software engineering requires abilities in project management, UX design, quality assurance and maintenance.

In other words, rather than focusing on the theory behind how a computer works, software engineers take a hands-on approach to determining what the computer does and displays.

Computer science is not engineering

Don’t get fooled by those using the terms interchangeably: computer science and software engineering are not the same thing.

First, they focus on different aspects of computing technology. Then, they require different types of skills and typically lead to different types of careers.

Knowing the difference between the two can help students choose the right course for them. It can help employers understand the core skills a qualification in either field demonstrates. And, crucially, a clear distinction means clearer choices. This means more opportunity to attract different types of people to the tech industry, to close the tech skills gap.

Useful links

The death of the term ‘tech industry’

Software engineer vs developer: what’s the difference?

Is short-sightedness fuelling the tech skills shortage?