Menschen wie Maximilian Zuleger ist zu verdanken, dass neue Features schnell und vor allem verlässlich ins Fahrzeug kommen. Zuleger ist Teil des Teams für Site Reliability Engineering (SRE) bei Audi in Ingolstadt. Die Software-Ingenieure sorgen dafür, dass etwaige Probleme behoben und Operations-Aufgaben automatisiert werden. Das Konzept des Site Reliability Engineering wurde ursprünglich vom Google-Engineering-Team entwickelt, um den immer komplexer werdenden Systemen Herr zu werden. Wobei Standardisierung und Automatisierung zwei wichtige Aufgaben von Site-Reliability-Ingenieuren ist. Klassischerweise sind SRE-Teams für die Bereitstellung, Konfiguration und Überwachung von Code sowie deren Verfügbarkeit, Latenz, das Änderungsmanagement, Notfallreaktion und Kapazitätsmanagement von Services in der Produktion zuständig.
Welche Aufgaben hat ein Site Reliability Engineer?
„Als Reliability Engineer unterstütze ich unsere Entwicklerteams bei der Automatisierung, Architektur und Verbesserung der Systemausfallsicherheit“, erklärt Zuleger. Kurzum: Ein Job mit hoher Verantwortung. Und einer, bei dem man nicht allzu nerdig und menschenscheu sein sollte. Was auf den 29-Jährigen studierten Informatiker nicht zutrifft: Er engagiert sich in seiner Freizeit sozial, jammt mit Bass oder Gitarre in Bands, spielt Volleyball und trainierte darin einst die Uni-Mannschaft. Ein geborener Teamplayer. Was ihn für den Job, neben seinen Hard-Skills in Sachen Coding, prädestiniert.
„Bei der Softwareentwicklung agieren wir als Produktteam, das sich von der Konzeptionierung, über die Entwicklung, bis hin zum Betrieb, um ein Software-Produkt kümmert“, berichtet Zuleger. „Darüber hinaus bin ich Enabler der Teams. Hier gehören Kommunikationsaufgaben als Ambassador und IT-Consultant dazu wie auch die Ausbildung von Junior-Entwicklern und -Entwicklerinnen.“
Der Berufsalltag des Site Reliability Engineers
Meist teilen sich Site Reliability Engineers ihre Zeit zwischen Operations-Aufgaben und Projektarbeit auf. Im Idealfall, wie es das von Google formulierte Konzept vorsieht, sollte ein Site Reliability Engineer maximal die Hälfte seiner Arbeitszeit für Operations aufwenden. Die andere Hälfte – und gern mehr – sollte für Entwicklungsaufgaben, das Skalieren des Systems und das Implementieren der Automatisierung verwendet werden. Stellt sich beispielsweise heraus, dass sich ein SRE wiederholt mit einem Problem auseinandersetzen muss, dann sollte die Lösung dessen automatisiert werden – was sein Job ist.
Zuleger arbeitet im Software Development Center (SDC), das Audi im Jahr 2019 gegründet hat, um die interne Softwareentwicklung zu stärken. Zuleger: „Der Fokus liegt dabei auf systemkritischen Produkten, die ein langfristiges und umfangreiches Knowhow erfordern. Dementsprechend ist auch unser Berufsalltag ausgelegt.“ Gearbeitet wird nach den Prinzipien des Extreme Programmings (XP). Hat nichts mit Windows zu tun, dafür mit einer besonderen Arbeitskultur: „XP basiert auf Werten wie Kommunikation, Mut und Respekt, nicht so sehr auf Prozessen“, erklärt Zuleger. „Gerade Kommunikation ist in unserem Job essenziell.“ Deshalb startet das Team mit einem gemeinsamen Standup in den Tag – zunächst mit dem gesamten SDC, im Anschluss in den jeweiligen Produktteams.
Site Reliability Engineers bauen auf Partnerarbeit
„Das Besondere ist für mich vor allem die Methodik, nach der wir zusammenarbeiten“, sagt Zuleger und verweist auf XP, zu dessen Grundfesten das Pair Programming gehöre: „Hier arbeiten wir zu zweit an einer Aufgabe. Jeden Tag mit jemand anderem. Zwei Bildschirme, zwei Keyboards, zwei Gehirne, ein Rechner.“ Eine Arbeitsweise, die enorme Vorteile biete: Man lernt voneinander und coacht sich gegenseitig. „Darüber hinaus können wir so Produktionscodes direkt reviewen“, erklärt Zuleger. Einer schreibt den Code, einer denkt voraus und unterhält sich dabei mit der oder dem anderen. „So kommen wir gemeinsam schneller ans Ziel. Das macht für mich meine Arbeit besonders spannend und abwechslungsreich.“
Ebenfalls spannend für Zuleger ist das Test Driven Development (TDD): „Bevor auch nur eine Zeile Produktivcode geschrieben wird, werden zuerst und ohne Ausnahme Tests geschrieben.“ Diese Checks testen Edge-Cases ab und führen zu einer qualitativ hochwertigeren Implementierung, ist der Site Reliability Engineer überzeugt. Zuleger, seit fünf Jahren in Diensten der Ingolstädter, hat bereits eine Eigenentwicklung innerhalb des Volkswagen-Konzerns etabliert und das Team des Site Reliability Engineerings mit aufgebaut, was seither beständig wachse.
Diese Qualifikationen benötigt ein Site Reliability Engineer
Aber wie wird man SRE und wie wächst man in diesen Job hinein? So einzigartig die Rolle erscheint, erfordert sie keine spezielle Ausbildung. Es genügen ein Hintergrund als Softwareentwickler mit zusätzlicher Operations-Erfahrung, als Systemadministrator oder eine IT-Operations-Rolle mit Softwareentwicklungsfähigkeiten. Das heißt auch: „Fundierte Kenntnisse durch eine Ausbildung oder ein Studium sowie ein breites Wissen im Bereich der Softwareentwicklung sind Grundvoraussetzung“, unterstreicht Zuleger. „Noch wichtiger allerdings ist der menschliche Aspekt, damit wir auf einer Ebene zusammenarbeiten können.“ Es komme auf den inneren Antrieb an. Im Team innovative Produkte zu entwickeln.
All das werde bei Audi im Auswahlverfahren des Software Development Centers abgecheckt: Wer sich bewirbt und zum Kennenlernen eingeladen wird, wird dabei auch gleich auf das Team treffen. Zuleger: „Wir starten mit einer einstündigen Coding-Challenge, sowie einer kleinen Softwarearchitekturaufgabe. Wenn es fachlich passt, geht es weiter mit einer Pair-Programming-Session. Dort arbeiten wir einen Vormittag zusammen. So können beide Seiten beurteilen, ob wir zusammenpassen.“
Das Reinwachsen in den Job sei dann gar nicht mehr schwer. Durch die vielen Pair-Programming-Sessions, kann man von guten Programmiererinnen und Programmierern lernen und sich schnell weiterentwickeln. Zuleger: „Damit ist ruckzuck eine neue Programmiersprache gelernt.“ Die möglicherweise den Grundstein für eine Laufbahn als Site Reliability Engineer legt.