Tech Stack: The Key to Successful Tech Recruiting (2023)

If you want to be successful in tech recruiting, there's only one thing you need to understand: the tech stack. The world of technologies and their combinations is the key to successful tech recruiting. This article clarifies what that means exactly and what you need to keep in mind as a tech recruiter.

Definition: What is a Tech Stack?

A tech stack (or technology stack) is the combination of technologies used by a company or developer to develop, operate, and maintain its software applications and services. 

What is the composition of a tech stack?

A tech stack typically consists of programming languages, frameworks and libraries. But what do these terms actually mean?

What is a programming language?

A programming language is a special, formal language that allows developers to give written instructions to a computer. To develop a program, website, or other application, programming languages, frameworks, and other technologies are used. Well-known programming languages include C, C++, Java, Python, JavaScript and PHP.

What is a framework?

A framework (also development environment) is a template of ready-made functionalities and structures that simplifies the creation of software applications for developers. Well-known frameworks are, for example, React, Angular and Vue.js in the JavaScript context or Spring and Hibernate in the Java context.

What is a library?

A library (often called a "library") is a collection of code snippets used by developers to avoid having to rewrite that code in every project. This can be, for example, converting a time to a different time zone or editing text. Most of the time, libraries are designed for a specific use case (e.g., working with time and date information) and are therefore used millions of times by developers all over the world.

Tech stack examples

Basically, there is no right or wrong in the tech stack, but there are common combinations that are derived from the significance of the respective technologies. The starting point of a tech stack is the programming language used. The respective options for frameworks and libraries are derived from this. 

In the frontend, for example, JavaScript is often used as the programming language. Developers and companies use React, Angular or Vue.js in particular as frameworks. In addition, various libraries, such as jQuery, Chart.js or typeface.js, can be used. And this is how the frontend tech stack results. It could look like this, for example:

JavaScript (programming language) - React (Framework) - MaterialUI, jQuery, Mica.js (Libraries)

There is also a tech stack in the backend. Frontend and backend do not necessarily have to be separated in the tech stack, but it helps to clarify. 

The backend tech stack is also dependent on the programming language. Here, the variety of programming languages used is significantly greater than in the frontend. Popular languages are, for example, Python, Java, PHP or Ruby. But JavaScript can also be used for the backend via its framework Node.js. With the programming language as a starting point, there are again various options for frameworks and libraries. Possible combinations are, for example:

Python (programming language) - Django (Framework) - NumPy, TensorFlow (Libraries)

Java (programming language) - Spring (Framework) - JUnit, Mockito (Libraries)

PHP (programming language) - Laravel (Framework) - PHPUnit, Composer (Libraries)

Well-known tech stacks that you may have heard of are MEAN, MERN, MEVN, based on JavaScript, and LAMP, based on PHP. Written out, these mean:

MEAN: MongoDB, Express.js, AngularJS, Node.js

MERN: MongoDB, Express.js, React, Node.js

MEVN: MongoDB, Express.js, Vue.js, Node.js

LAMP: Linux, Apache, MySQL, PHP

Tech Stack: What can you learn for your (tech) recruiting?

You now understand what a tech stack is and how it is composed. But why is this important for you as a (tech) recruiter at all? Because it forms the basis for every developer profile you are looking for. The tech stack always comes first in the search for developers. Only then do you look at other hard and soft skills. 

The tech stack that your company and the developers you're looking for use has a hierarchy to it. Understanding this hierarchy will help you source better and talk to the right developers faster.

As a first step, you need to understand what technologies (programming languages, frameworks, libraries) your company or the department you support uses. These have the following hierarchy for you in sourcing:

Programming Language > Framework > Library

The programming language is your most important asset. Since it is not so easy to learn, it is the starting point for your sourcing. Libraries and possibly frameworks are quicker to learn. A good developer can also learn other programming languages and tech stacks, but usually developers prefer to stick to their tech stack and react negatively or not at all to corresponding requests. 

