When most people hear about “tech workers”, the first roles that pop into their minds are software engineering roles, which involve coding.

Software engineering roles are popular for a couple of reasons. First, in the past decade, these roles have consistently topped the lists of most in-demand tech roles. Secondly, many engineering roles often come with high salaries. According to Glassdoor—which analysed over 123,000 salaries—the average annual pay of most experienced engineers on the continent is $86,000.

Why do these roles pay so much? Well, its because tech products and services are built by tech engineers who spend a great deal of time developing these apps using programming languages. From Fawry and Autochek, to Jumia and Chipper Cash, or even Uber, building interactive products involves hiring competent frontend, backend, cloud, DevOps, and full-stack developers.  

But what do these terms mean? Are frontend and backend engineers doing the same job? What exactly do cloud engineers do? Why does DevOps engineering sound like a US armed forces intervention in Liberia?

In this explainer, we’ll break down these engineering roles to their barest form, and show you that software engineers are more than dreadlocks and triple-monitor setups. 

1. Frontend v backend engineers

The difference between frontend and backend engineers lies in the names of these roles. 

frontend backend engineering
Image source: Rasmussen University

Frontend engineers basically work on the front aspect of a website or an app. They develop the visual aspects—pages, menus, buttons, links, and graphics—that you see, use, and click. The way the TechCabal website looks, the dark/light feature, pages, the menu button, and all the parts you can see on any app or website are developed by frontend engineers. They determine how things look. 

Now backend engineers connect the dots at the back end of things. Backend engineers use code to connect servers, applications, and databases that deliver information to users. Backend developers determine how things work. 

Here’s a quick example: When you visit Jumia and browse through the different products, you’re interacting with the work of a frontend engineer. But when you order a product, enter your address, and pay, you’re interacting with the work of a backend engineer. 

While both roles are necessary to bring apps and websites to life, they both involve different programming languages. Frontend engineers design visual elements with programming languages like HTML, CSS, and JavaScript while backend engineers use Java, C++, Ruby on Rails, and Python. 

There are over 9,000 programming languages in existence, and software engineers often have to learn as many as they can if they want to keep growing. 

2. Full-stack engineers

Now that you know what backend and frontend engineers do, understanding full-stack engineers should be a bit easier. 

A full-stack engineer is one who is proficient in both front and backend engineering. They can use HTML or CSS to design the visual elements of a page, and they can use backend languages to create applications, web services, and APIs. Full-stack engineers determine how things look and work. They’re basically the full package. 

3. Cloud engineers

To understand what cloud engineers do, you should understand what the cloud is in the first place. 

Clouds are storage systems where your files, websites, apps, movies, and games are hosted. With the internet, you can access the cloud and store or use the data there. Google Drive, Netflix, and YouTube Music are all great examples of cloud technology. 

Cloud engineers make this possible. A cloud engineer is one who builds and maintains the infrastructure that allows people to store and retrieve files remotely. Cloud engineers are typically hired to deploy or scale up new and existing cloud resources. 

As Microsoft cloud engineer Adora Nwodo explained in this interview with TechCabal, “Cloud engineers literally do their engineering on the cloud, whether software engineering or DevOps engineering.”

They design, plan, and manage cloud technology. There are a few roles involved in cloud engineering including cloud architect, cloud software engineer, cloud security engineer, cloud systems engineer, and cloud network engineer. 

4. DevOps engineers

Contrary to their very cool role name, DevOps engineers aren’t actually from outer space. 

DevOps is an abbreviation of the words “development” and “operations” which is what these engineers oversee. 

Unlike all the other roles listed here, DevOps engineers do more than just write code. They oversee the creation, development, and updates of software created or used by any company. Simply put, DevOps engineers are the product managers of the engineering team. 

They are proficient in writing code, but they’re also in charge of making sure that the software other engineers on their team create is in working capacity. Teams might have frontend and backend engineers building the software, but the DevOps engineer executes the whole building process instead, managing each and everyone’s roles.

5. Software engineering v software development 

Now, it’s important to note that there’s a notable difference between “software engineers” and “software developers”. 

According to Omeiza Owuda, a software engineer with 7 years of experience as a full-stack developer, “There’s a thin line between both of them.”

Software engineers build tools from scratch while software developers use these tools to develop applications and other software. For example, software engineers build code editing tools like Atom or Notepad++ while software developers use these tools to develop applications or other software. 

Another example is programming languages. Software engineers are the brains behind creating the different programming languages we have today, and software developers, in turn, use these languages to create new software. Both roles use code to create software, but software engineers often operate on a larger scale. 

If you’re looking to enter tech as a software engineer, then you should consider any of the roles above. Oftentimes, companies might advertise the roles differently, especially when they require engineers who can use specific programming languages or build apps on specific systems. 

You may see openings like mobile engineer, android developer, or node.js developer; all these are software engineering roles, but they’re specialised. Regardless of the role though, software engineers are the builders of the tech industry, creating everything from games and payments systems, to NFTs and cryptocurrencies that push the world further into a digital age. 

If you enjoyed this article, please share it with your network on Twitter, WhatsApp, LinkedIn, Facebook, and Telegram.

Timi Odueso Senior Editor, Newsletters

Get the best African tech newsletters in your inbox