Channel

AI

Gastkommentar

Warum Developer nie durch Software ersetzt werden können

Developers, developers, developers. © Unsplash
Developers, developers, developers. © Unsplash

Artificial Intelligence wird schon lange vorausgesagt, dass es bis zu 80% aller Jobs ersetzen könnte. Dies ist leider ein Mythos, der auf die Art des Studienkonzeptes dahinter zurückzuführen ist. Auch bei der Softwareentwicklung findet man nun immer öfter die Schreie, dass doch auch eigentlich 80 Prozent aller Developer ersetzbar wären. Durch Software selbst (Trending Topics berichtete).

Leider wird dies nie der Fall sein. Dies bewies schon Fred Brooks in den 70ern mit seinem Essay „No Silver Bullet„. Vor allem aus zwei Gründen:

  1. die zugrundeliegende Komplexität der Natur
  2. die wachsende Komplexität der Aufgaben für Softwareentwickler

Um dies genau zu erklären, muss man sich 2 Arten der Komplexität eines Projektes mal zur Gemüte führen.

Erstens, die zufällige Komplexität. Dies ist alles, was so nebenbei beim Entwickeln auftaucht etwa Bugs oder Inkompatibilitäten.
Zweitens die essentielle Komplexität. Dies ist der zugrundeliegenden Aufgabe geschuldet, und beschreibt intellektuelle Aufgaben des Projektes. Wenn ein Projekt 30 verschiedene Features haben soll, müssen eben diese 30 entwickelt werden.

Aber jedes Jahr wird doch alles einfacher

Ja, mittlerweile gibt es zum Beispiel schon richtig gute sogenannte WYSIWYG (What you see is what you get)-Editoren – für Webseiten zum Beispiel. Für eine einfache Website, etwa das Portfolio eines Fotographen oder für ein Event, braucht man mittlerweile keine Programmierkenntnisse mehr.

Aber wenn es nun weitergeht, und man will das eine Event in eine Eventserie erweitern, mit Online-Buchungssystem, Social Media Accounts, Bewerbung für diverse Programme (e.g. für Startups) und schon ist man recht schnell wieder auf der Suche nach einem Entwickler oder einer Agentur.

Exponentielle Entwicklungen

Ich glaube, fast jeder kennt mittlerweile „Moore’s Law“. Es besagt, dass sich ca. alle 18 Monate die Menge der Transistoren auf einem Prozessor verdoppeln wird. Und dadurch die Computerleistung exponentiell ansteigt. Im Gegensatz aber steigt die Simplifizierung der Softwareentwicklung ziemlich linear an. Das bedeutet, dass die Entwicklung der Hardware als Basis für die Software immer schneller an Leistung und Komplexität ansteigt, während die Tools der Entwickler dies wieder zu vereinfachen und jedem zugänglich zu machen.

Abstrahieren als Entwickler-Wort des Jahrzehnts

Wenn ich mit einem Wort beschreiben würde, was sich in den letzten zehn Jahren getan hat, wäre es vor allem Abstrahieren. Wir haben uns entfernt von einer direkten Programmierung des Prozessors (Assembler) auf Objekt- Orientierte Programmierung (c++, ada) hin zu Virtualisierung (java, c#, nodejs) und nun weiterhin in die Cloud (AWS, Google Cloud).

Mit jedem Schritt verstecken wir zufällige Komplexitäten der Basis, lösen aber selten die essentiellen Komplexitäten des Projektes. Diese werden eigentlich mit jedem dieser Schritte immer mehr, weil wir uns auch immer mehr darauf konzentrieren können.

Die Einzigartigkeit der Projekte

Im Grunde ist es ja auch genau das, was ein besonderes Projekt ausmacht. Man sehe sich nur einfach Handy-Spiele an. Dort gibt es sehr einfache Games, die mit einer hohen Kreativität von oft nur einer Person entwickelt wurden. Weil vor allem viel kreative Kraft hinter der Idee steckt. Genau diese wird wohl nie von einem Computerprogramm ersetzt werden können. Und umso bessere Geräte und Hardware wir besitzen, je mehr wir die grundsätzlichen Technologien abstrahieren, desto mehr werden wir uns nach Lösungen sehnen, die kreativer und intelligenter sind als die jetzigen. Das es einfach funktioniert, reicht oft nicht mehr. Es muss schön designt, einfach zu verwenden und oft zukunftsorientiert entwickelt worden sein. Wie oft dies gelingt, sei dahingestellt.

Wir können mehr, wollen aber viel mehr

Durch die neuen Möglichkeiten von Hardware, Vernetzung und abstrahierten Tools kann man als einzelner Entwickler oft Dinge programmieren, für die man vor nicht einmal 20 Jahren ein ganzes Haus voller Entwickler gebraucht hätte. Aber diese Lösungen hat auch schon jeder in seiner Hand.

Solange die zugrundeliegenden Technologien exponentiell steigen und die Anforderungen an die Projekte mit diesen steigen, wird es keine Möglichkeit geben, dass eine Software die breite Masse an Entwicklern ersetzen kann. Und es wird auch weiterhin das Softwarestudium eine sichere Wahl bleiben.

Trivia

Fred Brooks hat dies übrigens schon in den 1970ern mit seinem Essay „No Silver Bullet“ bewiesen. Sein Buch „The Mystical Men Month“ gilt wohl als die Bibel des Software-Projektmanagements und gibt auch einen sehr amüsanten Einblick in die Entwickler-Realitäten seiner Zeit. Zum Beispiel gab es damals ein ganzes Team, das nichts anderes tat, als die Änderungen der Anforderungen an das Projekt jeden Tag auszudrucken und an die Teams zu verteilen.

Ausserdem möchte ich noch erwähnen, dass für erfolgreiche Projekte es immer auch auf die Qualität der Entwickler ankommt. David Parnas sagte mal dazu: „One bad programmer can easily create two new jobs a year. Hiring more bad programmers will just increase our perceived need for them.

Über den Autor: Christoph Richter ist Mitgründer der ehemaligen Immobilien-Plattform zoomsquare, fungiert derzeit als CEO von Blattgold und ist regelmäßig als Vortragender und Mentor in der Startup-Szene unterwegs.

Springe zu:

Ganzen Artikel lesen
Promotion