Frameworks are another important point for your search for developers. The combination of the right programming language and the right framework is already a very good basis for your sourcing. Libraries are rather a nice-to-have. Since they are easy to learn and there are many of them, they are often not even listed in the profile.

Even if you only find supposedly poorly completed profiles: If they contain the programming language you are looking for and / or the preferred framework, it is worth to be addressed. 



FAQ

What is the tech stack "MEAN"?

"MEAN" stands for "MongoDB, Express.js, AngularJS, Node.js" and describes a JavaScript-based tech stack.

What is the Tech Stack "MERN"?

"MERN" stands for "MongoDB, Express.js, React, Node.js" and describes a JavaScript-based tech stack.

What is the Tech Stack "MEVN"?

"MEVN" stands for "MongoDB, Express.js, Vue.js, Node.js" and describes a JavaScript-based tech stack.

Tech salaries: analysis of the Stack Overflow Developer Survey 2023

The 13th edition of the Stackoverflow Developer Survey has been published. 90,000 software developers worldwide took part in the study this year. Of particular interest from a recruiting perspective: salary data. How have the salaries for backend developers, DevOps engineers and others developed? You can find an overview in this article. (Please note that this article is about the german tech scene.)

What is Stack Overflow?

Stack Overflow is a platform for software developers to ask questions and share problems with the community. With over 100 million website views per month, it is one of the 50 most popular websites on the Internet. Many software developers use Stack Overflow in their daily programming work to solve problems, learn new things or interact with other software developers. 

What is the Stack Overflow Developer Survey?

The Stack Overflow Developer Survey is a study published once a year on various topics concerning software developers. It is divided into the following main topics:

  • Overview
  • Developer profile
  • Technologies
  • Artificial intelligence (AI; new since 2023)
  • Work
  • Community
  • Professional developers
  • Methodology

Overview

The "Overview" is classically the introduction to the study, describing what topics the study addresses and what its focus is. In this year's study, the topic of "AI" is a new addition, to which Stack Overflow also adds its new product Stack Overflow Labs introduces.

Developer profile

The "Developer Profile" describes which school career and educational opportunities software developers use to become software developers. 

Extract 2023: Participants under the age of 18 primarily use online tools, such as videos, blogs and forums, to acquire knowledge. Participants between the ages of 25 and 34 acquired their knowledge primarily through online courses and certificates (52 %) and through school careers (55 %). 

Technology

In the "Technology" section, the study shows the most popular programming languages, frameworks and co. of the software developers surveyed.

Extract 2023: The most popular technologies 2023 of the respective categories are JavaScript (Programming Languages; 63,61%), PostgreSQL (Database; 45,55%), Amazon Web Services (AWS) (Cloud; 48,62%), Node.js (web frameworks; 42,65%), .NET (5+) (other frameworks; 25,29%), Docker (other tools; 51,55%). In addition, Visual Studio Code is the most popular development environment (73,71%).

Artificial Intelligence (AI)

The "AI" section is included in the study for the first time in 2023. It describes how AI is used in software development.

Extract 2023: 70% of participants are using or planning to use AI in the development process this year.

By the way: How the use of AI in recruiting looks like, shows this article.

Work

In the "Work" section, the professional situation of developers is highlighted. What salaries do they earn? In which companies do they work? What influence do they have on the technologies used?

Extract 2023More than a third of all companies work completely remotely. However, compared to the previous year, +2% of companies also insist on on-site presence.

Community

"Community" describes the use of Stack Overflow itself by participants.

Professional developers

The "Professional developers" section describes the working environment of the software developers in the company. This includes communication with each other as well as the use of tools and programs. 

Extract 2023: 63% of all participants use over 30 minutes of a workday to search for solutions to problems. 

Methodology

The final section of the methodology shows how the study was planned and analyzed. This also includes feedback from the participants on the study itself.

Stack Overflow Developer Survey 2023: Participants and evaluation

