Wenn John Macpherson, leitender Entwickler beim Webdesign-Unternehmen Media Surgery, beschreibt, was für ihn regelmäßig den Höhepunkt seines Schaffens darstellt, dürften das die meisten Softwareentwickler gut nachvollziehen können: "Das Gefühl ist unbeschreiblich, wenn man etwas testet, an dem man tage- oder stundenlang gearbeitet hat und es funktioniert. Man erlebt echte Euphorie."
Ebenso wie die Kehrseite: "Wenn man viel Arbeit und Zeit in etwas steckt, das einfach nicht funktionieren will, kann das ein Gefühl der Wertlosigkeit schaffen - und ins Hochstaplersyndrom münden."
Wir haben mit Softwareentwicklern, Personalverantwortlichen und Managern die Vor- und Nachteile des Dev-Jobs erörtert. Dabei haben wir fünf wesentliche Bereiche herausgearbeitet, die Developer regelmäßig vor die Wahl zwischen Euphorie und Münchhausen-Syndrom stellen. Wie sich zeigt, liegen Freud und Leid auch in Sachen Softwareentwicklung oft nah beieinander.
1. Probleme lösen vs. Rad neu erfinden
Entwickler lieben es in der Regel, Probleme zu lösen. Zu programmieren ist ein Weg, um dieses Bedürfnis zu stillen. Percy Grunwald, Full-Stack-Software-Ingenieur und Mitbegründer des Webhosters Hosting Data, bringt es auf den Punkt: "Software zu entwickeln macht keinen Spaß, wenn man es nicht liebt, Probleme zu lösen." Jacob Mages-Haskins, Softwareentwickler bei Contrast Security, spart sich durch seinen Job die Anhäufung von Rätselheftchen: "Als Entwickler liebe ich die Herausforderung, neue Funktionen in Code zu implementieren. Es ist, als hätte ich jeden Tag ein neues Puzzle zu lösen."
Auf der anderen Seite kann es entmutigend sein, sich stundenlang mit einem Problem zu beschäftigen, nur um dann festzustellen, dass bereits eine Lösung dafür existiert. Das Rad unnötigerweise neu zu erfinden, ist auch für Zeeshan Arif, Gründer und CEO des Softwareunternehmens Whizpool, ein Unding:
"Das Wissen, dass man in der Lage sein könnte, seine Entwicklerkollegen zu übertreffen, kann ein Ansporn dazu sein, Großes zu leisten", konstatiert auch Grunwald. "In der Softwareentwicklung ist es immer eine zentrale Herausforderung, den besten Lösungsweg zu finden. Das erfordert Kreativität und die Bereitschaft, verschiedene Wege auszuprobieren - zwei der besten Dinge am Beruf des Softwareingenieurs."
2. Handwerk vs. Prozess
Der Prozess der Softwareentwicklung an sich hat für die meisten Entwickler etwas Befriedigendes. So auch für Whizpool-CEO Arif: "Ich liebe es, etwas zu erschaffen, das andere Menschen nutzen können. Ich sehe mich als eine Art Handwerker, nur ist mein Werkzeug Code und keine Rohrzange." Alexey Sutyagin, der auf zehn Jahre Erfahrung als Entwickler und technischer Leiter zurückblicken kann, kommt noch eine andere Metapher in den Sinn: "Der fruchtbarste Teil der Arbeit eines Softwareentwicklers ist dieses magische Gefühl, wenn man etwas Neues mit reiner Gedankenkraft erschafft. Als Kind wollte ich immer Zauberer werden - nun bin ich als Entwickler fast so etwas wie ein Magier der modernen Welt."
Ebenso wie Handwerker eine innere Befriedigung empfinden, wenn sie einen gebauten Tisch oder Schrank betrachten, fühlen auch Entwickler Freude, wenn sie das Endprodukt ihrer Arbeit betrachten. Davon kann etwa Daniel Jianu, Senior Frontend-Entwickler-Coach beim Freelancer-Netzwerk Toptal, ein Lied singen: "Mit Maschinen kommunizieren zu können, fühlt sich wie eine Superkraft an. Die benutze ich regelmäßig, um Patienten im Gesundheitswesen zu helfen oder um Pokerturniere mit Freunden zu managen."
Nate Berent-Spillson, Vice President of Engineering bei der Softwareentwicklungsberatung Nexient, setzt andere Satisfaktions-Schwerpunkte: "Für mich ist das befriedigendste Gefühl, zu wissen, dass die Menschen weltweit meine Software benutzen. Ich spreche darüber nicht oft, aber es erfüllt mich mit Befriedigung, wenn ich sehe, wie zum Beispiel unsere mobilen Apps im Alltag genutzt werden."
Im Kontrast zur handwerklichen Seite des Developer-Jobs stehen allerdings regelmäßig die Prozesse. Insbesondere Meetings sind für Entwickler häufig ein Pain Point, wie Grundwald feststellt: "Als Softwareentwickler erlebt man viele unproduktive, repetitive und irrelevante Meetings." Mit diesem Statement rennt er bei Rajeev Bera, Gründer der IT-Schulungswebsite aCompiler und leitender Entwickler, offene Türen ein: "Die allermeisten dieser Meetings haben keinen Mehrwert. Abgesehen davon, muss ich gelegentlich Dokumentationen erstellen. Das mag ich nicht besonders, weil das keine kreative Tätigkeit ist."
Je mehr Prozesse in einer Unternehmensumgebung bestehen, desto höher steigt häufig auch der Frustrationsgrad der Developer. Kishan Patel, Executive Consultant beim Personalvermitter EC1 Partners erklärt: "Die Arbeit in einem Unternehmen kann manchmal die Autonomie der Entwicklerrolle beeinträchtigen. Endlose Bürokratie lässt Developern weniger Flexibilität und weniger Freiheit, ihren Code ausdrucksstark zu gestalten." Nexient-Mann Berent-Spillson fügt hinzu: "Wenn ich Teams sehe, die mehr mit Richtlinien als mit dem Code ringen, frustriert mich das."
Rafal Gatkowski, leitender Entwickler beim Softwareunternehmen STX Next, scheint die Balance gefunden zu haben: "Alle Prozesse behindern die Entwicklung, aber ein gewisses Maß an Prozessen ist erforderlich, um gute Software zu entwickeln." Der Schlüssel liegt nach Meinung des Entwicklungsprofis darin, zu verhindern, dass die Prozesse außer Kontrolle geraten und den Entwicklern zu viel Zeit rauben:
3. Teamwork vs. Kollaborationsermüdung
Ein Großteil der prozessualen Seite der Entwicklungsarbeit entsteht im Zusammenhang mit Teamwork und Kollaboration. Dabei gehört für viele Entwickler das Zusammengehörigkeitsgefühl zu den besten Dingen an ihrem Job. Caleb Chandzamarda Junior, Python-Entwickler und Cybersicherheitsingenieur, zählt es gar zu seinen Lieblingsbeschäftigungen, zu kollaborieren: "Gemeinsam mit den Kollegen über Designs nachzudenken oder Vor- und Nachteile abzuwägen, um die richtigen Antworten zu finden, begeistert mich. Alleine würde ich das nie schaffen."
Auch Joe Guarascio, Director of Talent Coaching and Talent Operations bei Toptal, sieht für Entwickler Vorteile in der cross-funktionalen Zusammenarbeit:
Allerdings kann die alltägliche Zusammenarbeit auch viel Energie kosten - die die meisten Entwickler lieber in die Programmierarbeit stecken würden. So verrät etwa Mages-Haskins von Contrast Security: "Als Entwickler in einem Unternehmen hasse ich es, wie schnell die Kosten für Kommunikation und Koordination steigen, wenn auch nur ein paar Teams zusammenarbeiten. Dennoch wird jeder gebraucht, um sicherzustellen, dass die Funktionen nützlich sind und unseren Kunden einen Mehrwert bieten."
Im Worst Case verwandelt sich das, was ursprünglich als Kollaboration geplant war, in ein eher toxisches, internes Umfeld, wie Sutyagin weiß: "In großen Unternehmen ist es üblich, ein ganzes Jahr lang hart zu arbeiten, nur damit das Projekt am Ende als unwichtig eingestuft wird oder sein Impact zu gering ist. Man sollte Projekte also sorgfältig auswählen."
- Produkt- & Projektmanager
Ganz generell schätzen es Entwickler nicht so besonders, wenn ihnen jemand erklären will, wie sie ihren Job zu machen haben. Weil Produkt- und Projektmanager aber oft Entwickler-Teams leiten, passiert genau das. Das kann zu Unstimmigkeiten führen. <br /><br /> Dazu hat auch David Fox von devRant eine Meinung: "Letztendlich ist es in den meisten Fällen so, dass Produkt- und Projektmanager in irgendeiner Art und Weise die 'Besitzer' von Projekten und Prozessen sind, ohne dabei die täglichen Herausforderungen und Probleme der Softwareentwickler zu kennen." - Chefs
Genau wie die Produkt- und Projektmanager sind auch Development oder Engineering Manager dafür zuständig, Teams von Entwicklern zu führen und sicherzustellen, dass Projekte rechtzeitig und unter Budget fertiggestellt werden. <br /><br /> "In einigen Unternehmen können Situationen entstehen, in denen der Chef gleichzeitig Mitglied des Entwicklerteams ist. Insbesondere wenn der Chef vorher selbst Entwickler war und nach einer Beförderung zum Chef wird, ist Konfliktpotenzial gegeben", merkt Fox an. - Recruiter
Softwareentwickler müssen gar nicht selbst aktiv nach einem Job suchen, um von Recruitern und Headhuntern belästigt zu werden - dem Fachkräftemangel sei Dank. Es dürfte sehr schwer sein, einen Developer zu finden, der noch nicht in die Fänge der Recruiter geraten ist. <br /><br /> David Fox sieht insbesondere die Hartnäckigkeit der Recruiter als Problem: "Sie rufen an, sie e-mailen und sie lassen Dich einfach nicht in Ruhe - selbst dann, wenn Du gar keinen Job suchst. Und selbst wenn man eine Anstellung sucht, neigen viele Recruiter dazu, irrelevante Jobangebote zu machen oder Stellen zu empfehlen, deren Profil überhaupt nicht passt - etwa einen Job am anderen Ende des Landes, obwohl man gar nicht bereit ist, umzuziehen." - Dokumentation
Gibt es keine Dokumentation, beschweren sich die Softwareentwickler. Wenn es zuviel ist, beschweren sie sich und wenn sie die Dokumentation selbst erledigen müssen, auch. Sogar über die Art und Weise, wie andere Leute die Dokumentationsaufgabe bewältigen, beschweren sich die Entwickler. <br /><br /> An dieser Stelle seien sich auch endlich einmal alle Entwickler einig, wie Fox betont: "Softwareentwickler wollen eine ausführliche, gut geschriebene und akkurate Dokumentation - aber selber machen wollen sie es nicht." - Meetings
Meetings sind nicht nur für alle anderen ein Problem, sondern auch für Softwareentwickler. Insbesondere dann, wenn es sich um völlig unnötige, zeitraubende und stinklangweilige Zusammenkünfte handelt. Wie Fox erzählt, sind inzwischen auch Devotionalien mit der Aufschrift 'I survived another meeting that should have been an email' erhältlich. - Coworking Spaces
Mit dem Aufstieg der Agilität sind flache Hierarchien, Collaboration und Teamwork zum Alltag in Unternehmen geworden - insbesondere für Software-Development-Teams. Gerade die können ihre Arbeit in einem Großraumbüro aber meist nur schwer oder gar nicht bewältigen - sagen zumindest die Zahlen von devRant. <br /><br /> David Fox erklärt: "Es gibt einfach zuviel Ablenkung: die Kollegen unterhalten sich, Meetings werden verpasst, Telefonanrufe überhört. Es gibt auch eine Vielzahl an Beschwerden über den Kaffee im Büro und andere Annehmlichkeiten - oder eben das Gegenteil davon." - Kollegen
Selbsterklärend: Jeder hat wohl einen Kollegen oder eine Kollegin, den beziehungsweise die er ganz besonders schätzt. Nicht. <br /><br /> Im Fall der Softwareentwickler ist die Abneigung gegenüber Kollegen meist entweder in der mangelnden Qualität ihrer Arbeit oder einem völlig aus dem Leim gegangenen Ego begründet, gibt David Fox preis. - Vorstellungsgespräche
Wenn ein Softwareentwickler auf Jobsuche ist und zum Bewerbungsgespräch geladen wird, gibt es danach meist auch etwas zu meckern: <br /><br /> "Dumme Fragen oder die Lösung von völlig praxisfernen Aufgaben im Bewerbungsgespräch stoßen den Developern ebenso sauer auf, wie ein Gesprächspartner, der überhaupt nicht weiß, was ein Entwickler eigentlich genau macht", so Fox. - Fehler & Bugs
Softwareentwickler haben tagein, tagaus mit Fehlern und Bugs zu tun. Deswegen glaubt devRant-Gründer Fox, dass Entwickler in dieser Sache anders ticken: <br /><br /> "Die meisten anderen Probleme erfahren keine positive Auflösung, aber Bugs und Fehler sind behebbar und das fühlt sich gut an." - Quality Assurance
Die Quality Assurance (QA) - oder Qualitätssicherung - ist ein kritischer Teil der Softwareentwicklung. Dennoch bemängeln Softwareentwickler an QA-Experten häufig dieselben Dinge wie an Produkt- und Projektmanagern, so Fox. <br /><br /> "Die Qualitätssicherung bekommt das Produkt oder Projekt in die Hände, wenn die Entwickler es abgeschlossen haben. Deswegen verstehen sie oft nicht, welche Hürden und Workarounds die Entwickler im Entstehungsprozess bewältigen mussten. Offensichtlich kommt es auch regelmäßig vor, dass QA-Leute die Entwickler bitten, Bereiche nochmals zu überarbeiten, die sie auch selbst bewältigen könnten."
4. Work-Life-Balance vs. Multitasking-Marathon
Man kann über die Softwareentwicklung denken, wie man will - Fakt ist aber, dass sie nicht mit der Arbeit an einem Fließband vergleichbar ist: "Softwareentwicklung eignet sich gut für Freiberufler und Remote Worker", meint Guarascio. "Die Freiheit, von jedem Ort der Welt aus an einer Vielzahl von Projekten zu arbeiten, ist für viele Developer sehr verlockend."
Diese Flexibilität hat sich im Laufe der letzten Jahre weiter erhöht. So berichtet etwa Tina Liu, leitende Softwareingenieurin beim Healthcare-Unternehmen LeanTaaS, dass sie die Freiheit hat, sich den Tag nach Belieben einteilen zu können:
Aber auch wenn es schön ist, keinen strikten 9-to-5-Zeitplan befolgen zu müssen, kann der Developer-Job extrem belastend sein, wie Grunwald verdeutlicht: "Softwareentwickler haben ein hohes Arbeitspensum. Sie jonglieren mit einer überwältigenden Anzahl von Projekten und springen ständig von einer Aufgabe zur nächsten. Dazu kommen Überstunden auf regelmäßiger Basis und unter Umständen auch zu unüblichen Zeiten."
Auch Burak Özdemir, Gründer von Character Calculator, zeichnet ein mitunter trostloses Bild: "Als Entwickler sitzen wir in vielen Fällen unzählige Stunden vor Bildschirmen und haben dabei wenig menschliche Interaktion. Dazu kommt das Gefühl, dass die Arbeit nie wirklich abgeschlossen ist, weil es immer etwas Neues zu lernen oder etwas zu verbessern gibt. Auch die Ergonomie kann dabei zur Herausforderung werden, wenn man den ganzen Tag über eine Tastatur gebeugt ist."
Letzteres ist auch für die flexibilitäts- und freiheitsliebende Entwicklerin Liu ein Pain Point im wahrsten Sinne des Wortes: "Wenn es etwas gibt, das ich hasse, dann ist es, den ganzen Tag auf den Computer starren zu müssen. Das ist anstrengend für die Augen sowie die Nacken- und Rückenmuskeln - lässt sich aber nicht wirklich vermeiden. Deshalb erinnere ich mich oft selbst daran, eine Pause einzulegen und einige Übungen zu machen, um meine Augen und Muskeln zu entspannen."
5. Traumjob vs. Realität
Letzten Endes wird ein Großteil der Erfahrungen, die Sie als Entwickler sammeln, nicht auf Allgemeinheiten beruhen, sondern davon abhängen, wo genau Sie landen. Das kann erheblichen Einfluss aufs persönliche Glück und Wohlbefinden nehmen, wie Jared Ledbetter, CEO des Webdesign-Spezialisten Carbon Digital, weiß:
Chandzamarda berichtet über ähnliche Frustrationen und merkt an: "Es ist anstrengend, Mitarbeiter oder Manager zu haben, die nicht vorausschauend denken. Bei ihnen geht es nur um das Hier und Jetzt."
Allerdings ist die Softwareentwicklung eine sehr gefragte Disziplin, was Vorteile für die Developer birgt, wie Gatkowski konstatiert: "Der unbestreitbare Vorteil ist die Tatsache, dass es sehr einfach ist, einen neuen Job zu finden." (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.