Software

Softwareentwickler im Alltag: Ein Beitrag über Vorurteil und Wirklichkeit

10 Gefahren für Softwareentwickler – ist Programmieren ein Zukunftsberuf?

Derzeit übersteigt die Nachfrage nach Softwareentwicklern das Angebot des Arbeitsmarkts deutlich. Unternehmen, deren HR-Manager und Recruiter aus den verschiedensten Branchen bemühen sich mit allen Mitteln neue Softwareentwickler anzuwerben. Immerhin sind Softwareentwickler entscheidend um Digitalisierung und Automatisierung voranzutreiben.

Im Vergleich zur Industrialisierung entwickeln sich die IT und Digitalisierung viel schneller und haben in kürzerer Zeit mehr neue Arbeitsplätze geschaffen. Bleiben Softwareentwickler die Treiber der Digitalisierung oder werden sie durch Automatismen künstlicher Intelligenz und Bots ersetzt? Steigt der Bedarf weiterhin oder wird er durch zunehmenden IT-Absolventen, Quereinsteigern und mittels Auslagerung in andere Länder überholt?

Welche Gefahren birgt die Zukunft für Softwareentwickler?

Die Softwareentwicklung befindet sich noch immer in einen Aufschwung, so dass praktisch niemand die Zukunft dieses Berufes anzweifelt. Doch auch die IT ist eine Branche im Wandel, in der die Gehälter durch Engpässe in die Höhe getrieben werden. Ist oder bleibt die Wirtschaftlichkeit bei dieser Entwicklung bestehen oder sehen sich Unternehmen auch nach anderen kostengünstigeren Lösungen um? Wir hinterfragen paar Entwicklungen und Thesen, welche die blühenden Aussichten der Softwareentwickler in Frage stellen.

1. Programmiersprachen werden einfacher

Die ersten Computeranwendungen wurden mittels kleinteiliger Befehle in Assembler programmiert, was für die gegenwärtigen umfangreichen Softwareanwendungen ineffizient und ungeeignet wäre.

Basierend auf dem Grundgedanken, die reale Welt besser in einer Programmiersprache zu abstrahieren und besser darzustellen entstand die objektorientierte Programmierung, welche sich heute durchgesetzt hat. Auch hier wurden stetige Fortschritte zur vereinfachten Softwareentwicklung gemacht.

So werden auch Mobile Apps einfacher programmiert als noch vor 10 Jahren. Apple führte 2014 die deutlich einfachere Sprache Swift ein und Google folgte mit Kotlin für die Entwicklung von Android-Apps.

Diese Entwicklungen senken die Einstiegshürden in die Softwareentwicklung und der Beruf Softwareentwickler wird in Zukunft für mehr Menschen zugänglicher.

2. Standardsoftware lösen individuelle Programmierungen ab

Verschiedene Bedürfnisse, Technologien, Trends und Versprechungen machen es Unternehmen schwer den passenden Softwareanbieter aufzufinden. Die Preise und Kosten für Standardsoftware wie auch individuelle Software variieren von Anbieter zu Anbieter sehr. Diese Intransparenz im IT-Markt führt dazu, dass heute noch viele kundenspezifische Lösungen oder neue Softwareprodukte programmiert werden, obwohl entsprechende Lösungen längst bestehen.

Am IT-Markt werden sich vermehrt branchenspezifische Standardlösungen durchsetzen und etablieren. Standardsoftware kann mittlerweile auch individuelle Unternehmensprozesse abbilden. Dies erfordert i.d.R. keine Programmierkenntnisse mehr, sondern lediglich die Parametrisierung der Standardsoftware nach den Bedürfnissen des Kunden. Sollten sich die Standardlösungen noch flächendeckender durchsetzen, könnten sich die Jobangebote und die Auftragslage für viele Softwareentwickler deutlich reduzieren.

3. Zugänglichere Bibliotheken, Frameworks und Opensource Projekte

Entwicklungsumgebungen und Ressourcen, welche den Softwareentwicklern zur Verfügung stehen verbessern sich kontinuierlich. Die Entwickler-Szene ist gut vernetzt und stellt der Community verschiedene fertige Komponenten zur Wiederverwendung in anderen Projekten bereit.

Das können einzelne Bibliotheken für gewisse Funktionen oder ganze Frameworks sein, mit welcher die Struktur und Architektur des künftigen Softwareprodukts in wenigen Minuten aufgesetzt ist.

Auch Open Source liegt im Trend. Die quelloffene Software baut auf dem Wissen und der Initiative der breiten Masse auf. Davon profitieren auch die Softwareentwickler, denn ihnen steht der gesamte Sourcecode von Softwareanwendungen zur Verfügung, welche an die eigenen Bedürfnisse angepasst werden können.