The 2023 Stack Overflow Developer Survey polled a total of 89,184 respondents from 185 countries. 75.39% of them are full-time software developers. That's 67,237 software developers. A further 8,954 participants (10.04%) are not active full-time as software developers, but are involved in programming either professionally or through their studies. 

Stack Overflow Developer Survey 2023
Source: Stack Overflow Survey 2023

Tech salaries at a glance

The Stack Overflow Developer Survey 2023 asks for a total of 3,853 votes from Germany on salary (vs. 2022: 2,879 votes). 56.41% of them are full-time employees, 14.63% are full-time students, and 10.92% are freelancers. The remaining 18.04% are distributed among part-time employees and students and non-employees and retirees.

Salaries for software developers in Germany have increased year-on-year in almost all areas. Please note that the figures given below are average values.

Salary: Senior Executive (C-Level, VP, etc.)

At management level, the average salary in 2023 will be $104,421.5. This is an increase from +7,6% compared to the previous year ($97,045.5).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Engineering Manager

At middle management level, the average salary in 2023 will be $107,090. A plus from +11,58% vs. 2022 ($95.979).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Data Scientist / Machine Learning Specialist

For Data Scientists and Machine Learning Specialists, the 2023 average goes up to $87,813. An increase by +17,63% vs. 2022 ($74,651).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Data Engineer

Data engineering is about +11,58% high on $85,672 (previous year: $76,783).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Cloud Infrastructure Engineer

Cloud engineering is about +10,99% high on $85,227 (previous year: $76,788).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: DevOps Specialist

In the DevOps sector, the study is the only one to show a decrease in the average salary of the salaries considered here. From $72,983 (2022) to $70,679 (2023). A minus of -3,16%.

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Backend Developer

Backend developers are pleased with an increase of +14,12%. It goes from an average of $70,380 (2022) to $80,317 (2023).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Frontend Developer

In the front-end area, the average salary in 2023 is $68,537. A plus from +7,11% compared with the previous year ($63,986).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Full Stack Developer

Full stack developers earn on average in 2023 $69,608. An increase of +4,35% vs. 2022 ($66,708).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Mobile Developer

Mobile developers have to work with +24,33% made the biggest salary jump in the study. From an average of $67,186 (2022), it goes up to $83,530 (2023).

Sources: Stack Overflow Developer Survey 2022/2023

Salary: Embedded Developer

Embedded developers are happy about +10,52% Salary growth. The average salary in 2023 is $74,963 (2022: $67,825).

Sources: Stack Overflow Developer Survey 2022/2023

The study also shows other salary data. For example, the project manager (2023: $80,317), the desktop developer (2023: $69,608) and the game developer (2023: $64,254). 

A detailed insight into the study can be found here: Stack Overflow Developer Survey 2023



How much does a software developer earn?

As a software developer, you can earn a lot of money depending on your experience level. Exactly how much depends on the job you're aiming for. Check out our article on tech salaries for more detailed salary data for each position.

How much can a software developer earn?

Software developers earn an average of around €63,000 per year. The salary is always based on experience, the value you bring to the company and a portion of negotiating skills.

What is the starting salary as a software developer?

As a software developer, you can expect a starting salary of around €49,000 gross per year. However, the salary depends on various factors, such as the size of the company, the job itself or the location of the company.

What does an embedded developer do?

Embedded - a term that many have heard in connection with software development. But what does it actually mean? What does an embedded developer do and what does he work with? And how does a good embedded developer distinguish himself? We answer these questions in this article.

Definition: What is an embedded developer?

An embedded developer (or embedded engineer or embedded systems engineer) develops software that is embedded in hardware to make it functional. 

In your modern everyday life, you will come across many products in which an embedded developer has played a part. When you operate the coffee machine in the morning, for example, a small program ensures that the coffee flows at the push of a button or that you are shown whether the water level is sufficient for another coffee. This program was programmed by an embedded developer. When you get into your car, you are surrounded by a large number of embedded programs. For example, the operation of the windshield wiper. Who tells the car to wipe the windshield? And at what intensity? With which lever? The embedded developer does that. The same goes for every single button you can find in the car. And when your car automatically detects that it's raining, how far away you are from another parked car, or you set the cruise control, you realize the complexity and vastness of embedded development.

