Tech Stack: Der Schlüssel zum erfolgreichen Tech-Recruiting (2024)

Wenn du im Tech-Recruiting erfolgreich sein möchtest, gibt es nur eine Sache, die du verstehen musst: das Tech Stack. Die Welt der Technologien und deren Kombinationen ist der Schlüssel für ein erfolgreiches Tech-Recruiting. Was das genau heißt und was du als Tech-Recruiter beachten musst, klärt dieser Artikel.

Definition: Was ist ein Tech Stack?

Ein Tech Stack (oder auch Technologie-Stack) ist die Kombination der verwendeten Technologien, die ein Unternehmen oder Entwickler nutzt, um seine Software-Anwendungen und -Dienste zu entwickeln, zu betreiben und zu warten. 

Wie setzt sich ein Tech Stack zusammen?

Ein Tech Stack besteht typischerweise aus Programmiersprachen, Frameworks und Bibliotheken. Doch was bedeuten diese Begriffe überhaupt?

Was ist eine Programmiersprache?

Eine Programmiersprache ist eine spezielle, formale Sprache, die es Entwicklern ermöglicht, schriftliche Anweisungen an einen Computer zu geben. Um ein Programm, eine Webseite oder sonstige Anwendung zu entwickeln, werden Programmiersprachen, Frameworks und andere Technologien genutzt. Bekannte Programmiersprachen sind z. B. C, C++, Java, Python, JavaScript und PHP.

Was ist ein Framework?

Ein Framework (auch Entwicklungsumgebung) ist eine Vorlage vorgefertigter Funktionalitäten und Strukturen, die Entwicklern die Erstellung von Software-Anwendungen vereinfacht. Bekannte Frameworks sind bspw. React, Angular und Vue.js im JavaScript-Kontext oder Spring und Hibernate im Java-Kontext.

Was ist eine Bibliothek?

Eine Bibliothek (oft auch “Library” genannt) ist eine Sammlung von Code-Schnipseln, die von Entwicklern verwendet werden, um diesen Code nicht in jedem Projekt erneut schreiben zu müssen. Das kann z. B. die Umrechnung einer Zeitangabe zu einer anderen Zeitzone oder die Bearbeitung von Text sein. Meistens sind Bibliotheken auf einen bestimmten Anwendungsfall ausgelegt (z. B. das Arbeiten mit Zeit- und Datumsangaben) und werden deshalb millionenfach überall auf der Welt von Entwicklern verwendet.

Beispiele für Tech Stacks

Grundlegend gibt es beim Tech Stack kein Richtig oder Falsch, jedoch gängige Kombinationen, die sich aus der Bedeutung der jeweiligen Technologien ableiten. Ausgangspunkt eines Tech Stacks ist die verwendete Programmiersprache. Daraus leiten sich die jeweiligen Optionen für Frameworks und Bibliotheken ab. 

Im Frontend wird bspw. oft mit JavaScript als Programmiersprache gearbeitet. Hierbei nutzen Entwickler und Unternehmen insbesondere React, Angular oder Vue.js als Frameworks. Zusätzlich können diverse Bibliotheken, wie z. B. jQuery, Chart.js oder typeface.js, verwendet werden. Und so ergibt sich das Frontend-Tech-Stack. Es könnte bspw. so aussehen:

JavaScript (Programmiersprache) – React (Framework) – MaterialUI, jQuery, Glimmer.js (Bibliotheken)

Im Backend gibt es ebenfalls ein Tech Stack. Frontend und Backend müssen nicht zwangsweise im Tech Stack getrennt sein, es hilft aber zur Verdeutlichung. 

Das Backend-Tech-Stack ist ebenfalls abhängig von der Programmiersprache. Hier ist die Vielfalt der verwendeten Programmiersprachen deutlich größer als im Frontend. Beliebte Sprachen sind bspw. Python, Java, PHP oder Ruby. Aber auch JavaScript kann über sein Framework Node.js für das Backend genutzt werden. Mit der Programmiersprache als Ausgangspunkt ergeben sich wieder diverse Optionen an Frameworks und Bibliotheken. Mögliche Kombinationen sind z. B.:

Python (Programmiersprache) – Django (Framework) – NumPy, TensorFlow (Bibliotheken)

Java (Programmiersprache) – Spring (Framework) – JUnit, Mockito (Bibliotheken)

PHP (Programmiersprache) – Laravel (Framework) – PHPUnit, Composer (Bibliotheken)

Bekannte Tech Stacks, von denen du ggf. bereits gehört hast, sind MEAN, MERN, MEVN, basierend auf JavaScript und LAMP, basierend auf PHP. Ausgeschrieben bedeuten diese:

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: Was kannst du für dein (Tech-)Recruiting lernen?

Du hast nun verstanden, was ein Tech Stack ist und wie es sich zusammensetzt. Aber warum ist das für dich als (Tech-)Recruiter überhaupt wichtig? Weil es die Basis für jedes deiner gesuchten Entwickler-Profile bildet. An erster Stelle der Suche nach Entwicklern steht immer das Tech Stack. Erst danach geht es um weitere Hard- und Softskills. 

Das Tech Stack, das dein Unternehmen und deine gesuchten Entwickler nutzen, hat dabei eine Hierarchie. Wenn du diese Hierarchie verstehst, kannst du besser sourcen und schneller mit den richtigen Entwicklern sprechen.

In einem ersten Schritt musst du verstehen, welche Technologien (Programmiersprachen, Frameworks, Bibliotheken) dein Unternehmen bzw. die von dir betreute Abteilung nutzt. Diese haben folgende Hierarchie für dich im Sourcing:

Programmiersprache > Framework > Bibliothek

Die Programmiersprache ist dein wichtigstes Gut. Da sie nicht so leicht zu erlernen ist, ist sie der Ausgangspunkt für dein Sourcing. Bibliotheken und ggf. auch Frameworks sind schneller erlernbar. Ein guter Entwickler kann sich zwar auch in andere Programmiersprachen und Tech Stacks einarbeiten, i. d. R. bleiben Entwickler aber lieber bei ihrem Tech Stack und reagieren negativ oder gar nicht auf entsprechende Anfragen. 

Frameworks sind der weitere wichtige Punkt für deine Suche nach Entwicklern. Die Kombination aus der richtigen Programmiersprache und dem richtigen Framework ist bereits eine sehr gute Grundlage für dein Sourcing. Bibliotheken sind hierbei eher ein Nice-to-have. Da sie leicht erlernbar sind und es auch sehr viele von ihnen gibt, werden sie oft auch gar nicht im Profil geführt.

Auch wenn du nur vermeintlich schlecht ausgefüllte Profile findest: Wenn sie die gesuchte Programmiersprache und / oder das präferierte Framework enthalten, ist es Wert, angesprochen zu werden. 



FAQ

Was ist das Tech Stack “MEAN”?

“MEAN” steht für “MongoDB, Express.js, AngularJS, Node.js” und beschreibt ein Tech Stack auf JavaScript-Basis.

Was ist das Tech Stack “MERN”?

“MERN” steht für “MongoDB, Express.js, React, Node.js” und beschreibt ein Tech Stack auf JavaScript-Basis.

Was ist das Tech Stack “MEVN”?

“MEVN” steht für “MongoDB, Express.js, Vue.js, Node.js” und beschreibt ein Tech Stack auf JavaScript-Basis.

Tech-Gehälter: Analyse des Stack Overflow Developer Survey 2023

Die 13. Auflage des Stackoverflow Developer Survey ist erschienen. 90.000 Softwareentwickler weltweit haben dieses Jahr an der Studie teilgenommen. Aus Recruiting-Sicht besonders interessant: Gehaltsdaten. Wie haben sich die Gehälter für Backend-Developer, DevOps-Engineers und Co. entwickelt? Eine Übersicht findest du in diesem Artikel.