Die verbesserten Entwicklungsressourcen ermöglichen in kürzerer Zeit bessere und zugleich umfangreichere Softwareanwendungen zu programmieren. Überholt diese Effizienzsteigerung die zunehmenden Bedürfnisse der Digitalisierung?

4. Mehr Quereinsteiger in der IT

Der boomende IT-Markt und die steigenden Gehälter in der Branche verlocken immer mehr Menschen sich auf die IT umzuqualifizieren.

Dies ist besonders in wirtschaftlich schwächeren Ländern zu beobachten. Softwareentwickler können remote für etablierte westeuropäische Unternehmen arbeiten weshalb die Umqualifizierung zum Softwareentwickler am häufigsten ausgesucht wird. Wie bereits erwähnt sind die Einstieghürden in die Softwareentwicklung tiefer als zuvor, was diesen Trend noch mehr begünstigt.

Kann der vermehrte Quereinstieg in die IT die Ressourcenengpässe beseitigen oder gar zu einer Übersättigung an Softwareentwicklern führen?

5. Cross-Plattform Entwicklung

Cross-Plattform oder auch hybride Technologien genannt sind mittlerweile so ausgereift, dass Softwareentwickler vermehrt darauf greifen. React Native, Xamarin und Flutter verdrängen die native App-Entwicklung immer mehr. Diese hybriden Entwicklungsumgebungen breiten sich auch auf Web- und Desktopanwendungen aus.

Was früher für jede Plattform separat programmiert werden musste, kann heute aus einem Quellcode für mehrere Plattformen exportiert werden. Weniger Programmierzeilen verringern der Bedarf an Softwareentwicklern. Auf Jobportalen sind Stellenausschreibungen mit Cross-Plattform Kenntnissen vermehrt aufzufinden. Werden Cross-Plattform Technologien den IT-Arbeitsmarkt beeinflussen und den Bedarf an Entwicklern langfristig reduzieren?

6. Auslagerung der Programmierung in günstigere Länder

Die Auslagerung der Programmierung in Länder mit niedrigerem Lohnniveau wird schon lange praktiziert und auch als Software-Outsourcing oder Nearshoring bezeichnet. Indem das Homeoffice während der Corona-Pandemie zum Arbeitsalltag wurde und auch vermehrt Teil von diesem bleiben wird, haben auch weitere Unternehmen das Outsourcing als kosteneffizientere Variante verglichen mit der internen Anstellung erkannt.

Osteuropäische Länder sehen in der IT einen Wirtschaftszweig, in dem sie deutlich einfacher in einem globalen Markt agieren können, als es bei physischen Gütern und anderen Dienstleistungen möglich wäre. Diese Länder unterstützen Tech- und Softwareunternehmen mit Förderprogrammen was einen grossen Nachwuchs an Softwareentwicklern mit sich zieht.

Kann das Outsourcing zu einem Überangebot an Softwareentwicklern führen? Die Möglichkeit, Programmierer aus günstigeren Ländern einzusetzen drückt bereits heute das Lohnniveau der Softwareentwickler.

7. Zunehmende IT-Lehrgänge

Tech-Firmen haben sich zu Beginn vor allem in den USA etabliert, der IT-Boom folgte in Europa verlangsamt. Dementsprechend sind in den europäischen Ausbildungsstätten Informatik-Fächer und Studiengänge mit der Ausrichtung auf die Softwareentwicklung erst relativ spät eingeführt worden.

Die digitale Transformation ist für Unternehmen und ganze Branchen essenziell und wird als zentraler Wirtschaftstreiber angesehen. Das Bildungswesen musste dementsprechend anpasst werden. Inzwischen sind viele neue IT-Lehrgänge und Kurse entstanden und jährlich werden deutlich mehr Softwareentwickler ausgebildet.

8. Neue Digital Native Generation

Dieser Punkt kann direkt von den zunehmenden IT-Lehrgängen abgeleitet werden. Mit dem Nachwuchs an Softwareentwicklern kommt eine neue Generation an Arbeitskraft auf den Markt. Erfahrene Softwareentwickler beschäftigen sich voraussichtlich weiterhin bis ins Rentenalter in der IT.

Ältere Generationen hatten nicht die gleichen Voraussetzungen: Weniger IT-Lehrgänge und teure IT-Ausrüstung haben es nur einer kleinen Bevölkerungsgruppe ermöglicht, sich mit der IT und Softwareentwicklung vertraut zu machen.

