Welcome to Engineer Academy where weβre exploring an A to Z of Engineering β everything from acoustics to zoos.
In each episode, we spin the wheel to find out what type of engineering weβll be exploring with the help of Engers, our engineering expert.
You can listen to the full series of the A to Z of Engineering here.
Let’s take a look at Software Engineering. You might not have heard much about software engineering but it’s behind everything from missions to the moon to the video games we play.
What is Software Engineering
Itβs almost impossible to imagine a world without computers – not just the ones we use for schoolwork and to play games, but those behind the technology used in almost every field – from Space Rockets to Supermarket tills.

All of these are thanks to software engineering. So whatβs so soft about it? Well, software is the name given to a field of engineering that designs and writes programs for computers and other electronic devices to make them carry out a specific set of instructions. Hardware is the stuff you can physically touch, like the keyboard, mouse and cables. There are around 3,000 companies in the UK producing software, employing a massive 400,000 people. So what do all those people do, and just how IS software developed?
Before any software engineer does anything, they need to have a clear idea of what they want the program to do. Is it to solve a problem, like making sure an online shop doesnβt show products that have sold out; or to improve a process – perhaps speeding up the way robots are used on a car production line; or is it just to take a cool story idea and make it into a video game?!
Once they know what the software needs to do, the next step is for the engineers to create a list of all the existing process elements so they can come up with a plan about how each talks to the other. That might be how an online shop talks to its storeroom; or for a video game, itβs important it knows how the consoles behave, how itβll talk to the systemβs memory to save progress and the type of graphics card to get the best visual experience.
After the design phase, each part of the software is coded. That just means instructions are written in a computer language telling the computer exactly what to do at each step and in what order. This stage is sometimes called implementation.
Next up is the critical part of the process – testing! This is vital to see if the program meets all the requirements. If there are bugs or mistakes in the code or the components donβt work together as they should, itβll be back to the coding to make changes and fix errors.
Coding is at the heart of the process and in order to code, you need to know the right language to use. There are lots of different computer languages – some of the most common are Python, SQL, Java, C++ and Javascript. Scratch is a programme you might have used to code at school β itβs based on Javascript which is the most widely used language in the world because itβs easy to learn and can be put to work in almost any industry. With so many languages, you might be wondering how exactly computers understand them all? Letβs crack the code!
Coding is at the heart of the process and in order to code, you need to know the right language to use. There are lots of different computer languages – some of the most common are Python, SQL, Java, C++ and Javascript . Scratch is a programme you might have used to code at school β itβs based on Javascript which is the most widely used language in the world because itβs easy to learn and can be put to work in almost any industry. With so many languages, you might be wondering how exactly computers understand them all? Letβs crack the code!
A software programmer might have written a program in Javascript to make a character walk forward – it might say Character WalkForward 10 steps. Computers themselves donβt understand languages like Javascript. They operate using something called machine code which is a binary based system that carries out instructions using electronic switches being on or off. Machine code can understand what to do based on a series of steps – for example, to describe a character walking it might be Lift Characterβs Left Foot Up, Lean Forward, Place Left Foot Down, Lift Right Foot up, Lean Forward, Place Right Foot Down.
As you can imagine, it would take a very long time to put together all the instructions for something complicated – so itβs over to a compiler – a tool which takes the Javascript and turns it into the binary based Machine Code which your computer can understand. Itβs like using Google translate to communicate with someone who speaks a different language.
Some software designers use a wide range of languages, others might have a particular preference. There are different compilers for different languages and so it often doesnβt matter what language was used because at the end of the day it will be converted into machine code – and the process is completed!
And thatβs our take on the letter S β itβs been SENSATIONAL!
If you would like to check out some other types of engineering, why not check out Structural, Safety, Supply or even Space engineering.
Join us again next time to spin the wheel and explore another letter in the A to Z of Engineering!




