FrontOps – Eine neue Modeerscheinung, oder?

Ich bin über den Begriff FrontOps gestolpert. Die Analogie zu DevOps ist offensichtlich, nur was soll das genau heißen? Und brauche ich das?

4 Minuten
Hero image

Die Herausforderung

In crossfunktionialen Teams arbeiten Menschen mit unterschiedlichem Wissen und Schwerpunkten zusammen. Mindestens eine:r wird den Schwerpunkt auf Frontendtechnologien wie HTML, CSS und JavaScript gelegt haben – sofern Webapplikationen als Arbeitsergebnis für das Team anstehen.

In vielen Teams, in denen ich involviert war, endete die Verantwortung für den Code mit dem Commit. Engagierte Frontendler:in kümmerten sich zumindest noch um die scripts in der Package JSON und nutzen Git-Hooks, um vor dem Commit und Push sicherzustellen, dass Qualitätsstandards eingehalten werden.

Bis der Code für den (hoffentlich glücklichen und zufriedenen) Kunden verfügbar ist, bedarf es einiger Schritte, die meiner Meinung nach ebenfalls in die Verantwortung des Frontendentwicklers fallen. Angesichts des Zoos an Tools und Möglichkeiten kristallisiert sich dafür eine neue Begrifflichkeit heraus: FrontOps.

Die (neuen) Aufgaben von FrontOps

Als moderne, verantwortungsvolle Entwickler:in soll die Blackbox nach dem Commit aufgebrochen werden und in den eigenen Aufgabenbereich fallen. Darunter fallen Dinge wie die folgenden, um nur einige zu nennen:

  • Build Pipeline z. B. in Form von GitHub Actions
  • Bereitstellung und Optimierung eines Dockerfiles für die Containerisierung
  • Dokumentieren und Pflegen von Environment-Variablen
  • Testpflege, Ausführung und Ergebnisdokumentation in der Build Pipeline

Daraus leitet sich ein umfassendes Profil für die Rolle FrontOps ab:

  • Expertenwissen im Bereich Frontend.
  • Grundlagenverständnis im Bereich Backend bezüglich Schnittstellen und effektive Kommunikation zwischen Client und Server.
  • Lern- und Migrationsbereitschaft im Hinblick auf Frontend-Tools, um State-of-the-Art zu bleiben.
  • CI/CD (DevOps-)Wissen für die Build Pipeline des Frontend-Codes.
  • Technischen Support für die Tool-Chain leisten.
  • Monitoring und Analyse für UX, um frühzeitig Fehler und Probleme zu erkennen.

Die komplexeren (alten) Aufgaben von FrontOps

Ich möchte an dieser Stelle eine Lanze für die Frontendentwicklung brechen. Oft wird diese Disziplin von anderen Entwickler:innen belächelt. Alleine der Witz "there is a new JS library every minute" zeigt deutlich, mit welcher Schnelllebigkeit im Bereich Frontend umgegangen werden muss.

Im Rahmen eines Projekts passende (langfristige) Entscheidungen richtig zu treffen, ist eine enorme Herausforderung. Mit den Tools wachsen die Möglichkeiten, wie etwas umgesetzt werden kann. Dabei gilt es gleichzeitig, das Backend in Verbindung mit der UX zu verstehen, um Performance-optimierte Datenanfragen in der API zu ermöglichen – weil seien wir ehrlich: Am Ende soll das Frontend immer möglichst schnell, verlässlich und intuitiv bedienbar sein.

Die neuesten Entwicklungen gehen vom monolithischen Frontend in Richtung Mikro-Frontend. Ein Trend, der im Backend bereits üblich ist und für größere Frontend-Anwendungen sinnvoll ist. Ich meine, Frontends stehen in der Komplexität dem Backend nichts nach. Es ist einfach nur anders – ich würde gerne einem unbelehrbaren Backendentwickler dabei zusehen, wie er sicherstellt, dass die Funktionalität über etliche Browser hinweg auf allen Endgeräten, Mobil wie Desktop, in sämtlichen Auflösungen responsiv gewährleistet wird. Und dies in Form von automatisierten Tests sicherstellt.

Fazit

Die neue Rolle FrontOps ist nicht so neu, wie sie im ersten Moment klingen mag. Es ist die logische Konsequenz eines selbstorganisierten, agilen Teams, das die alten klassischen Rollen mit Blick über den Tellerrand weiterentwickelt.

So wird ein reiner Backendentwickler mit in die Verantwortung von Operations gezogen und erhält die neue Rollenbezeichnung DevOps. Weiterführend gilt es für die Rolle DevOps, Verständnis für das Frontend zu entwickeln. Gleichzeitig muss die Frontendentwicklerrolle erweitert werden und Verantwortung für das Deployment und den Betrieb übernehmen. Die früheren reinen Operationsrollen können ohne Wissen darüber, was sie betreiben, keine sinnvollen Lösungen in Richtung Stabilität, Resilienz, Skalierung oder Performance erstellen.

Dank meiner Arbeit als Full-Stack-Entwickler habe ich Einblick in alle drei Bereiche. Die Vielzahl an Tools in Verbindung mit den unterschiedlichen Anforderungen je Projekt macht genau den Reiz meines Berufs aus. Es wird nie langweilig und es gibt jeden Tag was zu lernen.

call to action background image

Abonniere meinen Newsletter

Erhalte einmal im Monat Nachrichten aus den Bereichen Softwareentwicklung und Kommunikation gespikt mit Buch- und Linkempfehlungen.