Was ist Stack Overflow?

Stack Overflow ist eine Plattform für Softwareentwickler, auf der sie Fragen stellen und sich zu Problemstellungen mit der Community austauschen können. Mit über 100 Millionen Website-Aufrufen pro Monat gehört sie zu den 50 populärsten Webseiten im Internet. Viele Softwareentwickler nutzen Stack Overflow in ihrer täglichen Programmierarbeit, um Probleme zu lösen, Neues zu lernen oder mit anderen Softwareentwicklern zu interagieren. 

Was ist der Stack Overflow Developer Survey?

Der Stack Overflow Developer Survey ist eine einmal im Jahr erscheinende Studie über verschiedene Themen Softwareentwickler betreffend. Er gliedert sich in folgende Oberthemen:

  • Überblick
  • Entwickler-Profil
  • Technologien
  • Künstliche Intelligenz (KI; neu seit 2023)
  • Arbeit
  • Community
  • Professionelle Entwickler
  • Methodik

Überblick

Der “Überblick” stellt klassischerweise die Einleitung der Studie dar, die beschreibt, welche Themen die Studie aufgreift und welchen Fokus sie setzt. In der diesjährigen Studie ist das Thema “KI” neu hinzugekommen, wozu Stack Overflow auch sein neues Produkt Stack Overflow Labs vorstellt.

Entwickler-Profil

Das “Entwickler-Profil” beschreibt, welche schulische Laufbahn und Bildungsmöglichkeiten Softwareentwickler nutzen, um Softwareentwickler zu werden. 

Auszug 2023: Teilnehmer unter 18 Jahren nutzen vor allem Online-Tools, wie Videos, Blogs und Foren, um sich Wissen anzueignen. Teilnehmer zwischen 25 und 34 Jahren haben sich vor allem über Online-Kurse und Zertifikate (52 %) und über die schulische Laufbahn (55 %) ihr Wissen angeeignet. 

Technologie

Im Abschnitt “Technologie” zeigt die Studie die beliebtesten Programmiersprachen, Frameworks und Co. der befragten Softwareentwickler.

Auszug 2023: Die beliebtesten Technologien 2023 der jeweiligen Kategorien sind JavaScript (Programmiersprachen; 63,61%), PostgreSQL (Database; 45,55%), Amazon Web Services (AWS) (Cloud; 48,62%), Node.js (Web-Frameworks; 42,65%), .NET (5+) (andere Frameworks; 25,29%), Docker (andere Tools; 51,55%). Hinzu kommt Visual Studio Code als beliebteste Entwicklungsumgebung (73,71%).

Künstliche Intelligenz (KI)

Der Abschnitt “KI” findet 2023 erstmals Einzug in die Studie. Er beschreibt, wie KI in der Softwareentwicklung eingesetzt wird.

Auszug 2023: 70% der Teilnehmer nutzen oder planen den Einsatz von KI im Entwicklungsprozess dieses Jahr.

Übrigens: Wie der Einsatz von KI im Recruiting aussieht, zeigt dieser Artikel.

Arbeit

Im Abschnitt “Arbeit” wird die berufliche Situation der Entwickler beleuchtet. Welche Gehälter werden verdient? In welchen Unternehmen arbeiten sie? Welchen Einfluss haben sie auf die eingesetzten Technologien?

Auszug 2023: Mehr als ein Drittel aller Unternehmen arbeiten vollständig remote. Jedoch bestehen gegenüber dem Vorjahr auch +2% der Unternehmen auf die Anwesenheit vor Ort.

Community

“Community” beschreibt die Nutzung von Stack Overflow selbst durch die Teilnehmer.

Professionelle Entwickler

Der Abschnitt “Professionelle Entwickler” beschreibt die Arbeitsumgebung der Softwareentwickler im Unternehmen. Dies beinhaltet sowohl die Kommunikation untereinander, als auch den Einsatz von Tools und Programmen. 

Auszug 2023: 63% aller Teilnehmer nutzen über 30 Minuten eines Arbeitstages, um nach Lösungen für Probleme zu suchen. 

Methodik

Der letzte Abschnitt der Methodik zeigt auf, wie die Studie geplant und analysiert wurde. Dieser beinhaltet auch Feedback der Teilnehmer zur Studie selbst.

Stack Overflow Developer Survey 2023: Teilnehmer und Auswertung

Der Stack Overflow Developer Survey 2023 hat insgesamt 89.184 Teilnehmer aus 185 Ländern befragt. 75,39% davon sind hauptberuflich als Softwareentwickler tätig. Das sind 67.237 Softwareentwickler. Weitere 8.954 Teilnehmer (10,04%) sind nicht hauptberuflich als Softwareentwickler aktiv, haben aber beruflich oder durch ihr Studium mit Programmierung zu tun. 

Stack Overflow Developer Survey 2023
Quelle: Stack Overflow Survey 2023

Tech-Gehälter im Überblick

Der Stack Overflow Developer Survey 2023 fragt insgesamt 3,853 Stimmen aus Deutschland zum Thema Gehalt ab (gegenüber 2022: 2,879 Stimmen). 56,41% davon sind in Vollzeit beschäftigt, 14,63% Vollzeit-Studenten und 10,92% Freelancer. Die restlichen 18,04% verteilen sich auf Teilzeit-Angestellte und -Studenten sowie Nicht-Beschäftigte und Ruheständler.

Die Gehälter für Softwareentwickler in Deutschland haben sich gegenüber dem Vorjahr in nahezu allen Bereichen erhöht. Bitte beachte, dass die nachfolgend genannten Zahlen Durchschnittswerte sind.

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

Auf der Managementebene liegt das Durchschnittsgehalt 2023 bei $104,421.5. Dies ist eine Erhöhung von +7,6% gegenüber dem Vorjahr ($97,045.5).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Engineering Manager

Auf der mittleren Managementebene liegt das Durchschnittsgehalt 2023 bei $107,090. Ein Plus von +11,58% gegenüber 2022 ($95,979).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Data Scientist / Machine Learning Specialist

Für Data Scientists und Machine Learning Specialists geht es 2023 im Schnitt hoch auf $87,813. Eine Erhöhung um +17,63% gegenüber 2022 ($74,651).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Data Engineer

Im Data Engineering geht es um +11,58% hoch auf $85,672 (Vorjahr: $76,783).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Cloud Infrastructure Engineer

Im Cloud Engineering geht es um +10,99% hoch auf $85,227 (Vorjahr: $76,788).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: DevOps Specialist

Im DevOps-Bereich zeigt die Studie als einziges einen Rückgang des Durchschnittsgehalts der hier betrachteten Gehälter. Von $72,983 (2022) auf $70,679 (2023). Ein Minus von -3,16%.

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Backend Developer

Backend Developer freuen sich über einen Zuwachs von +14,12%. Es geht von im Schnitt $70,380 (2022) auf $80,317 (2023).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Frontend Developer

Im Frontend-Bereich liegt das Durchschnittsgehalt 2023 bei $68,537. Ein Plus von +7,11% gegenüber dem Vorjahr ($63,986).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Full Stack Developer

Full Stack Developer verdienen 2023 im Schnitt $69,608. Ein Zuwachs von +4,35% gegenüber 2022 ($66,708).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Mobile Developer

Mobile Developer haben mit +24,33% den größten Gehaltssprung in der Studie gemacht. Von im Schnitt $67,186 (2022) geht es hinauf auf $83,530 (2023).

Quellen: Stack Overflow Developer Survey 2022/2023

Gehalt: Embedded Developer

Embedded Developer freuen sich über +10,52% Gehaltszuwachs. Das durchschnittliche Gehalt liegt 2023 bei $74,963 (2022: $67,825).

