Ein Anwendungsentwickler ist verantwortlich für die Entwicklung, Programmierung und das Testen von Softwareanwendungen für Computer oder mobile Geräte. Sie arbeiten nach den Vorgaben der Auftraggeber und erstellen benutzerfreundliche, effiziente Anwendungen, die spezifische Funktionen abdecken. Die Arbeit beinhaltet nicht nur das reine Entwickeln der Software, sondern auch die Installation, Inbetriebnahme, Schulung der Nutzer, sowie regelmäßige Updates und Wartung. Zusätzlich bieten sie IT-Support und Beratung, auch im Bereich der IT-Sicherheit.
Inhalt
Meine akademische Laufbahn habe ich mit einem Maschinenbaustudium in Köln begonnen, wechselte dann jedoch nach Düsseldorf, um Biologie zu studieren. Meine Studienordnung zwang mich damals, ein naturwissenschaftlich-technisches Nebenfach zu belegen – und meine Wahl fiel auf Informatik. Dieses Fach verknüpfte ich später thematisch mit meinem Schwerpunkt und entwickelte ein Telemetriegerät zur Erfassung ökophysiologischer Messdaten. Hierbei zeigte sich ein Grundsatz, der sich durch mein komplettes berufliches Leben und als Anwendungsentwickler bzw. Softwareentwickler ziehen sollte – dass neben dem rein fachlichen Wissen auch Erfahrungen aus anderen Lebensbereichen hilfreich und notwendig sein können. Konstruktives Denken aus dem Bereich Maschinenbau, analytisches Denken durch das Studium biologischer Prozesse und eben die Inhalte aus der Informatik.
Durch die Auseinandersetzung mit IT-Fragen im Biologiestudium bin ich letztlich eher zufällig in die Softwareentwicklung gerutscht. Ich hatte zwar nicht promoviert, dank meiner bisherigen Erfahrungen war ich aber ein „Mann der Stunde“, denn der „New Economy Hype“ gegen Ende meines Studiums ging mit einer großen Nachfrage nach IT-Wissen bzw. Programmierfähigkeiten einher. Und so wurde aus dem Naturwissenschaftler mit IT-Background ein IT-Experte mit naturwissenschaftlichem Hintergrund. Nach nur einem Vorstellungsgespräch stieg ich in die Anwendungsentwicklung ein. Das Geschäftsfeld: Forderungsmanagement, mit Schwerpunkt auf automatisierten Mahnverfahren. Jedoch waren meine wirtschaftswissenschaftlichen Erfahrungen zu diesem Zeitpunkt noch stark ausbaufähig.
Das während meiner Anstellung entwickelte System zur Schuldenverwaltung ist für mich bis heute, aus technischer Sicht, die beste Software, die ich je geschrieben habe. Sie dient mir bei strukturellen Überlegungen immer noch als Referenz. Möglich war das durch einen hervorragenden Projektleiter. Von diesem habe ich sehr viel gelernt und aus diesem Grund bin ich ihm heute noch dankbar.
Nach vier Jahren war der Hype vorbei, was bedeutete, dass die Firma so leider nicht weiter bestehen konnte. Was blieb, war eine Software, die bis zum heutigen Tag aktiv im Einsatz ist und Erfahrung, die mir schnell wieder eine neue Anstellung lieferte. Fortan beschäftigte ich mich mit einem System zur Betriebseinsatzplanung im Schienenverkehr und schrieb eine Software für die Fahrplanung des Schienennahverkehrs in Berlin und Hamburg. Praktischerweise konnte ich in diesem Tätigkeitsbereich meine ingenieurwissenschaftliche Denkweise sehr gut einsetzen.
brutto pro Jahr
Das Durchschnittsgehalt als Anwendungsentwickler beträgt 52.484 €. Die Gehaltsspanne in diesem Berufsfeld reicht von 45.887 € bis 58.225 € .
Ein erneuter Jobwechsel vier Jahre später brachte mich zu meinen naturwissenschaftlichen Wurzeln zurück. 2009 wechselte ich in ein führendes Pharmaunternehmen und arbeite dort seither als Anwendungsentwickler im Bereich medizinische Diagnostik. Aufgrund meiner langjährigen Berufserfahrung werde ich inzwischen als Principal Software Engineer eingestuft. Im Rahmen meiner Tätigkeit habe ich neben einer großen Entscheidungsfreiheit auch die entsprechende Verantwortung zur Gestaltung und Lösung von Fragestellungen rund um den Betrieb medizinischer Labore.
Rückblickend kann ich sagen, dass es weniger die fachlichen als die persönlichen Qualifikationen waren, die mich zu meinem jetzigen Beruf geführt haben. Sicherlich ist ein naturwissenschaftlicher Hintergrund für die Entwicklung von Laborinformationssystemen von Vorteil. Dadurch sind mir die Begrifflichkeiten aus der klinischen Analytik natürlich zum großen Teil vertraut. Jedoch ist diese Wissenstiefe nur in wenigen ausgewählten Kundenanfragen wirklich erforderlich. Faktisch sind die Erfahrungen aus der Entwicklung anderer, vergleichbar komplexer Systeme wie Schuldenverwaltung und Fahrplanung für mich heute wertvoller. Die grundlegenden Softwareprozesse sind bei aller Unterschiedlichkeit des Fachlichen oft sehr ähnlich.
Die Ausbildung als Naturwissenschaftler macht sich jedoch in der Analyse gegebener Kundenprobleme bezahlt. Hier geht es darum, einen konkreten „Real-Life-Prozess“ zu erfassen, zu analysieren, zu abstrahieren und dann in vereinfachter und wesentlicher Form digital wieder zu synthetisieren.
Meine typischen Aufgaben als Anwendungsentwickler bestehen in der planerischen Gestaltung neuer Softwareteile sowie der Abschätzung des Aufwands zur Umsetzung der Aufgaben.
Daneben gehört auch der sogenannte 3rd-Level-Support zu meiner täglichen Arbeit als Anwendungsentwickler, d. h. die Analyse und letztlich auch Behebung von Fehlern, die durch den normalen Kundenservice nicht bewerkstelligt werden können – ein sehr kreativer und spannender Prozess.
Um eine große Software über Jahre stabil zu halten, ist es weiterhin erforderlich, durch sogenannte Refactoring-Zyklen dafür zu sorgen, dass die bestehenden Softwareteile nach einem Release optimiert werden.
Die Neuentwicklung im Rahmen einer neuen Software oder einer Softwareversion mit erweiterten Features ist sicherlich der spannendste Teil der Arbeit als Anwendungsentwickler. Zusammengefasst werden bei der Entwicklung auf Anwendungsebene eine Liste wesentlicher Phasen durchlaufen:
Anschließend an die Neuentwicklung stehen am Ende eines Releases schließlich Testphasen an. Bei einem so hochkomplexen System sind Fehler trotz ausgiebiger Tests faktisch nicht zu vermeiden und müssen fortlaufend behoben werden. Danach folgen dann noch das Refactoring und die Maintenance. Dies sind wichtige Prozesse, bei denen das System nach einer Entwicklungsphase konsolidiert wird. Bei einem System, bei dem der Mensch – hier als Patient – im Mittelpunkt steht, sind Stabilität und Zuverlässigkeit von höchster Priorität.
Der gesamte Entwicklungsprozess ist dabei agil, das heißt SCRUM-Teams erarbeiten die angeforderten Funktionen in zweiwöchigen Sprints. Dabei entwickelt man die Software durch objektorientierte Programmiersprachen (Smalltalk, C#, Java). Diese eignen sich besonders zur Abbildung Realer-Systeme.
Die einzelnen Teams bearbeiten unterschiedliche Bereiche der Software. Diese sind in der Regel aus Fachleuten mit unterschiedlichen Fähigkeiten aufgebaut, um alle Aspekte einer gestellten Aufgabe bearbeiten zu können. Dies ist ein Vorteil eines großen Unternehmens, wo in der Regel für alle Aufgaben die entsprechenden Spezialisten (Analytiker, Programmierer, Test-Ingenieure) vorhanden sind. Daher ist Teamfähigkeit bei der täglichen Arbeit eine unabdingbare Voraussetzung.
Meine Kollegen* kommen aus den unterschiedlichsten Berufsfeldern. Die meisten Anwendungsentwickler* haben, wie man es erwarten würde, ein Informatikstudium absolviert. Im Bereich Requirements/Analyse findet man alle möglichen Ausbildungen, meist aber aus technischen Studiengängen oder Berufsausbildungen. Eine eher heterogene Landschaft mit vielen Quereinsteigern* herrscht in der Validation/Verifikation vor. Im Servicebereich schließlich finden sich viele Technische-Assistenten* aus den Bereichen Naturwissenschaft und Medizin, da diese im Kontakt mit den Kunden* das größte Verständnis für konkrete Problemsituationen haben.
Der kreative, schöpferische Prozess der Softwareentwicklung ist für mich als Anwendungsentwickler ungemein befriedigend. Über die Anforderung habe ich zwar nicht zu entscheiden, wohl aber über die Lösung. Diese kommt letztlich beim Kunden an und unterstützt ihn bei der Bewältigung seiner Aufgaben.
Während für viele Menschen Software noch etwas abstraktes, unsichtbares darstellt, ist die Software, die ein Programm-Feature realisiert, für den Anwendungsentwickler durchaus etwas Gegenständliches, das sich mit dem Werkstück eines Schlossers oder Schreiners vergleichen lässt. Letztlich bereitet mir auch die Arbeit mit den Kollegen große Freude. Im Team eine Lösung zu einem Problem zu erarbeiten macht einfach unfassbaren Spaß.
Wo gibt es aktuell die meisten Anwendungsentwickler Jobs?
Der Einstieg als Naturwissenschaftler in die Entwicklung von Wirtschaftssoftware ist sicherlich eher ungewöhnlich. Damals bin ich jedoch intuitiv dem Rat eines berufserfahrenen Freundes gefolgt, der mich einmal darauf hinwies, dass es beim Einstieg ins Berufsleben nach der Universität zunächst einmal wichtig ist, einen „Fuß in die Tür“ zu bekommen. Mit zunehmender Berufserfahrung sind gerichtete Entscheidungen dann einfacher zu treffen und umzusetzen. Das bedeutet nicht, dass man eine x-beliebige Stelle antritt, aber wenn man ein Angebot hat, das der angestrebten Richtung, in meinem Fall also der Arbeit als Softwareentwickler, sehr nahekommt, kann es gut sein, diesen Weg zunächst einmal zu beschreiten, auch wenn er im ersten Augenblick nicht wie der Traumjob aussieht.
Hätte ich zu Beginn meiner Ausbildung gewusst, dass ich eines Tages als Softwareentwickler arbeiten wollen würde, hätte ich mich vermutlich nicht für das Biologiestudium entschieden. Als „Quereinsteiger“ sind mir vielleicht nicht alle Positionen der IT-Branche zugänglich, wenn auch die Berufserfahrung am Ende vieles wettmacht.
Faktisch kann ich mir jedoch heute keine interessantere Tätigkeit vorstellen, als die, der ich in den vergangenen Jahren nachgegangen bin. Durch die Beschäftigung mit belebten Systemen im Studium habe ich darüber hinaus etwas gelernt, das für mich sehr wertvoll ist: Die Tatsache, dass selbst in der kleinsten Zelle eine Komplexität herrscht, die der Mensch bis heute technisch nicht erreicht, gibt mir im beruflichen Umfeld immer eine gewisse Gelassenheit und Selbstsicherheit.