Einführung
Wird KI das Software Engineering und Programmieren ersetzen? 🤔
Meine Einschätzung: Absolut und definitiv JA! Schauen wir uns an, warum.
Software Engineering ist sehr teuer und nicht sehr produktiv
Wir erledigen viele wiederkehrende Aufgaben in unserem täglichen Leben als Software-Ingenieure.
- Code von einer Sprache in eine andere übertragen
- Projekte starten
- Projekte modifizieren
- Code auf neue Softwareversionen upgraden
- Server-Deployments warten
- Tests schreiben
- SQL schreiben
- Performance verbessern
- …
Ich habe ChatGPT sehr erfolgreich für viele dieser Aufgaben genutzt. Einen Test schreiben? ChatGPT nutzen. React von Klassen auf Funktionen upgraden? KI erledigt das für Sie. Ein Projekt mit einem Set von Technologien erstellen (z.B. npm, TypeScript, Templates, Node-Backend, REST etc.) - KI erledigt das für Sie. Ein Codebeispiel in die Sprache umschreiben, die Sie verwenden? Erledigt. Komplizierte SQL-Abfrage? Gelöst.
ChatGPT ist KEIN ideales Werkzeug. Trotzdem. Es ist bei all diesen Aufgaben viel, viel schneller als ich. Der Produktivitätsschub als Ingenieur ist manchmal jenseits der Vorstellung.
Ich kann es kaum erwarten, bessere und spezialisiertere KI-Kollegen zu sehen, die noch mehr können.
Und ich hoffe auch, dass dieser Produktivitätsgewinn uns als Gesellschaft insgesamt wohlhabender machen wird. (Ok - vielleicht verschieben wir diesen Produktivitätsgewinn einfach zum mehr Playstation spielen - aber das ist nicht, was ich meinte).
KI ist wie eine höhere Programmiersprache
Ich berühre fast nie Assembler-Code. Und wenn ich es tat, war ich nicht sehr gut darin. Und dafür gibt es einen Grund. Höhere Programmiersprachen sind einfach so viel besser und so viel produktiver als Assembler-Code zu schreiben.
Und ich denke wirklich, dass KI-Programmierassistenten für das Programmieren das sind, was höhere Programmiersprachen für Assembler waren. KI-Programmierung wird in einigen Jahren das traditionelle Programmieren (in JavaScript, Java, Kotlin, C) komplett ersetzen.
Einige Aufgaben werden von echten Experten in diesen Sprachen programmiert werden. Aber die überwiegende Mehrheit des Programmierens wird gemeinsam mit KI-Assistenten stattfinden. Und diese KI-Assistenten werden einfach den Code erstellen, den Sie ausführen können. Vergessen Sie das Schreiben von Programmiersyntax.
Was KI nicht ersetzen kann
ABER. Es gibt schwierige Probleme, die nicht von einem cleveren KI-Assistenten gelöst werden können. Für diese Aufgaben brauchen Sie echte Experten, die ein großes Softwaresystem architektonisch gestalten und in die gewünschte Richtung bewegen können. Kein KI-Tool wird das für Sie tun.
Und manchmal ist das Ergebnis von KI-generiertem Code nicht das, was Sie wollen, oder schlicht falsch. Die Fähigkeit, das zu erkennen, ist in der Zukunft essentiell.
Meine Wette: Echte Experten werden für wenige Aufgaben weiterhin gebraucht. Aber viele gering produktive Programmierjobs werden in 10 Jahren einfach nicht mehr existieren.
Fazit
Ich habe gelernt, dass es extrem schwer ist, Dinge vorherzusagen - besonders die Zukunft. Und ich bin besonders schlecht darin.
Heute ist der 13.03.2024. Schauen wir, ob Programmieren bis 2034 fast ausstirbt. Ich könnte durchaus falsch liegen.
Dies entstand aus einer sehr netten Diskussion auf LinkedIn mit Carsten Neuendorf über die Zukunft des Software Engineerings und Devin, das heute veröffentlicht wurde. Danke Carsten!