Quellen: Stack Overflow Developer Survey 2022/2023

Die Studie weist noch weitere Gehaltsdaten aus. So z. B. die des Projektmanagers (2023: $80,317), des Desktop-Developers (2023: $69,608) oder auch des Game-Developers (2023: $64,254). 

Einen genauen Einblick zur Studie findest du hier: Stack Overflow Developer Survey 2023



Wie viel verdient ein Softwareentwickler?

Als Softwareentwickler kannst du je nach Erfahrungslevel viel Geld verdienen. Wie viel genau kommt auf die Tätigkeit an, die du anstrebst. In unserem Artikel zu Tech-Gehältern findest du genauere Gehaltsdaten zu den einzelnen Positionen.

Wie viel kann ein Softwareentwickler verdienen?

Softwareentwickler verdienen im Schnitt ca. 63.000 € pro Jahr. Das Gehalt richtet sich immer nach der Erfahrung, dem Wert, den man für das Unternehmen einbringt und einer Portion Verhandlungsgeschick.

Wie hoch ist das Einstiegsgehalt als Softwareentwickler?

Als Softwareentwickler kannst du mit einem Einstiegsgehalt von rund 49.000 € brutto pro Jahr rechnen. Das Gehalt hängt jedoch von verschiedenen Faktoren, wie der Größe des Unternehmens, der Tätigkeit an sich oder auch des Standorts des Unternehmens ab.

Was macht ein Embedded-Entwickler?

Embedded – ein Begriff, den viele schon einmal im Zusammenhang mit Software-Entwicklung gehört haben. Aber was bedeutet er eigentlich? Was macht ein Embedded-Entwickler und womit arbeitet er? Und wie zeichnet sich ein guter Embedded-Entwickler aus? Diese Fragen beantworten wir in diesem Artikel.

Definition: Was ist ein Embedded-Entwickler?

Ein Embedded-Entwickler (oder auch Embedded-Engineer oder Embedded-Systems-Engineer) entwickelt Software, die in Hardware eingebettet wird und sie damit funktionsfähig macht. 

In deinem modernen Alltag begegnen dir viele Produkte, an denen ein Embedded-Entwickler mitgewirkt hat. Wenn du bspw. morgens die Kaffeemaschine bedienst, sorgt ein kleines Programm dafür, dass der Kaffee auf Knopfdruck fließt oder auch, dass dir angezeigt wird, ob der Wasserstand noch für einen weiteren Kaffee reicht. Dieses Programm hat ein Embedded-Entwickler programmiert. Setzt du dich ins Auto, bist du von einer Vielzahl von Programmen umgeben, die embedded sind. So z. B. die Betätigung des Scheibenwischers. Wer sagt dem Auto, dass der Scheibenwischer wischen soll? Und in welcher Intensität? Mit welchem Hebel? Das macht der Embedded-Entwickler. Gleiches gilt für jeden einzelnen Knopf, den du im Auto finden kannst. Und wenn dein Auto dann noch automatisch erkennt, dass es regnet, wie weit du von einem anderen parkenden Auto entfernt stehst oder du den Tempomat einstellst, erkennst du die Komplexität und Weite der Embedded-Entwicklung.

Embedded: Eingliederung in die Softwareentwicklung

Durch den speziellen Einsatz von Software in Hardware stellt die Embedded-Entwicklung bzw. Embedded Software Development einen ganz eigenen Kosmos in der Softwareentwicklung dar. In der Embedded-Entwicklung geht es insbesondere um physikalische Grenzen, die das Spielfeld vorgeben. Deshalb sind Leistung, Effizienz und Kontrolle die entscheidenden Faktoren. Das äußert sich in der Realität dadurch, dass z. B. nur begrenzter Speicher zur Verfügung steht und/oder die Rechenleistung des Prozessors deutlich geringer ist als bspw. in einem Desktop-Computer bzw. PC oder Smartphone. Diese Nähe zur Hardware ist einer der Gründe, warum Entwickler in der Embedded-Entwicklung häufig einen Hintergrund in Elektrotechnik oder auch Maschinenbau haben.

Der Umgang mit beschränkten Ressourcen, ein optimaler Stromverbrauch, eine hohe Leistung und die Anforderungen an die Architektur gestalten die Embedded-Entwicklung als sehr herausfordernd. Embedded-Entwicklung erfordert daher viel Wissen rund um Hardware- und Software-Themen. 

Welches Tech-Stack nutzen Embedded-Entwickler?

Durch die hohen Anforderungen an Leistung und Effizienz kommen in der Embedded-Entwicklung vor allem Low-Level-Sprachen wie C++, C oder auch Assembly zum Einsatz. Low-Level-Sprachen zeichnen sich dadurch aus, dass sie sehr nah an der Maschine arbeiten. Das bedeutet, dass sie direkten Zugriff auf die Hardware haben und keine spezielle Umgebung benötigen, damit die Software ausgeführt werden kann. Dadurch sind sie deutlich schneller als bspw. High-Level-Sprachen wie JavaScript, Python oder Java. Dennoch kommen in Embedded-Entwicklung auch Sprachen wie Java und Python zum Einsatz, wenn z. B. die Anforderungen an Leistung und Speicherplatz nicht sonderlich hoch sind wie bei der Steuerung der Waschprogramme einer Waschmaschine.

Vereinfacht bedeutet das: geht es um Leistung, Speicherplatz und Effizienz, dann werden insbesondere Low-Level-Sprachen wie C++ oder C eingesetzt. Sind Leistung, Speicherplatz und Effizienz weniger entscheidend, dann kann auf Sprachen wie Java und Python zurückgegriffen werden, weil diese eine höhere Fehlertoleranz haben und somit die Produktivität des Entwicklers erhöhen können.

Dennoch sind Programmiersprachen nur ein Teil des Tech-Stacks, die von Embedded-Entwicklern genutzt werden. Durch die Nähe zur Hardware werden sowohl Tools für Hardware als auch für Software genutzt.

Echtzeitbetriebssysteme (RTOS)

Bei der Programmierung von Mikrocontrollern oder Mikroprozessoren (Hardware) geht es häufig um Milli- und Nanosekunden, da diese in kritischen Umgebungen wie Autos, Flugzeugen oder medizinischen Geräten zum Einsatz kommen. Dabei kommen Echtzeitbetriebssysteme bzw. Real-time Operating Systems (RTOS) zum Einsatz, die dafür verantwortlich sind, dass bestimmte Aufgaben einer Software zeitgenau und/oder gleichzeitig ausgeführt werden. Ein Herzschrittmacher bspw. muss das Herz zeitgenau zum Schlagen bringen – und zwar immer. Das erklärt auch, warum die Wahl der Programmiersprache entscheidend ist.

Zu diesen RTOS zählen unter anderem FreeRTOS, VxWorks, QNX, Micrium uC/OS oder ThreadX.

Entwicklungsumgebung (IDE)

Da die Embedded-Entwicklung besondere Anforderungen hat, nutzen Embedded-Entwickler eine dafür ausgelegte Entwicklungsumgebung wie Eclipse, IAR Embedded Workbench oder Keil µVision, um ihre Arbeit zu erleichtern.

Debugger

Da bei der Entwicklung von Software immer Fehler entstehen können, greifen Embedded-Entwickler auf eigens dafür entwickelte Debugger, also sozusagen “Fehler-Behebungs-Software”, zurück. Diese unterstützt den Embedded-Entwickler dabei, den zeitlichen Ablauf eines Programms bzw. einer Software nachvollziehen zu können oder die Leistung bzw. Effizienz der Embedded-Software zu messen. Zu diesen Debuggern zählen GDB, IAR C-SPY, Arm DS-5 Debugger oder auch Lauterbach TRACE32.