Embedded: integration into software development

Due to the special use of software in hardware, embedded development or embedded software development represents a cosmos of its own in the Software development ing. Embedded development is particularly about physical limits that set the playing field. Therefore, performance, efficiency and control are the decisive factors. In reality, this manifests itself in the fact that, for example, only limited memory is available and/or the computing power of the processor is significantly lower than in a desktop computer or PC or smartphone, for example. This proximity to hardware is one of the reasons why developers in embedded development often have a background in electrical or mechanical engineering.

Dealing with limited resources, optimal power consumption, high performance and architecture requirements make embedded development very challenging. Embedded development therefore requires a lot of knowledge around hardware and software topics. 

What tech stack do embedded developers use?

Due to the high demands on performance and efficiency, low-level languages such as C++, C or Assembly are mainly used in embedded development. Low-level languages are characterized by the fact that they work very close to the machine. This means that they have direct access to the hardware and do not require a special environment for the software to run. This makes them significantly faster than, for example, high-level languages such as JavaScript, Python or Java. Nevertheless, languages such as Java and Python are also used in embedded development when, for example, the requirements for performance and memory are not particularly high, as in the control of the washing programs of a washing machine.

Simplified, this means: if performance, memory space and efficiency are important, then low-level languages such as C++ or C are used in particular. If performance, memory space and efficiency are less crucial, then languages such as Java and Python can be used because they have a higher fault tolerance and can therefore increase the developer's productivity.

Nevertheless, programming languages are only part of the tech stack used by embedded developers. Due to the proximity to hardware, tools for hardware as well as for software are used.

Real-time operating systems (RTOS)

The programming of microcontrollers or microprocessors (hardware) is often a matter of milliseconds and nanoseconds, as they are used in critical environments such as cars, aircraft or medical devices. Real-time operating systems (RTOS) are used here, which are responsible for ensuring that certain tasks of a piece of software are executed in a precisely timed and/or simultaneous manner. A pacemaker, for example, has to make the heart beat at exactly the right time - all the time. This also explains why the choice of programming language is crucial.

These RTOS include FreeRTOS, VxWorks, QNX, Micrium uC/OS or ThreadX.

Development environment (IDE)

Since embedded development has special requirements, embedded developers use a development environment designed for this purpose, such as Eclipse, IAR Embedded Workbench or Keil µVision, to make their work easier.

Debugger

Since errors can always occur during the development of software, embedded developers resort to specially developed debuggers, i.e. "error correction software", so to speak. These help the embedded developer to understand the timing of a program or software or to measure the performance or efficiency of the embedded software. These debuggers include GDB, IAR C-SPY, Arm DS-5 Debugger or Lauterbach TRACE32.

Compiler

Every programming language is an interface so that humans can communicate with machines, i.e. microprocessors, computers and co. Programming languages therefore enable us to give instructions to the machine in a language that we can understand. But these instructions have to be translated for the machine so that they can actually be executed. This is achieved via so-called compilers, which translate the source code (e.g. C, C++, Python or Java) into executable machine code (usually binary code). Again, there are different compilers that are used depending on the environment, programming language or performance requirements. These include the open source compilers of the GNU Compiler Collection (GCC) (e.g. gcc, g++ or gfortran) but also commercial compilers such as IAR C/C++, ARM Compiler or Green Hills Compiler.

In summary, an embedded developer's tech stack is oriented around the performance, efficiency and control requirements of embedded software. As a final note, embedded development mostly uses the Linux operating system as a counterpart to Microsoft's Windows or Apple's iOS or macOS.

What makes a good embedded developer?

