Ein Tag im Leben eines DevOps Engineer

Haben Sie sich schon mal gefragt, wie es wäre, Softwareentwickler, Detektiv, Coach und Hausmeister gleichzeitig zu sein? Dennis Szczepanski weiß es ziemlich genau. Seit Februar 2020 arbeitet Dennis als DevOps Engineer in der Mautabteilung bei DKV Mobility. Für ihn vereint die Rolle des DevOps Engineers viele Elemente der genannten Berufe. Aber fangen wir vorne an: Was genau macht ein DevOps Engineer eigentlich?
Das Wort „DevOps“ (Development Operations = Entwicklung & Betrieb) bezieht sich eher auf eine allgemeine Denkweise als auf eine spezifische Rolle. Es beschreibt Softwareentwickler, die sich nicht nur mit dem Schreiben von Code auseinandersetzen, sondern auch damit, wie sie ihre Software betreiben: Wie können Ausfallzeiten für Kunden vermieden werden? Was passiert, wenn ein Fehler auftritt? Wie lassen sich Entwicklungsprozesse verbessern? Das sind nur einige der zentralen Fragen im Arbeitsalltag eines DevOps Engineers.
Da sowohl Entwicklung als auch Betrieb riesige Themenfelder mit unzähligen Spezialisierungen sind, verschwimmt die Definition schnell. Wenn man Entwicklung und Betrieb als zwei Enden einer Linie betrachtet, befindet sich der DevOps Engineer irgendwo dazwischen. Für unseren Newsroom wirft Dennis Szczepanski einen Blick auf die Mitte dieses Spektrums und teilt mit uns, wie ein Tag im Leben eines DevOps-Engineers tatsächlich aussieht.
Dennis Szczepanski, DevOps Engineer für das Maut-Produktteam bei DKV Mobility
"Hey! Ich bin Dennis, 27 Jahre alt, Vater einer kleinen Tochter, die mein ganzer Stolz ist, und ein typischer Nerd. Von Büchern über Games bis hin zu Technologie – ich liebe alles davon. Aber kommen wir zur Arbeit.
Normalerweise fange ich recht früh an, so gegen 7 Uhr. Ohne einen Kaffee bin ich allerdings kaum ansprechbar. Der frühe Start hilft mir, mich auf Themen zu konzentrieren, die mir wichtig sind: die Optimierung unserer Anwendungen, das Erstellen von Alarmen für bisher unvorhergesehene Szenarien oder die bessere Ressourcennutzung. Das sind Aufgaben, die ich am liebsten erledige, bevor mein Team anfängt und dringlichere Themen aufkommen.
Ich bin Teil des Maut- Produktteams und das ist eine Sache, die ich an DKV Mobility besonders schätze: In vielen Unternehmen gibt es reine Entwicklungsteams. Bei uns sind alle für ihre Anwendungen verantwortlich. Das macht die Zusammenarbeit viel einfacher. Unsere Entwickler denken nicht nur an den Code, sondern auch an die Auswirkungen auf das Gesamtsystem, erstellen nützliche Metriken und reagieren proaktiv auf Alarme!
Um 9 Uhr beginnt unser tägliches Team-Meeting. Wir besprechen, was wir gestern geschafft haben und was heute ansteht. Danach verläuft mein Tag oft ganz unterschiedlich. Meistens geht es um Aufgaben, die das Team mit seinen aktuellen Zielen erreichen muss, oder um Aufgaben, von denen das Team (oder sogar mehrere Teams) langfristig profitieren wird.
Das können beispielsweise Änderungen daran sein, wie unsere Anwendungen mit unserer Infrastruktur interagieren, welche aus mehreren Kubernetes-Clustern besteht. Es kann sich aber auch Maßnahmen handeln, die darauf abzielen, die Entwicklererfahrung bei der Erstellung ihrer Anwendungen zu verbessern. Ein aktuelles Beispiel: Wir haben Standards für unsere Anwendungen, und ich arbeite an einem „Master-Projekt“, das diese Standards abbildet. Die Herausforderung: Da sich die Standards ständig weiterentwickeln, müsste dieses Master-Projekt automatisch Updates an alle anderen Projekte weitergeben können. Ich habe dazu schon eine Idee.
An anderen Tagen stehen der Betrieb und die Überwachung unserer Services im Fokus. Wenn große Features veröffentlicht werden, überwache ich unsere Umgebungen auf Anomalien, um bei Bedarf Anpassungen vorzunehmen. Außerdem kommen Entwickler oft auf mich zu, wenn sie bei ihren Pipelines oder im Code auf unerwartete Probleme stoßen. Diese reichen von einfachen Fehlern, die schnell behoben sind, bis hin zu stundenlanger Detektivarbeit: tiefes Eintauchen in Logs, Metriken oder sogar in die laufende Anwendung. Ein Beispiel: Vor einiger Zeit gab es ein Problem, das nur in 1 % der Fälle auftrat. Mithilfe von Monitoring und Tracing-Daten fanden wir heraus, dass es immer dann passierte, wenn ein bestimmter Prozess exakt 25 Sekunden dauerte. Kürzer oder länger funktionierte es. Die Ursache war eine einfache Fehlkonfiguration, die wir schnell beheben konnten. Solche Aufgaben sind oft ungeplant, aber essenziell, um unsere Systeme stabil zu halten und weiterzuentwickeln.“
Ich beende meinen Arbeitstag meistens gegen 16 Uhr. Den Nachmittag verbringe ich mit meiner Tochter und meiner Frau. Abends lese ich gerne, spiele Games oder arbeite an persönlichen Programmierprojekten.
Wie sich vielleicht bemerkbar gemacht hat, ist jeder Tag anders als der vorherige – und ich trage oft mehrere Hüte gleichzeitig. Mal bin ich der stille Hausmeister, der alles am Laufen hält, mal der Entwickler, der neue Lösungen vorantreibt. Genau das macht meinen Job so spannend. Ich hoffe, dieser kleine Einblick hilft, die Rolle eines DevOps Engineers besser zu verstehen – trotz des eher undefinierten Namens.“