Compiler

Jede Programmiersprache ist eine Schnittstelle, damit Menschen mit Maschinen, also Mikroprozessoren, Computern und Co, kommunizieren können. Programmiersprachen ermöglichen uns also, der Maschine Anweisungen in einer für uns verständlichen Sprache zu geben. Doch diese Anweisungen müssen für die Maschine übersetzt werden, damit diese auch tatsächlich ausgeführt werden können. Dies wird über sogenannte Compiler erreicht, die den Quellcode (z. B. C, C++, Python oder Java) in einen ausführbaren Maschinencode (i. d. R. Binärcode) übersetzen. Auch hier gibt es unterschiedliche Compiler, die je nach Umgebung, Programmiersprache oder Leistungsanforderung eingesetzt werden. Dazu zählen die Open-Source-Compiler der GNU Compiler Collection (GCC) (z. B. gcc, g++ oder gfortran) aber auch kommerzielle Compiler wie IAR C/C++, ARM Compiler oder Green Hills Compiler.

Zusammenfassend orientiert sich das Tech-Stack eines Embedded-Entwicklers an den Anforderungen an Leistung, Effizienz und Kontrolle einer Embedded-Software. Als letzte Anmerkung: in der Embedded-Entwicklung wird meist das Betriebssystem Linux als Gegenspieler zu Microsoft’s Windows oder Apple’s iOS bzw. macOS verwendet.

Was macht einen guten Embedded-Entwickler aus?

Da Embedded-Software in Hardware zum Einsatz kommt, sind solide Kenntnisse sowohl in Software als auch Hardware unerlässlich. Je nach Einsatzgebiet bedeutet das hardwareseitig ein gutes Wissen über Mikrocontroller (MCU), Sensoren oder auch Displays und Speicher.

Aus den Anforderungen an die Embedded-Software ergeben sich auch die Anforderungen an den Embedded-Entwickler.

Kommt es auf die Leistungsfähigkeit und die zeitgenaue Ausführung an, sind Kenntnisse in Low-Level-Sprachen, RTOS und Compilern relevant. Liegt der Fokus hingegen weniger bei der isolierten Leistung, sondern dem Zusammenspiel mit anderen Geräten per Bluetooth oder WiFi (WLAN), wie es im Internet-of-Things oft der Fall ist (z. B. smarte Waschmaschinen oder Kaffeemaschinen), werden meist High-Level-Sprachen eingesetzt und der Entwickler sollte sich vor allem mit den notwendigen Kommunikationsstandards und -protokollen auskennen.

Linux ist das am häufigsten verwendete Betriebssystem in der Embedded-Entwicklung, weswegen Linux-Kenntnisse als Grundvoraussetzung genannt werden können.

Die Anforderungen an die rein technischen Voraussetzungen werden durch Soft-Skills wie Problemlösungskompetenz, Troubleshooting und eine gute Dokumentation ergänzt. Da Embedded-Systeme häufig schnell und sicher sein müssen, ist es wichtig, dass gute Embedded-Entwickler ihre entwickelte Software ausreichend testen, gut dokumentieren und Sonderfälle in der Entwicklung berücksichtigen.

Worauf solltet du als Tech-Recruiter achten?

Embedded-Entwicklung umfasst diverse Tätigkeiten in verschiedenen Branchen. Die Zusammensetzung aus Hardware, Software, Firmware, PCB Design, etc. lässt Entwicklern einigen Freiraum, sich zu spezialisieren. Wie in jedem anderen Thema auch, gibt es immer einen Bereich, in dem jemand seine Stärken und Interessen stärker ausspielen kann als in anderen. So könnte der eine stärker im Hardware-Bereich, ein anderer stärker im Software-Bereich sein. Eine klare Kommunikation mit deinem Fachbereich vorab, welche Fähigkeiten gesucht werden, ist daher unabdingbar. 

Ein weiterer Faktor ist die Projekt-Historie des Entwicklers. Mit welchen Systemen hat er gearbeitet? Und in welchem Bereich? Waschmaschinen und Kaffeemaschinen haben andere Anforderungen als Autos und Flugzeuge. Geht es eher um Sicherheit oder um Geschwindigkeit (Real-time) bzw. Leistung oder soll die Software gut mit anderer Software zusammenarbeiten? Jeder Bereich erfordert sein eigenes Know-how, das sich der Entwickler lange erarbeitet.

Eine Einordnung an die Leistungsanforderungen bzw. Effizienz der Software ergibt sich bereits aus der Wahl der Programmiersprache (Low-Level vs. High-Level). Weitere Anforderungen sollten durch den Austausch mit dem Fachbereich erörtert werden:

  • Welche Rolle spielt Sicherheit? Wird hierbei eine bestimmte Umgebung oder ein bestimmter Kommunikationsstandard/-protokoll (z. B. Bluetooth oder MQTT) eingesetzt?
  • Welche Relevanz haben Compiler? Muss der Entwickler sich tiefgehender damit auskennen?
  • Was ist der entscheidende Faktor in der Entwicklung? Leistung, Effizienz, Kontrolle oder Sicherheit? Wie äußert sich das in den Anforderungen?
  • Ist spezifisches Fachwissen notwendig, z. B. in Datenkompression?
  • Interagiert die Software bzw. Hardware mit anderen Geräten? Wie findet dieser Austausch statt? Werden bestimmte Standards oder Protokolle verwendet?

Durch den Austausch mit dem Fachbereich erfährst du, was die besonderen Anforderungen an den Embedded-Entwickler sind und kannst sie gewichten. Dabei sollte dir der Fachbereich am besten helfen, damit du verstehst, welche Kenntnisse und Fähigkeiten entscheidend und welche zur Not vernachlässigbar sind.

Diese Anforderungen und deren Gewichtung kannst du dann im Gespräch mit den potenziellen Kandidaten spiegeln, indem du nach den Erfahrungen und den Kenntnissen fragst.


Was macht ein Embedded-Entwickler?

FAQ

Was macht man als Embedded-Entwickler?

Ein Embedded-Entwickler (oder auch Embedded-Engineer oder Embedded-Systems-Engineer) entwickelt Software, die in Hardware eingebettet wird und sie damit funktionsfähig macht. 

Wie viel verdient ein Embedded-Entwickler?

Ein Embedded-Entwickler verdient im Schnitt 70.000 € pro Jahr.

Welche Programmiersprachen nutzt man im Embedded?

In der Embedded-Entwicklung werden sowohl Low-Level-Sprachen wie C++ oder C, aber auch High-Level-Sprachen wie Python oder Java genutzt.

Was macht ein Backend-Entwickler?

Backend – ein Begriff, den viele schon einmal im Zusammenhang mit Software-Entwicklung gehört haben. Aber was bedeutet er eigentlich? Was macht ein Backend-Entwickler und womit arbeitet er? Und wie zeichnet sich ein guter Backend-Entwickler aus? Diese Fragen beantworten wir in diesem Artikel.

Definition: Was ist ein Backend-Entwickler?

Der Backend-Entwickler (oder auch Backend-Developer oder Backend-Engineer) entwickelt die Technologie, die gewährleistet, dass ein Programm auf einem Server läuft. Während der Frontend-Entwickler die grafische Oberfläche entwickelt, die du auf einer Webseite sehen kannst, entwickelt der Backend-Entwickler alles, was im Hintergrund läuft und nicht sichtbar für dich ist. Dies kann z. B. die Speicherung einfacher Daten in einer Datenbank oder Bildern auf einem Speicherplatz sein.

Backend: Eingliederung in die Softwareentwicklung