Since embedded software is used in hardware, solid knowledge of both software and hardware is essential. Depending on the field of application, this means a good knowledge of microcontrollers (MCU), sensors or even displays and memory on the hardware side.

The requirements for the embedded software also result in the requirements for the embedded developer.

If the focus is on performance and timely execution, knowledge of low-level languages, RTOS and compilers is relevant. If, on the other hand, the focus is less on isolated performance and more on interaction with other devices via Bluetooth or WiFi (WLAN), as is often the case in the Internet-of-Things (e.g., smart washing machines or coffee machines), high-level languages are usually used and the developer should be familiar above all with the necessary communication standards and protocols.

Linux is the most commonly used operating system in embedded development, which is why Linux knowledge can be mentioned as a basic requirement.

The requirements for purely technical prerequisites are supplemented by soft skills such as problem-solving competence, troubleshooting and good documentation. Since embedded systems often have to be fast and safe, it is important that good embedded developers test their developed software sufficiently, document it well and take special cases into account during development.

What should you look for as a tech recruiter?

Embedded development covers diverse activities in different industries. The composition of hardware, software, firmware, PCB design, etc. gives developers some freedom to specialize. As in any other subject, there is always an area where someone can play to their strengths and interests more than others. So one person might be stronger in hardware, another stronger in software. Clear communication with your department in advance about what skills are being sought is therefore essential. 

Another factor is the developer's project history. What systems has he worked with? And in which area? Washing machines and coffee machines have different requirements than cars and airplanes. Is it more about security or speed (real-time) or performance, or should the software work well with other software? Each area requires its own know-how, which the developer has to acquire over a long period of time.

A classification to the performance requirements or efficiency of the software already results from the choice of the programming language (low-level vs. high-level). Further requirements should be discussed by the exchange with the specialist area:

  • What role does security play? Is a specific environment or communication standard/protocol (e.g. Bluetooth or MQTT) used here?
  • What is the relevance of compilers? Does the developer need to know more about them?
  • What is the decisive factor in development? Performance, efficiency, control or safety? How is this expressed in the requirements?
  • Is specific expertise required, e.g. in data compression?
  • Does the software or hardware interact with other devices? How does this exchange take place? Are certain standards or protocols used?

Through the exchange with the department, you will learn what the special requirements for the embedded developer are and can weight them. The department should help you best with this, so that you understand which knowledge and skills are decisive and which are negligible.

You can then mirror these requirements and their weighting in your interview with potential candidates by asking about their experience and knowledge.


What does an embedded developer do?

FAQ

What do you do as an embedded developer?

An embedded developer (or embedded engineer or embedded systems engineer) develops software that is embedded in hardware to make it functional. 

How much does an embedded developer earn?

An embedded developer earns an average of €70,000 per year.

Which programming languages are used in Embedded?

In embedded development, low-level languages such as C++ or C are used, but also high-level languages such as Python or Java.

What does a backend developer do?

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.


What does a backend developer do?

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.

What does a frontend developer do?

Frontend - a term that many have heard in connection with software development. But what does it actually mean? What does a frontend developer do and what does he work with? And how does a good frontend developer distinguish himself? We answer these questions in this article.

Definition: What is a front-end developer?

A frontend developer (or frontend developer or frontend engineer) develops and optimizes the functions and presentation of a website. When you open a web page, for example, everything you can see has been implemented by the frontend developer. The processes that run in the background, on the other hand, are implemented by the Backend Developer developed. For example, when you register on a website and as a result your data must be stored in a database.

Frontend: Integration into software development

Without a frontend developer, we don't see anything from the web page we visit. The frontend developer creates a graphical interface (also called user interface) for the program, making it accessible to the user. What the program does in the background and is not visible to us is done by the backend developer. Frontend and backend thus work hand in hand to provide a website. Sometimes developers take over both areas. These are then called full stack developers. 