Mit den vielen Ressourcen, welche heute im Netz zur Verfügung stehen, kommt es nicht selten vor, dass sich junge Digitale Natives das Programmieren schon im Schulalter selbst aneignen. So wie Nachfrage an Softwareentwicklern (noch) steigt, nimmt auch der Anteil an Softwareentwicklern in der demografischen Kurve zu.

9. No-Code-Plattform

Heute können Webauftritte und einfachere Webanwendungen mit baukastenähnlichen Online-Editoren praktisch von jedermann ohne Programmierkenntnisse umgesetzt werden.

No-Code Plattformen sind darauf ausgelegt, kosteneffizient die unzureichenden Programmierressourcen zu umgehen und den Entwicklungszyklus zu beschleunigen. Dadurch können neue digitale Prozesse von Mitarbeitern die näher an den Arbeitsabläufen und Geschäftsstrategien mitwirken implementiert werden.

Berechtigte Kritik an diesem Entwicklungsansatz sind Sicherheitsaspekte, Skalierbarkeit und Nachhaltigkeit. Noch immer sind No-Code Plattformen in der Unternehmenswelt eher eine Modeerscheinung als geeignete Alternativen für individuelle komplexe Softwareanwendungen, doch könnte auch dies sich in Zukunft ändern.

10. Künstliche Intelligenz ersetzt Softwareentwickler

Der Softwareentwickler übt nicht nur kreative, überlegte und lehrreiche Tätigkeiten aus, sein Alltag ist häufig von Routineaufgaben geprägt.

Mit der Robotisierung können diese wiederkehrenden Arbeitsschritte automatisiert werden und mit voranschreitender Künstlicher Intelligenz (KI) lernt ein Computerprogramm immer mehr Aufgaben übernehmen.

Bereits heute wird automatisiertes Testen in der Softwareentwicklung eingesetzt und renommierte Wissenschaftler gehen davon aus, dass spätestens im Jahr 2040 künstliche Intelligenz Softwareanwendungen schreiben wird und das schneller als eingearbeitete Softwareteams (Quelle: «Will humans write code»).

Weil der wahre Wert eines Softwareentwicklers nicht darin liegt, wie er eine Anwendung programmieren soll, sondern was er programmieren soll, wird die künstliche Intelligenz Softwareingenieure nie vollkommen ersetzen können. Nichts desto trotz ist die Sorge der Programmierer um ihre Zukunft nicht unbegründet.

Lohnt es sich noch Softwareentwickler zu werden?

Die Mehrheit sieht den Beruf Softwareentwickler als zukunftssichere und wichtige Beschäftigung. Diese Meinung teilen wir auch und die Antwort ist ja, Softwareentwickler werden weiterhin sehr gefragt sein.

In diesem Beitrag haben wir uns nur auf die Gefahren fokussiert, Opportunitäten gibt es mindestens genauso viele. Der digitale Wandel ist ein kontinuierlicher Prozess und noch viele Unternehmen haben grossen Nachholbedarf. Laufend werden neue Technologien und Trends wie Machine Learning, Big Data, IoT für neue Innovationen und Unternehmensperspektiven sorgen. Die vergangenen Jahre verliefen hochdynamisch und der Unterhalt und Modernisierung bestehender IT-Systeme darf dabei nicht vergessen gehen.

Wahrscheinlich werden in absehbarer Zukunft einfachere und monotone Programmieraufgaben von künstlicher Intelligenz ausgeführt werden. Das ist kein Nachteil, den so können sich Softwareentwickler auf neuartige und wertschöpferische Aufgaben fokussieren. Besondere und komplexe Anforderungen werden auch in Zukunft ausgebildete Softwareingenieure implementieren müssen.

Dafür werden sich Softwareentwickler sowie alle anderen Berufe stets weiterentwickeln müssen, um nicht von Computerprogrammen mit künstlicher Intelligenz ersetzt zu werden.

ACENT AG

Trotz immer besserer Standard-Software wie SAP oder Microsoft und einem starken Trend zu standardisierten Cloud Produkten wie Salesforce entwickelt nahezu jede IT-Organisation zusätzlich eigene Softwareanwendungen. Der Grund sind meist fehlende Standardprodukte oder der Wunsch damit innovativer als der Wettbewerb zu sein. Nach den uns allen bekannten Statistiken laufen aber mehr als 50% dieser Entwicklungsprojekte aus dem Zeit- und Budgetrahmen. 15% scheitern komplett. Wir kennen diese Zahlen alle und trotzdem nutzen nur wenige IT-Organisationen neue Methoden wie Scrum oder Kanban um diese Situation zu verbessern. Daher diskutieren wir in dieser Episode, warum diese Methoden heutige Softwareprojekte planbarer und erfolgreich machen und was Sie als CIO tun müssen, um diese in Ihrem Unternehmen einzuführen. Ein Interview mit Stefan Korsch.