Der Backend-Entwickler nimmt eine zentrale Rolle im Softwareentwicklungsprozess ein. Denn ohne ihn würde nichts von der Software oder der Aktivitäten in der Software gespeichert werden. Der Backend-Entwickler kümmert sich um die Datenbanken, die Bereitstellung von Funktionen und Daten für das Frontend und die Integration verschiedener Systeme für das Programm. Frontend und Backend gehen also Hand in Hand. Genauso wie Backend und DevOps, was in der Praxis häufig dazu führt, dass von einem Backend-Entwickler auch erwartet wird, DevOps zu beherrschen.

Welches Tech-Stack nutzen Backend-Entwickler?

Die Auswahl eines gut gewählten Tech-Stack im Backend kann direkte Auswirkungen auf die Funktionsgeschwindigkeit und Skalierbarkeit einer Anwendung haben. Grundsätzlich kann man mit nahezu jeder Programmiersprache im Backend entwickeln. Nachfolgend schauen wir uns einige Beispiele an und bei welchen bekannten Unternehmen sie eingesetzt werden.

In Anwendung bspw. bei: Netflix, Facebook, Club of Code

In Anwendung bspw. bei: Google, Instagram

In Anwendung bspw. bei: Hadoop, Jenkins

In Anwendung bspw. bei: Visual Studio, Windows Installer

In Anwendung bspw. bei: Wikipedia, Yahoo

In Anwendung bspw. bei: Mozilla Firefox, Adobe Photoshop

Manchmal werden Frameworks genutzt, um in der jeweiligen Programmiersprache das Backend zu programmieren. So z. B. Node.js für JavaScript oder .NET für C#. 

Was macht einen guten Backend-Entwickler aus?

Ein guter Backend-Entwickler hat ein Verständnis für die genutzte Infrastruktur und einen Überblick über die Zusammenhänge der verwendeten Technologien und Services. Dabei kann er auch die sinnvolle Einsetzung neuer Technologien bewerten und bei Bedarf einführen. Weiterhin testet ein Backend-Entwickler nicht nur das Best-Case-Szenario der Anwendung, also “Was wenn der Nutzer alles richtig macht?”, sondern auch das Gegenteil, wenn Nutzer z. B. unerfahren sind oder sogar böse Absichten haben. Backend-Entwickler arbeiten meist an der Schnittstelle nach “außen” (API). Sie sind also die Barriere zwischen Nutzern und z. B. den Daten in einer Datenbank. Entwickler, die nur Best-Case-Szenarien umsetzen, schreiben zwar Code, dieser ist jedoch wartungsintensiv(er) und anfällig(er) für Fehler, was ökonomische Schäden mit sich bringen kann.

Außerdem sollte ein guter Backend-Entwickler ein Auge für Performance und Skalierbarkeit haben, sodass ein Programm z. B. durch den Einsatz von Caching und unterschiedlichen Datenbanken schnell ist und durch den Einsatz von Messaging-Systemen wie RabbitMQ oder Kafka leicht skaliert werden kann und somit die schnelle Expansion des Unternehmens ermöglicht wird.

Ein Verständnis für Sicherheitsthemen ist wichtig, damit Schaden vom Unternehmen abgewendet werden kann. Ein guter Backend-Entwickler testet seinen Code und insbesondere die API, nutzt Troubleshooting, um Probleme systematisch und schnell zu lösen, und hat Erfahrung mit Datenbanken, um die Angriffsfläche des Backends zu reduzieren.

Worauf solltet du als Tech-Recruiter achten?

Je nachdem, welche Aufgaben ein Backend-Entwickler übernehmen soll, ändern sich auch die Anforderungen. Deshalb betrachten wir im Folgenden wesentliche Bereiche und deren Einfluss auf die Aufgaben:

Skalierbarkeit

Wenn Daten in großen Mengen oder an sehr viele Nutzer übertragen werden, spielt die Skalierbarkeit der Systeme eine große Rolle. Der Code muss an den entscheidenden Stellen effizient geschrieben sein, sodass die Kosten der Infrastruktur (Server) für das Unternehmen möglichst gering ausfallen und die Nutzer eine positive Erfahrung haben, was die Verfügbarkeit und Geschwindigkeit der Daten betrifft. Skalierbarkeit betrifft meist DevOps-Entwickler, da diese oft für die Infrastruktur verantwortlich sind. Je nach Größe des Unternehmens oder dem Anforderungsprofil kann dies auch auf den Backend-Entwickler zurückfallen. Erfahrung mit Technologien wie Docker (Swarm), Kubernetes und Co ist hier entscheidend.

Relevante Technologien: Docker, Kubernetes, Redis, Messaging-System wie RabbitMQ oder Kafka und mehr

Relevante Berufserfahrung: Messaging-Systeme, Datenbanken, Server-Cluster, …

Performance

Performance und Skalierbarkeit gehen Hand in Hand. Performance beschreibt die Leistungsfähigkeit einer Applikation. Für das Backend bedeutet das z. B., wie hoch der Datendurchsatz ist. Ein Streamingservice wie Netflix stellt z. B. große Datenmengen an sehr viele Nutzer bereit. Hier benötigen Backend-Entwickler häufig Erfahrung in Datenkompression und mit unterschiedlichen Datenbanken.

Die Erfahrung mit Datenbanken ist für Backend-Entwickler entscheidend, weil es bei Performance darum geht, möglichst viel in möglichst wenig Zeit zu erreichen. Dies wird erreicht, indem z. B. nur notwendige Daten abgefragt werden und die Verfügbarkeit durch das Zusammenspiel unterschiedlicher Speichersysteme wie Redis (kurzzeitiger Speicher) und SQL- oder NoSQL-Datenbanken (langfristige Speicher) optimiert wird.

Relevante Technologien: Memory-Speicher wie Redis, NoSQL-Datenbanken wie MongoDB, SQL-Datenbanken wie MySQL, ORMs, Bibliotheken zur Bild- und Videobearbeitung (bei Bedarf) und mehr

Relevante Berufserfahrung: Datenbanken, ORM, Datenkompression, Caching, …

Sicherheit

Backend-Entwickler verantworten im Wesentlichen, ob es zu einem Datenleck kommen kann oder nicht. Sie entwickeln die Schnittstelle eines Programms bzw. eines Servers nach außen (API). Diese API kann z. B. im Falle einer Webseite oder einer Web-Applikation von jedem, also der gesamten Öffentlichkeit, genutzt werden. Damit öffnet sie Tür und Angel für negative Effekte auf den Zustand des Programms oder sogar den Zustand des Unternehmens aufgrund wirtschaftlicher Schäden. Beim Thema Sicherheit sollte vor allem darauf geachtet werden, ob der Backend-Entwickler getesteten Code schreibt und somit den Code hinsichtlich seiner Sicherheit auf unterschiedliche Szenarien testet. Außerdem ist die Erfahrung mit APIs wichtig, um zu verhindern, dass “versehentlich” Daten nach außen gelangen, die es nicht sollen. Das Thema Sicherheit beeinflusst auch die Verfügbarkeit und Skalierbarkeit eines Programms, wenn es um Themen wie Rate-Limiting oder DDoS geht.

Relevante Technologien: Bibliotheken zum Testen von Software wie Selenium oder Jest; APIs wie REST oder GraphQL

Relevante Berufserfahrung: Testing, API, DDoS, Rate-Limiting, Troubleshooting, …

Kläre daher mit deinem Fachbereich, welche Aufgaben der Backend-Entwickler übernehmen soll und mit welcher Technologie gearbeitet wird. Je nach Technologie und Aufgabenspektrum solltest du Rückfragen stellen, inwieweit die o. g. Berufserfahrungen eine Rolle spielen.


Was macht ein Backend-Entwickler?

FAQ

Was macht man als Backend-Entwickler?