The development of graphical interfaces is also about design and UI/UX (User Interface / User Experience). After all, what we are supposed to see should look nice and balanced and not be cluttered. At the same time, relevant information and buttons must be easily visible and quickly findable for the website visitor. This area is usually handled by separate web designers, who then give instructions to the front-end developer on how to implement the design. 

What tech stack do front-end developers use?

Front-end developers need knowledge especially in HTML, CSS and JavaScript. HTML for the structure of the web page, CSS for the appearance and JavaScript for interactivity.

In addition, front-end developers usually use frameworks and libraries. These are, for example:

In addition, front-end developers use libraries (libraries) for visual design, that is, specifically for CSS. These include:

These lists are by no means exhaustive, and new technologies are being added all the time. However, they provide a direction as to which technologies we may encounter in connection with the term frontend.

What makes a good front-end developer?

A good front-end developer implements the design and integrates the functionality of the app or website. A developer who understands and can balance both worlds (design and function) is worth his weight in gold. Often, such developers are also familiar with design tools such as Photoshop, Figma or the entire Adobe product line (e.g. Adobe Illustrator). This allows him to point out any difficulties in later development while still in the design process. 

In our modern world, the front-end developer is also faced with developing "responsive". Today, a website is accessed on many different devices. The size of the smartphone display is smaller than that of the tablet and even smaller than that of the laptop or PC screen. So the graphical interface of the website has to adapt. This adaptation is also done by the frontend developer when he develops responsive.

A good frontend developer thinks about the graphical user interface and its development process holistically. If we think responsiveness further, frontend development is also about compatibility. In addition to the adaptation to the display size, it is also about the different browsers (Google Chrome, Mozilla Firefox, Safari,...), through which the website is opened. Or also about loading times of the website, error messages and the type of input devices. Does the website visitor use a mouse and keyboard or a touchscreen? In which languages should the website be available? And does the website visitor have fast or slow Internet?

So the complexity in frontend development has increased tremendously in recent years and a good frontend developer knows how to manage this complexity.

Club of Code

What should you look for as a tech recruiter?

Front-end, as we can see, is an extensive field. If we as tech recruiters are looking for frontend developers, we need to introduce more evaluation measures than just looking at the tech stack. Sure, the tech stack is relevant. However, new frameworks are learned quickly in proportion. It's more about understanding the big picture of what makes a good frontend developer. 

If you are looking for a frontend developer, try to find out whether your counterpart simply implements design, or whether he also (co-)makes the design himself. Design tools like Photoshop, Figma or Illustrator mentioned in the profile can give you some hints. Also try to find out more about the person. Sometimes frontend developers refer to their own projects or websites. Here you can see their design talent. If there is a website, also access it from your smartphone. This way you'll find out if it's "responsive". If it doesn't adapt properly to the smartphone screen, the developer didn't think everything through. 

Of course, a frontend developer doesn't necessarily have to be a designer. It just helps a lot if you can create good design and implement it at the same time. That's just as true for designers. If they can think design in terms of implementation as well, have JavaScript and CSS experience, that helps the development process. 

If the front-end developer's talent is not in design, then they may have other strengths. The implementation of websites for touchscreen devices such as smartphones and tablets or the optimal availability of websites in countries with low-powered devices or poorer internet connections through an efficient deployment of the code.

The questions asked of a front-end developer should be based in particular on what the company needs. Does the company want to expand abroad and therefore have special requirements such as multilingualism or website performance? Then it is important to ask whether the developer already has experience with this.

However, if it is a start-up with very few employees and the front-end developer is responsible for the sole implementation of the website, then an additional talent in the design field can be very helpful, as it facilitates communication within the company, allowing the team to produce results faster.

So the questions to ask a front-end developer arise from the needs of the business. Here are some exemplary questions:

  1. The company is freshly started and looking for someone to implement a responsive website and also take a lot of responsibility in design. What experience do you have with this? Are your strengths in design? Are you able to implement such a website on your own without clear instructions?
  2. The company is looking to expand into India and is therefore looking for someone who is particularly familiar with website performance and smartphones as an end device. It is important that content loads quickly and efficiently. Have you already developed for such requirements? What challenges did you face and how did you solve them?
  3. The company is a large corporation and is looking for a front-end developer to implement forms for data retrieval within the corporation. Do you have experience implementing complex forms on the front end? Can you give practical examples?

