Die Zukunft der Softwareentwicklung

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.