Ein Backend-Entwickler entwickelt die Technologie, die sicher stellt, dass ein Programm auf einem Server läuft. Damit entwickelt der Backend-Entwickler, im Gegensatz zum Frontend-Entwickler, den nicht sichtbaren Teil einer Software.

Wie viel verdient ein Backend-Entwickler?

Ein Backend-Entwickler verdient zwischen 49.000 € und 69.000 € brutto. Das Gehalt kann je nach Erfahrungslevel auch darüber hinausgehen.

Welche Programmiersprachen nutzt man im Backend?

Grundsätzlich kann man mit nahezu jeder Programmiersprache (Java, PHP, JavaScript,…) im Backend entwickeln. Die Auswahl des Tech-Stacks hat dabei direkten Einfluss auf die Funktionsgeschwindigkeit und Skalierbarkeit einer Anwendung.

Was macht ein Frontend-Entwickler?

Frontend – ein Begriff, den viele schon einmal im Zusammenhang mit Software-Entwicklung gehört haben. Aber was bedeutet er eigentlich? Was macht ein Frontend-Entwickler und womit arbeitet er? Und wie zeichnet sich ein guter Frontend-Entwickler aus? Diese Fragen beantworten wir in diesem Artikel.

Definition: Was ist ein Frontend-Entwickler?

Ein Frontend-Entwickler (oder auch Frontend-Developer oder Frontend-Engineer) entwickelt und optimiert die Funktionen und Darstellung einer Webseite. Wenn du bspw. eine Webseite öffnest, ist alles, was du sehen kannst, vom Frontend-Entwickler umgesetzt worden. Die Prozesse, die im Hintergrund ablaufen, werden hingegen vom Backend-Entwickler entwickelt. Z. B. wenn du dich auf einer Webseite registrierst und deine Daten infolgedessen in einer Datenbank gespeichert werden müssen.

Frontend: Eingliederung in die Softwareentwicklung

Ohne Frontend-Entwickler sehen wir nichts von der Webseite, die wir aufrufen. Der Frontend-Entwickler erstellt eine grafische Oberfläche (auch User Interface genannt) für das Programm und macht es so für den Nutzer zugänglich. Das, was das Programm im Hintergrund macht und für uns nicht sichtbar ist, übernimmt der Backend-Entwickler. Frontend und Backend arbeiten für die Bereitstellung einer Webseite also Hand in Hand. Manchmal übernehmen Entwickler auch beide Bereiche. Diese werden dann Full Stack-Entwickler genannt. 

Bei der Entwicklung grafischer Oberflächen geht es ebenfalls um Design und UI/UX (User Interface / User Experience). Das, was wir sehen sollen, soll ja auch schön und ausgewogen aussehen und nicht überladen sein. Gleichzeitig müssen relevante Informationen und Buttons für den Webseiten-Besucher gut sichtbar und schnell auffindbar sein. Dieser Bereich wird meist von separaten Webdesignern übernommen, die dem Frontend-Entwickler dann Anweisungen geben, wie das Design umzusetzen ist. 

Welches Tech-Stack nutzen Frontend-Entwickler?

Frontend-Entwickler benötigen vor allem Kenntnisse in HTML, CSS und JavaScript. HTML für die Strukturierung der Webseite, CSS für das Aussehen und JavaScript für die Interaktivität.

Darüber hinaus nutzen Frontend-Entwickler i. d. R. Frameworks und Bibliotheken (Libraries). Diese sind z. B.:

Außerdem nutzen Frontend-Entwickler Bibliotheken (Libraries) zur visuellen Gestaltung, also speziell für CSS. Dazu zählen:

Diese Listen sind bei weitem nicht vollzählig und es kommen auch immer wieder neue Technologien hinzu. Sie geben aber eine Richtung vor, welche Technologien uns im Zusammenhang mit dem Begriff Frontend begegnen können.

Was macht einen guten Frontend-Entwickler aus?

Ein guter Frontend-Entwickler setzt das Design um und integriert die Funktionalitäten der App oder Webseite. Ein Entwickler, der beide Welten (Design und Funktion) versteht und in Einklang bringen kann, ist Gold wert. Häufig kennen sich solche Entwickler auch mit Design-Tools wie Photoshop, Figma oder der gesamten Adobe-Produktreihe (z. B. Adobe Illustrator) aus. So kann er bereits im Designprozess auf eventuelle Schwierigkeiten in der späteren Entwicklung hinweisen. 

In unserer modernen Welt ist der Frontend-Entwickler auch damit konfrontiert, “responsive” zu entwickeln. Eine Webseite wird heute auf vielen verschiedenen Endgeräten aufgerufen. Die Größe des Smartphone-Displays ist kleiner als die des Tablets und noch kleiner als die des Laptops oder des PC-Bildschirms. Die grafische Oberfläche der Webseite muss sich also anpassen. Diese Anpassung übernimmt ebenfalls der Frontend-Entwickler, wenn er responsive entwickelt.

Ein guter Frontend-Entwickler denkt die grafische Oberfläche und seinen Entwicklungsprozess ganzheitlich. Denken wir die Responsiveness nämlich weiter, geht es in der Frontend-Entwicklung auch um Kompatibilität. Neben der Anpassung an die Displaygröße, geht es bspw. auch um die verschiedenen Browser (Google Chrome, Mozilla Firefox, Safari,…), über die die Webseite geöffnet wird. Oder auch um Ladezeiten der Webseite, Fehlermeldungen und die Art der Eingabegeräte. Nutzt der Webseitenbesucher Maus und Tastatur oder einen Touchscreen? In welchen Sprachen soll die Webseite verfügbar sein? Und bringt der Webseitenbesucher schnelles oder langsames Internet mit?

Die Komplexität in der Frontend-Entwicklung ist in den letzten Jahren also enorm gestiegen und ein guter Frontend-Entwickler weiß, diese Komplexität zu bewältigen.

Club of Code

Worauf solltet du als Tech-Recruiter achten?

Frontend ist, wie wir sehen, ein umfangreiches Feld. Wenn wir als Tech-Recruiter Frontend-Entwickler suchen, müssen wir mehr Bewertungsmaßstäbe einführen, als nur das Tech-Stack zu betrachten. Sicher ist das Tech-Stack relevant. Jedoch sind neue Frameworks im Verhältnis schnell gelernt. Es geht mehr um das Verständnis des großen Ganzen, was einen guten Frontend-Entwickler ausmacht. 

Wenn du auf der Suche nach einem Frontend-Entwickler bist, versuche herauszufinden, ob dein Gegenüber einfach nur Design umsetzt, oder ob er das Design auch selbst (mit-)macht. Design-Tools, wie Photoshop, Figma oder Illustrator, die im Profil genannt werden, können dir hierauf vorab Hinweise geben. Versuche auch mehr über die Person herauszufinden. Manchmal verweisen Frontend-Entwickler auf eigene Projekte oder Webseiten. Hier siehst du ihr Design-Talent. Wenn es eine Webseite gibt, rufe sie auch über dein Smartphone auf. So findest du heraus, ob sie “responsive” ist. Wenn sie sich nicht richtig an den Smartphone-Bildschirm anpasst, hat der Entwickler nicht alles bedacht. 

Ein Frontend-Entwickler muss natürlich nicht zwangsläufig ein Designer sein. Es hilft einfach sehr, wenn man gutes Design erstellen und gleichzeitig auch umsetzen kann. Das gilt genauso für Designer. Wenn sie Design auch in der Umsetzung denken können, JavaScript- und CSS-Erfahrung haben, hilft das dem Entwicklungsprozess. 

