Backend - a term that many have heard in connection with software development. But what does it actually mean? What does a backend developer do and what does he work with? And how does a good backend developer distinguish himself? We will answer these questions in this article.
Definition: What is a backend developer?
The backend developer (or backend engineer) develops the technology that ensures a program runs on a server. During the Front-end developer develops the graphical interface that you can see on a web page, the backend developer develops everything that runs in the background and is not visible to you. This can be, for example, the storage of simple data in a database or images on a storage space.
Backend: Integration into software development
The backend developer takes a central role in the software development process. Because without him nothing of the software or the activities would be stored in the software. The backend developer takes care of the databases, providing functions and data for the frontend and integrating various systems for the program. So, frontend and backend go hand in hand. So do backend and DevOps, which in practice often means that a backend developer is also expected to master DevOps.
What tech stack do backend developers use?
The choice of a well-chosen tech stack in the backend can have a direct impact on the functional speed and scalability of an application. Basically, you can develop with almost any programming language in the backend. Below we look at some examples and at which well-known companies they are used.
In use e.g. at: Netflix, Facebook, Club of Code
In use e.g. at: Google, Instagram
In use e.g. with: Hadoop, Jenkins
In use e.g. with: Visual Studio, Windows Installer
In use e.g. at: Wikipedia, Yahoo
In use e.g. with: Mozilla Firefox, Adobe Photoshop
Sometimes frameworks are used to program the backend in the respective programming language. For example, Node.js for JavaScript or .NET for C#.
What makes a good backend developer?
A good back-end developer has an understanding of the infrastructure used and an overview of the interrelationships of the technologies and services used. He or she can also evaluate the sensible use of new technologies and introduce them as required. Furthermore, a backend developer not only tests the best-case scenario of the application, i.e. "What if the user does everything right?", but also the opposite, e.g. if users are inexperienced or even have bad intentions. Backend developers mostly work on the interface to the "outside" (API). In other words, they are the barrier between users and, for example, the data in a database. Developers who only implement best-case scenarios write code, but this code is maintenance-intensive(er) and prone(er) to errors, which can cause economic damage.
In addition, a good backend developer should have an eye for performance and scalability, so that a program is fast through the use of caching and different databases, for example, and can be easily scaled through the use of messaging systems such as RabbitMQ or Kafka, enabling the rapid expansion of the business.
An understanding of security issues is important so that damage to the business can be averted. A good backend developer tests his code and especially the API, uses troubleshooting to solve problems systematically and quickly, and has experience with databases to reduce the attack surface of the backend.
What should you look for as a tech recruiter?
Depending on which tasks a backend developer is to take on, the requirements also change. Therefore, in the following we look at essential areas and their influence on the tasks:
Scalability
When data is transferred in large quantities or to very many users, the scalability of the systems plays a major role. The code must be written efficiently at the crucial points so that the costs of the infrastructure (servers) for the company are as low as possible and the users have a positive experience in terms of the availability and speed of the data. Scalability mostly concerns DevOps developers, as they are often responsible for the infrastructure. Depending on the size of the company or the requirement profile, this can also fall back to the backend developer. Experience with technologies such as Docker (Swarm), Kubernetes and Co is crucial here.
Relevant technologies: Docker, Kubernetes, Redis, messaging system like RabbitMQ or Kafka and more.
Relevant work experience: messaging systems, databases, server clusters, ...
Performance
Performance and scalability go hand in hand. Performance describes the capability of an application. For the back end, this means, for example, how high the data throughput is. A streaming service like Netflix, for example, delivers large amounts of data to very many users. Here, backend developers often need experience in data compression and with different databases.
Database experience is crucial for backend developers because performance is about achieving as much as possible in as little time as possible. This is achieved by, for example, only querying necessary data and optimizing availability through the interaction of different storage systems such as Redis (short-term storage) and SQL or NoSQL databases (long-term storage).
Relevant technologies: memory storage such as Redis, NoSQL databases such as MongoDB, SQL databases such as MySQL, ORMs, image and video processing libraries (if needed), and more.
Relevant work experience: databases, ORM, data compression, caching, ...
Security
Backend developers are essentially responsible for whether or not a data leak can occur. They develop the interface of a program or a server to the outside world (API). In the case of a website or a web application, for example, this API can be used by anyone, i.e. the entire public. It thus opens the door to negative effects on the state of the program or even the state of the company due to economic damage. When it comes to security, the most important thing to look for is whether the backend developer writes tested code and thus tests the code for different scenarios in terms of its security. In addition, experience with APIs is important to prevent "accidental" leakage of data that should not. The issue of security also affects the availability and scalability of a program when it comes to issues such as rate limiting or DDoS.
Relevant technologies: Libraries for testing software such as Selenium or Jest; APIs such as REST or GraphQL.
Relevant work experience: testing, API, DDoS, rate limiting, troubleshooting, ...
Therefore, clarify with your department which tasks the backend developer should take on and which technology will be used. Depending on the technology and the range of tasks, you should ask to what extent the above-mentioned professional experience plays a role.
FAQ
What do you do as a backend developer?
A backend developer develops the technology that ensures that a program runs on a server. Thus, unlike the frontend developer, the backend developer develops the invisible part of a software.
How much does a backend developer earn?
A backend developer earns between €49,000 and €69,000 gross. The salary can also go beyond that, depending on experience level.
What programming languages do you use in the backend?
Basically, you can develop with almost any programming language (Java, PHP, JavaScript,...) in the backend. The selection of the tech stack has a direct influence on the functional speed and scalability of an application.