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.
FANTASIE UND WIRKLICHKEIT
Ein Einzelfall? Definitiv. “Softwareentwickler, die kaum oder gar nicht arbeiten, sind Fantasiegebilde. In Wirklichkeit geht es in diesem Job dann doch etwas anders zu”, so äußert sich Stefan Luchs, Senior Developer bei der InterFace AG.
In den meisten Firmen sind Softwareentwickler für die Programmierung, Wartung und Renovierung von Applikationen zuständig. Der Kunde testet anschließend die Software, und wenn Fehler – im Fachjargon: Bugs – auftreten, dann müssen diese auch schnellstmöglich behoben werden. So erhält man als Entwickler regelmäßig Feedback darüber, wie die Software eingesetzt wird und wie sie sich im Alltag bewährt.
Dass diese Arbeit keineswegs in dunklen Kellern stattfindet, versteht sich von selbst. Das Gegenteil ist der Fall: Softwareentwickler arbeiten vermehrt in offenen, lichtdurchfluteten Gemeinschaftsbüros und führen ab und an ein Schwätzchen mit den Kollegen. Gut, zugegeben: Viele Entwickler bevorzugen große Schreibtische, da sich dort nicht nur mehrere Bildschirme, sondern auch viele weitere Arbeitsmaterialien unterbringen lassen. Gewiss ist auch: Softwareentwickler sitzen viel am Rechner, aber bisweilen diskutieren sie mit Kollegen, skizzieren ihre Ideen auf Whiteboards oder laufen beim Denken auf und ab. Das Klischee vom introvertierten “Nerd” findet man dann eher doch nur im Fernsehen.
Vielmehr verhält es sich so: “Softwareentwickler sind alles andere als Einzelgänger. Entwickler sind Team-Player. Müssen sie sein. Heutzutage entwickelt man neue Software vermehrt agil, also immer ein Stück weit in sogenannten Sprints. Das hierbei entstandene, fertige Softwareelement wird dann in Abstimmungs- und Testphasen mit dem Kunden geprüft, bevor an der Software weitergearbeitet wird.”
Die Vorgehensweise, die der Entwickler der InterFace AG, Stefan Luchs hier beschreibt, nennt sich Scrum. Diese Bezeichnung steht für ein Vorgehensmodell des Projekt- und Produktmanagements – insbesondere zur agilen Softwareentwicklung. Hier arbeiten Entwickler in kleinen Teams zusammen – in einem vorher festgelegten Rhythmus (Sprints). Die neue Software wird so Stück für Stück entwickelt, dem Kunden präsentiert und immer weiter verfeinert. Soviel zum Klischee, Softwareentwickler wären Einzelgänger.
TYPISCHER ALLTAG?
Softwareentwickler arbeiten also im Team und sind stets bemüht, den Änderungen und Wünschen der Kunden zufriedenstellend nachzukommen. Nur die Lorbeeren für den eigenen Entwicklererfolg, die heimsen oft andere ein. Bei Übergabe, Inbetriebnahme und Wartung der neuen Software treten die jeweiligen Projektleiter und Consultants ins Rampenlicht und kassieren das Lob dafür, dass die Anwendung des Entwicklers den Wünschen des Kunden vollstens entspricht.
Als typischer Softwareentwickler plant, entwirft und setzt man i.d.R. laufend neue, innovative Anwendungen um. Aber in diesem Job geht es auch um Produktpflege, Maintenance und das Warten alter Systeme. Besonders der Bereich Softwarerenovierung, also die gezielte, iterative Weiterentwicklung und anschließende Wartung älterer bzw. bereits bestehender Applikationen, gewinnt zunehmend an Relevanz. Trotzdem gilt: Wenn die Kosten-Nutzen-Rechnung gegen eine Renovierung alter Systeme spricht, dann fällt auch die Neuentwicklung in den Zuständigkeitsbereich des Softwareentwicklers. “Ein kreatives und gleichzeitig herausforderndes Tätigkeitsfeld”, räumt Luchs ein.
Einen typischen Arbeitstag für Entwickler gibt es jedenfalls nicht. Ein typischer Programmierer entwickelt zwar laufend neue Software, doch noch vieles mehr. Softwareentwickler suchen nach Lösungen für Probleme im Internet. Sie testen das, was sie neu programmiert haben. Sie finden Bugs und versuchen, diese zu fixen. Sie dokumentieren ihre Entwicklungen und benutzen eine Vielzahl von Tools.
Wenn überhaupt, dann sieht ein typischer Softwareentwicklertag so aus: Der Programmierer kommt irgendwann ins Büro, geht irgendwann zum Mittagessen und macht irgendwann Feierabend – so wie jeder andere Mitarbeiter auch. Was dazwischen passiert, hängt davon ab, was es gerade so zu tun gibt und welche “Störungen” überraschenderweise dazwischenfunken.
Der Entwickler der Interface AG, Stefan Luchs, resümiert hierzu: “Ob es Red Bull gibt oder nicht, interessiert mich und meine Kollegen eher wenig. Vielmehr achten wir darauf, dass wir freitags pünktlich Feierabend machen, um unsere wöchentliche Lan-Party nicht zu verpassen.” Ob dabei Singstar oder World of Warcraft “gedaddelt” wird? Das ist dann wohl Geschmackssache.
Autor: Redaktion InterFace AG
Bildquelle: Pexels, Shutterstock, commons.wikimedia
Veröffentlicht: 19. Juni 2017