Sollte das Talent des Frontend-Entwicklers nicht im Designbereich liegen, dann kann er möglicherweise andere Stärken vorweisen. Die Umsetzung von Webseiten für Touchscreen-Geräte wie Smartphones und Tablets oder die optimale Verfügbarkeit von Webseiten in Ländern mit leistungsschwachen Geräten oder schlechterer Internetverbindung durch ein effizientes Bereitstellen des Codes.

Die Fragen an einen Frontend-Entwickler sollten sich insbesondere danach richten, was das Unternehmen benötigt. Möchte das Unternehmen ins Ausland expandieren und hat daher besondere Anforderungen wie Mehrsprachigkeit oder Webseiten-Performance? Dann ist es wichtig, abzufragen, ob der Entwickler damit bereits Erfahrung hat.

Handelt es sich jedoch um ein Start-up mit sehr wenigen Mitarbeitern und der Frontend-Entwickler ist für die alleinige Umsetzung der Webseite zuständig, dann kann ein zusätzliches Talent im Designbereich sehr hilfreich sein, da es die Kommunikation im Unternehmen erleichtert und das Team so schneller Ergebnisse produzieren kann.

Die Fragen an einen Frontend-Entwickler ergeben sich also aus dem Bedarf des Unternehmens. Hier einige beispielhafte Fragen:

  1. Das Unternehmen ist frisch gegründet und sucht jemanden, der eine responsive Webseite umsetzt und dabei auch viel Verantwortung im Design übernimmt. Welche Erfahrungen hast du damit? Liegen deine Stärken im Design? Bist du in der Lage, eine solche Webseite auch ohne klare Anweisungen in Eigenregie umzusetzen?
  2. Das Unternehmen möchte nach Indien expandieren und sucht deshalb jemanden, der sich insbesondere mit Webseiten-Performance und Smartphones als Endgerät auskennt. Es ist wichtig, dass Inhalte schnell und effizient geladen werden. Hast du bereits für solche Anforderungen entwickelt? Welche Herausforderungen sind dir dabei begegnet und wie hast du sie gelöst?
  3. Das Unternehmen ist ein großer Konzern und sucht einen Frontend-Entwickler für die Umsetzung von Formularen zur Datenabfrage innerhalb des Konzerns. Hast du Erfahrung damit, komplexe Formulare im Frontend umzusetzen? Kannst du praktische Beispiele geben?

Unterschiedliche Anforderungen ergeben also unterschiedliche Suchen. Ein Austausch mit dem Fachbereich ist daher enorm wichtig. Streng genommen ist der Austausch mit dem Fachbereich wichtiger als der Austausch mit dem Frontend-Entwickler, da der Fachbereich abgrenzen sollte, wonach genau gesucht wird. Daraus ergeben sich dann auch die Fragen, die dem Entwickler gestellt werden sollten.

So blickst du über den Tellerrand hinaus und gewinnst die wirklich guten Entwickler. Sie werden im Gespräch auch merken, dass du nicht nur die Basisinformationen rund ums Tech-Stack abfragst, sondern verstehst, was man alles daraus machen kann und worauf es ankommt.

Du willst mehr über Entwickler-Rollen wissen? Dann lasse dir die kommenden Artikel direkt per Mail schicken.


Was macht ein Frontend-Entwickler?

FAQ

Was macht man als Frontend-Entwickler?

Ein Frontend-Entwickler setzt das Design einer Webseite um und integriert die Funktionalität. Hierbei achtet er darauf, dass die Webseite für die Zielgruppe optimal bereitgestellt wird (unterschiedliche Endgeräte, mehrere Sprachen, einfache Verfügbarkeit, etc.).

Wie viel verdient ein Frontend-Entwickler?

Ein Frontend-Entwickler verdient i. d. R. etwa 50.000 € im Jahr. Allerdings sind die Anforderungen im Frontend in den letzten Jahren stark gestiegen, wodurch auch höhere Gehälter gerechtfertigt sein können. Insbesondere dann, wenn der Frontend-Entwickler über besonderes Nischenwissen bzw. -fähigkeiten verfügt (Mehrsprachigkeit, Performance- oder Suchmaschinenoptimierung, Design, …).

Welche Programmiersprachen nutzt man im Frontend?

Die am häufigsten verwendete Sprache im Frontend ist JavaScript bzw. TypeScript. Dennoch kommen manchmal auch andere Sprachen wie z. B. Java (Backend-Sprache) zum Einsatz, bei denen der Code nicht im Browser ausgeführt wird, sondern nur die “fertige” Webseite an den Nutzer ausgeliefert wird.

Die Zukunft der Softwareentwicklung: Wo geht die Reise hin?

Am 12. Mai 1941 stellte Konrad Zuse in Berlin den Z3 als ersten Computer der Welt vor. Das Internet, damals noch Arpanet (Advanced Research Projects Agency Network), nimmt seit 1969 Fahrt auf. 1994 starteten die ersten Suchmaschinen mit Yahoo und Lycos. 2004 kamen Soziale Netzwerke wie Facebook und XING auf den Markt. Und seit der Vorstellung des ersten iPhones 2007 durch Steve Jobs ist das mobile Internet nicht mehr wegzudenken. 

Viele kennen noch die Welt ohne Smartphones. Die Zeit, in der man Tasten noch mehrfach klicken musste, um einen Buchstaben in eine SMS einzutippen. Diese Welt ist erst 15 Jahre her. Heute sprechen wir mit unseren Geräten und der Text wird automatisch erstellt. Unsere Welt wurde “software-isiert”.

1. Die Bedeutung von Softwareentwicklung

Ohne Software wäre das moderne Leben nicht denkbar. Software begegnet uns, bewusst oder unbewusst, ständig in unserem Alltag. Die Zubereitung des morgendlichen Kaffees, die Ampelschaltung auf dem Weg zur Arbeit, die Organisation der Lieferketten, damit wir im Supermarkt unsere Lebensmittel kaufen können. Überall ist Software im Einsatz. Und diese wird immer effektiver und schneller. Sie erleichtert unser Leben enorm und wir alle haben einen kleinen oder großen Anspruch an sie entwickelt. Wer war nicht schon einmal genervt, wenn die Internetseite zu langsam lädt oder die Registrierung auf einer Webseite mit einem Fehler beantwortet wurde. 

Um diesem Anspruch gerecht zu werden und unsere Welt weiter zu softwareisieren, entwickelt sich die Softwareentwicklung kontinuierlich weiter. Teilweise so schnell, dass selbst Entwickler manchmal Schwierigkeiten haben Schritt zu halten. 

2. Die Zukunft der Softwareentwicklung

Programmiersprachen, Frameworks, Bibliotheken: Technologie entwickelt sich immer schneller weiter. Frontend-Frameworks werden bspw. dauerhaft aktualisiert, wobei es auch zu größeren Durchbrüchen kommt. Das, was heute “der heiße Sch***” ist, wird in ein paar Jahren von effizienterer Technologie abgelöst. So geschieht es bspw. derzeit mit der Programmiersprache Rust, die in bestimmten Big-Data- und Machine-Learning-Anwendungen Python ablöst. 

Aber was bedeutet das für die Zukunft? Wie wird sich die Softwareentwicklung verändern? Und was bedeutet das in der Folge auch für uns als Tech-Recruiter?

Die Zukunft ist automatisiert: Künstliche Intelligenz (KI) in der Softwareentwicklung

Eines der großen Zukunftsthemen ist KI. Das Potenzial von KI ist bei weitem noch nicht erschlossen. So wie in jedem anderen Lebensbereich wird sie auch in der Softwareentwicklung weiter Einzug halten. Softwareentwicklung ist nämlich nicht nur die geniale Virtuosität, sondern oft auch ziemliche Routinearbeit. Und diese kann KI übernehmen. So wird KI bereits heute in der Testautomatisierung eingesetzt, um die Sicherstellung der Software-Qualität zu unterstützen. Hinzukommt die Anwendung im praktischen Arbeitsalltag der Entwickler. Das automatische Schreiben von Code hat bereits begonnen.