Different requirements therefore result in different searches. An exchange with the business department is therefore enormously important. Strictly speaking, the exchange with the business department is more important than the exchange with the front-end developer, because the business department should define what exactly is being searched for. This then also results in the questions that should be asked of the developer.

This way, you can think outside the box and win over the really good developers. During the interview, they will also notice that you don't just ask for basic information about the tech stack, but understand what can be done with it and what is important.

Want to know more about developer roles? Then have the upcoming articles sent directly to your email.


What does a frontend developer do?

FAQ

What do you do as a front-end developer?

A front-end developer implements the design of a website and integrates the functionality. In doing so, he makes sure that the website is provided optimally for the target group (different end devices, multiple languages, easy availability, etc.).

How much does a front-end developer earn?

A frontend developer usually earns around €50,000 per year. However, the requirements in the frontend have risen sharply in recent years, which can also justify higher salaries. Especially if the frontend developer has special niche knowledge or skills (multilingualism, performance or search engine optimization, design, ...).

Which programming languages do you use in the frontend?

The most commonly used language in the frontend is JavaScript or TypeScript. Nevertheless, other languages such as Java (backend language) are sometimes used, where the code is not executed in the browser, but only the "finished" web page is delivered to the user.

The future of software development: Where is the journey heading?

On May 12, 1941, Konrad Zuse presented the Z3 in Berlin as the world's first computer. The Internet, then called Arpanet (Advanced Research Projects Agency Network), has been picking up speed since 1969. In 1994, the first search engines were launched with Yahoo and Lycos. In 2004, social networks such as Facebook and XING appeared on the market. And since Steve Jobs presented the first iPhone in 2007, the mobile Internet has become indispensable. 

Many still know the world without smartphones. The time when you still had to click keys several times to type a letter into an SMS. That world was only 15 years ago. Today, we talk to our devices and the text is created automatically. Our world has been "software-ized.

1. The importance of software development

Modern life would be inconceivable without software. Consciously or unconsciously, we constantly encounter software in our everyday lives. The preparation of our morning coffee, the traffic lights on the way to work, the organization of supply chains so that we can buy our groceries in the supermarket. Software is in use everywhere. And it is becoming more and more effective and faster. It facilitates our lives enormously and we have all developed a small or large demand for it. Who hasn't been annoyed when the website loads too slowly or the registration on a website was answered with an error. 

To meet this demand and further softwareize our world, software development is continuously evolving. Sometimes so fast that even developers have difficulty keeping up. 

2. The future of software development

Programming languages, frameworks, libraries: technology is evolving ever faster. Frontend-For example, frameworks are constantly being updated, with major breakthroughs also occurring. What is "hot shit" today will be replaced by more efficient technology in a few years. This is what is currently happening, for example, with the programming language Rust, which in certain Big Data and machine learning applications. Python replaces. 

But what does this mean for the future? How will software development change? And what does that mean for us as tech recruiters as a result?

The future is automated: Artificial Intelligence (AI) in Software Development

One of the big topics of the future is AI. The potential of AI is far from being tapped. Just as in every other area of life, it will continue to make its way into software development. After all, software development is not just about ingenious virtuosity, but often quite routine work. And this is what AI can take over. For example, AI is already being used in test automation to help ensure software quality. Added to this is its application in the practical day-to-day work of developers. The automatic writing of code has already begun.