Show Notes

Bei weiteren Fragen zu dieser Episode senden Sie bitte eine kurze Mail an

Manifest für Agile Softwareentwicklung:

Der offizielle Scrum-Guide in vielen Sprachen:

Scrum Alliance ist weltweit die größte Non-Profit Organisation zu Scrum:

Ein Interview mit Jeff Sutherland – Scrum’s co-creator talks about the framework’s transformational effect:

Plakative Darstellung des Kanban: http://www.kanban-plakat.de

Guter Vergleich von Scrum und Kanban:

Wir freuen uns über Ihr Feedback und Ihre Kommentare zu diesem Podcast. Bitte senden Sie dazu einfach eine E-Mail an den jeweiligen Moderator:

Softwareentwickler im Alltag: Ein Beitrag über Vorurteil und Wirklichkeit

Stellt man sich – als “Nicht-Computermensch” – den Alltag von Softwareentwicklern vor, reiht sich meist Klischee an Klischee. Dunkle Arbeitszimmer, ungesunde Softdrinks, viel Nerd-Stuff und (wenig) Arbeit. Doch dieses Bild ist nicht mehr als eine Ansammlung blanker Vorurteile. “Die Wirklichkeit sieht anders aus”, meint Stefan Luchs, Senior Developer der InterFace AG: “Wir Entwickler brauchen nicht nur ein dickes Fell, sondern müssen vielseitig denken und arbeiten.” Höchste Zeit also, einen realitätsnahen Blick auf den Arbeitsalltag eines Entwicklers zu werfen.

Schließen Sie doch mal die Augen und stellen sich einen typischen Softwareentwickler vor. Welches Bild haben Sie vor sich? Genau. Programmierer, das sind doch diese “Nerds”, die ihren Tag am liebsten in dunklen Räumen verbringen, den ganzen Tag auf der Tastatur “rumhämmern” – völlig abgeschottet von der “Muggelwelt” da draußen. Und damit sie auch den ganzen Tag irgendwelche ausgefuchsten Programme schreiben können, stehen in ihren Kellern – auch Forts of Solitude genannt – mehrere Kühlschränke voller Junkfood, Coca Cola und natürlich Red Bull.

Hand aufs Herz: So in der Art stellt man sich doch den typischen Alltag eines Softwareentwicklers vor, oder nicht? Dass dieses Bild völlig an der Realität vorbei zielt, das steht auf einem anderen Papier.

Wenn man ehrlich ist, dann ist unser Bild vom Entwickler als “Eigenbrötler” schon längst gezeichnet: Der Rechner startet und automatisierte Scripte besorgen den Hauptteil der zu erledigenden Arbeit: Auf Emails reagiert ein eigens programmierter Algorithmus, indem er aus einer Reihe von standardisierten Antworten auswählt.

Ein weiteres Kurzprogramm schickt der Freundin oder Frau des Entwicklers eine automatische SMS, wenn er unter der Woche nach 21 Uhr immer noch im Büro verweilt. Aus einer Liste wird automatisch eine Ausrede ausgewählt: “Arbeite hart”, “Muss dieses Feature fertigkriegen” oder “Irgendjemand hat wieder das System geschrottet”.

Doch das schönste Skript sorgt auf Knopfdruck dafür, dass die bürointerne, vernetzte Kaffeemaschine den Nachmittags-Cappuccino zubereitet, natürlich bevor der Programmierer die Maschine per pedes erreicht hat.

Sie glauben, all das wäre totaler Mumpitz? Falsch. Auf Github lassen sich tatsächlich derartige Skripte finden, die dort einem ganz bestimmten Softwareentwickler zugeschrieben werden, der damit seinen Arbeitsalltag augenscheinlich erleichtert hatte. Natürlich lässt sich der Wahrheitsgehalt nicht überprüfen.

Fest steht aber: Softwareentwickler können theoretisch tief in die Trickkiste greifen und ihre Arbeit automatisieren. Eklatantestes Beispiel: In einem renommierten US-Unternehmen bewirkte ein Programmierer, nachdem er seine gesamte Arbeit nach China outgesourct hatte, überhaupt nicht mehr arbeiten zu müssen. Nahezu täglich griff ein Unbekannter aus China auf das interne Firmennetzwerk zu – mit den Login-Daten des Angestellten. Die Sache flog auf. Der Entwickler wurde fristlos entlassen.

Leave a Reply

Your email address will not be published. Required fields are marked *