In Zukunft können mit KI sehr interessante Ideen umgesetzt werden. Nehmen wir als Beispiel Natural Language Processing (NLP). Wie der Name schon erahnen lässt, geht es dabei um die maschinelle Verarbeitung natürlicher Sprachen wie z. B. Deutsch. Wir alle kennen dies von Sprachassistenten wie Siri, Alexa und Co. Wir sagen etwas, die Maschine versteht es und antwortet. Übertragen wir diese Funktionsweise auf eine KI, die selbstständig Software schreiben könnte, können wir uns im ersten Schritt einen Softwareentwickler vorstellen, der vor seinem Computer sitzt und Code diktiert. Das wäre denkbar, aber wenig spannend. In einem zweiten Schritt könnten wir uns aber auch vorstellen, dass wir selbst, als Nicht-Entwickler, vor dem Computer sitzen und unsere Vorstellungen des Programms beschreiben, die die KI dann in ein funktionierendes Programm umsetzt. So könnte jeder mit der KI wie mit einem Softwareentwickler sprechen, nur dass die KI potenziell die Arbeit eines ganzen Entwicklerteams übernehmen kann. 

Die Zukunft ist einfach: Low-Code und No-Code

Was heute bereits vor allem in Webseitenbaukästen zu finden ist, wird in Zukunft immer mehr zu finden sein – Low-Code und No-Code. Wie die Namen schon sagen, geht es darum, Programme mit wenig oder ohne eigenem Code zu bauen. Dabei werden im Wesentlichen einzelne Bausteine einfach per Drag & Drop zusammengesetzt. Das geht schnell und kann auch von Nicht-Entwicklern gemacht werden. Dem Ganzen werden zwar entsprechende Grenzen in Sachen Individualisierung gesetzt. In Zukunft können aber immer mehr Menschen an der Softwareisierung der Welt teilhaben, auch wenn sie keine Entwickler sind. 

Die Zukunft ist sicher: DevSecOps – Sicherheit schon im Prozess

Je kreativer wir darin werden, Software zu entwickeln, desto kreativer wird auch die Gruppe, die diese Software angreift; nämlich Hacker. Cyberangriffe kosten die deutsche Wirtschaft laut dem Branchenverband Bitkom 220 Milliarden Euro pro Jahr. Fast jedes zehnte Unternehmen sieht gar seine geschäftliche Existenz durch Cyberangriffe bedroht.

Das Thema IT-Sicherheit ist zentral. Aus diesem Grund rückt dieses in Zukunft mehr ins Zentrum des Entwicklungsprozesses. Mit der Einführung von DevOps wurden in den letzten zehn Jahren praktisch zwei Abteilungen (Development und Operations) miteinander verknüpft. Moderne Entwickler schreiben also nicht nur ihren Code, sondern können ihn auch selbst live bringen. Früher brauchte es hierfür eine andere IT-Fachkraft (Operations), die sich nur um die dafür notwendige Infrastruktur gekümmert hat. Die Zusammenlegung der beiden Themen bringt daher mehr Geschwindigkeit und Agilität in den Entwicklungsprozess. Der Aspekt der Sicherheit wird dabei allerdings allzu oft vernachlässigt. Die sitzen so gesehen nämlich immer noch in einer anderen Abteilung. Nun werden also DevOps und Security zusammengebracht und es entsteht DevSecOps. Damit werden Sicherheitsthemen direkt im Entwicklungsprozess mitgedacht. 

Die Zukunft ist mobil: Native Mobile

In unserer modernen Gesellschaft nehmen Smartphones und Tablets einen wesentlichen Teil unserer Zeit in Anspruch. Aus diesem Grund hat sich bereits in der Vergangenheit ein Mobile-First-Ansatz etabliert. Eine Anwendung wird also in erster Linie als App für das Smartphone oder Tablet entwickelt. In der Entwicklung geht damit die Grundsatzfrage einher: für welches Endgerät soll entwickelt werden? Android oder iOS? Hierfür haben sich bereits eigene Programmiersprachen etabliert, die Geschwindigkeit, Speichersicherheit und Parallelität der Apps verbessern. Zu diesen zählen bspw. Swift und Kotlin. 

3. Die Zukunft des Tech-Recruitings

Was können wir aus den Zukunftstrends der Softwareentwicklung für das Tech-Recruiting ableiten? 

Aufgrund des Mobile-First-Ansatzes kann mit einem höheren Bedarf an Mobile-Entwicklern gerechnet werden. Abgesehen von den bisherigen werden auch neue Entwickler-Jobs entstehen. Von einem DevSecOps-Ansatz spricht man bspw. erst, wenn ein separates Sicherheitsteam wirklich überflüssig ist. Gewöhnlich wird dabei ein “Security Champion” innerhalb des Entwicklerteams benannt, der, in Sicherheitsthemen geschult, die Verantwortung für das Security Fixing übernimmt. Die gesuchten Profile werden daher umfangreicher in den Anforderungen. DevOps-Entwickler benötigen Sicherheits-Know-how. Security-Spezialisten gehen mehr in den Entwicklungsprozess. Möglicherweise entstehen neue Rollenbezeichnungen, die wir heute noch gar nicht kennen.

So schnell sich die Technologie-Welt für Softwareentwickler ändert, ändert sie sich in der Folge auch für uns Tech-Recruiter. Das Verständnis für Softwareentwicklung, Sprachen, Frameworks und Co. ist essentiell für die erfolgreiche Rekrutierung. Aus diesem Grund werden sich Tech-Recruiterauch in Zukunft mit den Zusammenhängen und der Fachsprache intensiv auseinandersetzen müssen. 

Sobald künstliche Intelligenz mehr und mehr Einzug in die Softwareentwicklung erhält, gilt es zu beobachten, wie sich die Teams dadurch verändern. Routinearbeiten oder einfache Aufgaben werden in der Regel von Junior-Entwicklern übernommen. Ob diese dann “überflüssig” und durch KI ersetzt werden, bleibt abzuwarten. 

Die Liste der möglichen Trends ist nicht vollzählig. Wie sich die Zukunft gestaltet, lässt sich bekanntlich schwierig vorhersagen. Den Ideen werden jedenfalls keine Grenzen gesetzt. Wie ist deine Vorstellung der Zukunft der Softwareentwicklung? Hast du ggf. auch einmal mit jemandem aus deinem Fachbereich darüber gesprochen?


Die Zukunft der Softwareentwicklung

FAQ

Welche Rolle spielt KI in der Softwareentwicklung?

Künstliche Intelligenz (KI) wird zunehmend Einzug in die Softwareentwicklung halten. Sie wird heute bereits in der Testautomatisierung eingesetzt, um die Sicherstellung der Software-Qualität zu unterstützen. Das automatische Schreiben von Code hat bereits begonnen.

Was ist DevSecOps?

DevSecOps ist eine Wortkombination aus Development (Dev), Security (Sec) und Operations (Ops). DevSecOps ist ein Ansatz für die Entwicklung und Bereitstellung von Software, bei dem Sicherheit in jedem Entwicklungsschritt berücksichtigt wird.

Wie sieht die Zukunft des Tech-Recruitings aus?

Das Verständnis für Softwareentwicklung, Programmiersprachen, Frameworks und Co. ist für Tech-Recruiter essentiell. Daher werden sie sich auch in Zukunft mit den Zusammenhängen und der Fachsprache intensiv auseinandersetzen müssen. Bei einem größeren Bedarf an IT-Talenten werden auch mehr Tech-Recruiter benötigt, die diese finden und einstellen.