In the future, AI can be used to implement very interesting ideas. Let's take Natural Language Processing (NLP) as an example. As the name suggests, this involves the machine processing of natural languages such as German. We are all familiar with this from voice assistants such as Siri, Alexa and Co. We say something, the machine understands it and responds. If we transfer this mode of operation to an AI that could write software on its own, we can imagine a software developer sitting in front of his computer and dictating code as a first step. That would be conceivable, but not very exciting. In a second step, however, we could also imagine ourselves, as non-developers, sitting in front of the computer and describing our ideas of the program, which the AI then translates into a working program. In this way, everyone could talk to the AI as if it were a software developer, except that the AI could potentially take over the work of an entire team of developers. 

The future is simple: low code and no code

What can already be found today, especially in website construction kits, will be found more and more in the future - low-code and no-code. As the names suggest, it's all about building programs with little or no code of your own. Essentially, individual building blocks are simply put together using drag & drop. That goes fast and can be made also by Nicht-Entwicklern. There are limits to the amount of customization that can be achieved. In the future, however, more and more people will be able to participate in the softwareization of the world, even if they are not developers. 

The future is secure: DevSecOps - security already in the process

The more creative we become in developing software, the more creative the group that attacks that software becomes; namely, hackers. According to the industry association, cyber attacks cost the German economy Bitkom 220 billion euros per year. Almost every tenth company even sees its business existence threatened by cyber attacks.

The topic of IT security is central. For this reason, it will become more central to the development process in the future. With the introduction of DevOps, two departments (Development and Operations) have practically been linked over the last ten years. Modern developers therefore not only write their code, but can also bring it live themselves. Previously, this required a different IT specialist (Operations), who only took care of the infrastructure required for this. Merging the two issues therefore brings more speed and agility to the development process. However, the security aspect is all too often neglected. Seen in this light, they are still located in a different department. So now DevOps and security are being brought together and DevSecOps is being created. This means that security issues are considered directly in the development process. 

The future is mobile: Native Mobile

In our modern society, smartphones and tablets take up a significant part of our time. For this reason, a mobile-first approach has already become established in the past. An application is therefore primarily developed as an app for the smartphone or tablet. In development, this goes hand in hand with the fundamental question: which end device should be developed for? Android or iOS? Special programming languages have already been established for this purpose, which improve the speed, memory security and parallelism of the apps. These include Swift and Kotlin, for example. 

3. The future of tech recruiting

What can we derive from the future trends of software development for tech recruiting? 

Due to the mobile-first approach, a higher demand for mobile developers can be expected. Apart from the existing ones, new developer jobs will also be created. One only speaks of a DevSecOps approach, for example, when a separate security team is really superfluous. Usually, a "security champion" is appointed within the development team who, trained in security topics, assumes responsibility for security fixing. As a result, the profiles being sought are becoming more extensive in their requirements. DevOps developers need security expertise. Security specialists go more into the development process. New role titles may emerge that we don't even know today.

As fast as the technology world is changing for software developers, it is also changing for us tech recruiters. An understanding of software development, languages, frameworks and the like is essential for successful recruitment. For this reason, tech recruiters will also have to deal intensively with the contexts and technical language in the future. 

As artificial intelligence finds its way more and more into software development, it is important to observe how teams change as a result. Routine work or simple tasks are usually taken over by junior developers. Whether these will then become "superfluous" and be replaced by AI remains to be seen. 

The list of possible trends is not exhaustive. It is notoriously difficult to predict how the future will shape up. In any case, there are no limits to the ideas. What is your idea of the future of software development? Have you ever talked about it with someone in your department?


The future of software development

FAQ

What role does AI play in software development?

Artificial intelligence (AI) will increasingly find its way into software development. It is already being used today in test automation to support the assurance of software quality. The automatic writing of code has already begun.

What is DevSecOps?

DevSecOps is a word combination of Development (Dev), Security (Sec) and Operations (Ops). DevSecOps is an approach to software development and deployment that considers security at every step of development.

What does the future of tech recruiting look like?

Understanding software development, programming languages, frameworks and the like is essential for tech recruiters. Therefore, they will have to deal intensively with the contexts and technical language in the future as well. With a greater need for IT talent, more tech recruiters will also be needed to find and hire them.