Blog

Wer ist ein DevOps Engineer (und wie man einer wird)

Aktualisiert Oktober 21, 2025
7 Minuten

Vor ein paar Jahren war es noch nicht nötig, die Aufgaben eines DevOps genau aufzulisten. Die Branche war völlig anders; Softwareentwickler arbeiteten oft als Full-Stacks, Analytiker und sogar... Tester! Die Rolle eines DevOps war also eher intuitiv definiert. Aber mit dem sich entwickelnden IT-Markt begann sich die Situation zu ändern.

Es ist noch nicht lange her, dass Softwarehäuser über Aufgaben gestolpert sind, die ganz bestimmte Fähigkeiten erfordern - und damit begann der Aufstieg von DevOps.

Wer genau ist also ein DevOps?

Kurz gesagt ist ein DevOps für Automatisierungsprozesse zuständig - zum Beispiel für die Organisation von lokalen Umgebungen, Code-Repositories, Infrastruktur oder CI/CD-Pipelines. Derzeit ist ein DevOps eine vollwertige Projektrolle, genau wie ein Softwareentwickler oder QA-Spezialist.

Die Wahrscheinlichkeit ist groß, dass Sie schon einmal den Satz "DevOps ist eine Kultur, keine Rolle" gehört haben. Das bedeutet im Grunde, dass jedes Teammitglied in gewisser Weise ein DevOps sein sollte.

Aber das zu erreichen ist nicht einfach.

Cloud-bezogene Fähigkeiten und Automatisierungskenntnisse erfordern ein AUSSERGEWÖHNLICHES Verständnis von IaaC- und CI/CD-Tools oder des Lebenszyklus der Softwareentwicklung. Es handelt sich also um ein ganzes Skillset, das regelmäßig erweitert werden muss.

Wofür ist ein DevOps verantwortlich?

Wie wir bereits erwähnt haben, sind DevOps-Experten im Allgemeinen für Bereiche zuständig, die mit Automatisierungsprozessen zu tun haben.

Wichtig ist, dass ihre Aufgaben ein integraler Bestandteil der Entwicklung sind. Nach unserem Verständnis ist ein DevOps ein Teil des Entwicklungsteams und nicht nur ein externer Auftragnehmer, wie es manchmal der Fall ist - vor allem in größeren Unternehmen.

Bei PGS Software haben wir 4 Hauptbereiche unterschieden, für die ein DevOps verantwortlich ist:

1. Lokale Umgebung.

Die DevOps sollten dabei helfen, lokale Umgebungen für Entwickler und Tester zu organisieren. Das bedeutet oft die Verwendung von docker-compose oder vagrant. Aber die Schwierigkeit liegt woanders: Die Cloud-Infrastruktur ist spezifisch, und in der lokalen Umgebung müssen viele Cloud-Elemente nachgebildet werden. Die Hilfe von DevOps ist entscheidend.

 

2. Code-Repository.

Ein DevOps ist bei der Organisation eines Code-Repositorys sowohl für einzelne Anwendungen als auch für die gesamte Infrastruktur hilfreich. In manchen Projekten wird es notwendig sein, dem Rest des Teams zu erklären, wie man mit einem bestimmten Verzweigungsmodell arbeitet. Und warum? Manchmal sind Projekte relativ einfach (z.B. ein Monolith mit einem einzigen Repository und einer einfachen kontinuierlichen Integrationspipeline). Aber heutzutage gibt es immer mehr komplizierte Release-Prozesse mit vielen unabhängigen Funktionalitäten. Die Verwaltung eines solchen Repositorys ist keine triviale Angelegenheit.

 

3. Infrastruktur

Wie wir wissen, benötigt ein Projekt bestimmte Umgebungen - für Tests oder Produktion. Diese Infrastrukturen können einfach sein und aus einer einzigen virtuellen Maschine bestehen. Doch oft sind sie komplizierter als das, vor allem in der Cloud. Zum Beispiel der ECS-Cluster mit vielen Servern, mehreren Datenbanken und einem serverlosen Teil. Die Erstellung einer solchen Infrastruktur ist kein Kinderspiel und kann nur von einem erfahrenen Cloud-Experten durchgeführt werden. Ohne einen geschickten DevOps wird es knifflig.

 

4. CI/CD-Pipeline.

Die Implementierung einer CI/CD-Pipeline ist ein weiterer wichtiger DevOps-Bereich. Eine solche Pipeline kann einfach sein - in der Vergangenheit gab es eine Menge freier Jobs auf Jenkins - aber jetzt werden häufig komplexere Pipelines verwendet, wie z.B. Multibranch-Pipelines oder ähnliche Techniken, die auf verschiedenen Tools basieren. Generell werden immer mehr Bereiche automatisiert, und das erfordert immer mehr Expertenwissen.

 

Abgesehen von diesen 4 Bereichen gibt es zahlreiche andere (und nicht weniger wichtige) DevOps-Verantwortlichkeiten:

  • die Automatisierung von Reaktionen auf Vorfälle,
  • Überwachung von Anwendungen und Infrastruktur,
  • Implementierung und Erwerb verschiedener Arten von Metriken,
  • Erstellung von Dashboards, die die Überwachung dieser Metriken ermöglichen,
  • Sicherheit umsetzen.

Aber selbst mit dieser zusätzlichen Liste ist das noch nicht alles - DevOps-Verantwortlichkeiten hängen oft von den spezifischen Anforderungen eines bestimmten Projekts ab.

Was sollte ein DevOps wissen?

Das Kernwissen eines DevOps basiert auf dem Verständnis von Softwareentwicklungsprozessen und automatisierungsbezogenen Themen. Einige Fähigkeiten sind offensichtlich, wie die Beherrschung von Jenkins, Terraform (oder ähnlichem) und Docker. Viele Fähigkeiten sind eine natürliche Folge der Aufgaben eines DevOps. Da ein DevOps-Mitarbeiter Metriken erstellt und relevante Analysetools einrichtet, ist die Kenntnis dieser Tools unerlässlich. Ähnlich verhält es sich in anderen Bereichen, wie z.B. der Cloud - die Schaffung einer solchen Infrastruktur setzt voraus, dass man sie ausreichend versteht. Bei der Automatisierung von Prozessen verhält es sich nicht anders - um diese zu automatisieren, sind Kenntnisse in Bash oder Python nützlich.

Kurz gesagt, die Besonderheiten der Rolle definieren die entscheidenden DevOps-Fähigkeiten.

Warum ist es so wichtig, eine allgemein verständliche Definition von DevOps zu haben?

Wie wir bereits erwähnt haben, war eine DevOps-Definition noch vor wenigen Jahren nicht notwendig - Softwareentwickler hatten viele verschiedene Aufgaben. Aber jetzt, mit einer genaueren Spezialisierung, ist eine separate Rolle, wie sie beschrieben wurde, unerlässlich geworden.

Aber auch heute noch wird DevOps oft nur intuitiv definiert. Und das kann zu Problemen führen.

Wenn es keine Liste der Zuständigkeiten von DevOps in einem Unternehmen (oder sogar in einer bestimmten Branche) gibt, ist nicht klar, was DevOps Engineers wissen sollten. Sollten sie für Releases zuständig sein? Oder für Sicherheitsvorfälle? Und vor allem stellt sich die Frage: Wird ein DevOps Engineer überhaupt benötigt? Schließlich könnte ein Softwareentwickler wahrscheinlich die meisten der benötigten Aufgaben erledigen, oder?

Nicht unbedingt. Wie oben beschrieben, erfordert die Lösung einiger spezifischer Probleme eine besondere Kompetenz. Dies gilt insbesondere für Cloud-Lösungen, die extrem knifflig sein können. Das führt dazu, dass Softwareentwickler bestimmte DevOps-bezogene Aufgaben oft gar nicht erledigen wollen, weil ihnen das Wissen fehlt.

Dieses Problem wird durch unsere eigenen Erfahrungen perfekt veranschaulicht. DevOps-Ingenieure an Bord zu haben, wird immer mehr zum Marktstandard. Das geht so weit, dass die Kunden selbst häufig erwarten, sie in ihren Teams zu haben.

Wie hilft es, die Verantwortlichkeiten eines DevOps innerhalb eines Projekts zu definieren?

Wie Sie sehen, bietet die Auflistung der Aufgaben von DevOps-Experten mehrere Vorteile.

Erstens kann ein PM/Delivery Manager, wenn er weiß, was ein DevOps tut, entscheiden, ob es für ein bestimmtes Projekt erforderlich ist. Zweitens gibt es den Softwareentwicklern mehr Freiraum, um an Aufgaben zu arbeiten, die sie am besten bewältigen können.

Aus der Sicht eines Softwarehauses hilft eine klare Vorstellung davon, was ein DevOps-Experte tut, den Kunden zu erklären, warum ein solcher Experte für ein bestimmtes Projekt benötigt wird. Das ist zwar nur ein kleiner Punkt, aber da den Kunden oft Arbeitsstunden in Rechnung gestellt werden, macht es das Leben einfacher.

Wie wird man ein DevOps-Ingenieur?

In der Praxis gibt es mehrere Wege, DevOps Engineer zu werden. Bei PGS Software haben wir zum Beispiel ein internes Weiterbildungsprogramm, das den Teammitgliedern hilft, alle notwendigen Fähigkeiten intern zu entwickeln. Wichtig ist, dass die Schulungsteilnehmer ihre Karriere nicht ändern müssen. Dieses Programm dient lediglich dazu, alle damit verbundenen Grundlagen, Tools, Konzepte und Techniken zu vermitteln.

Der zukünftige DevOps-Spezialist lernt:

1. Lokale Umgebung

Das Erlernen der theoretischen Grundlagen ist ein sehr guter Anfang! Dazu gehören vor allem:

  • Schichten der Netzwerkkommunikation, Netzwerkadressierung, Forward/Reverse Proxy,
  • Verschlüsseln und Hashing,
  • Lastausgleich, Firewalls, automatische Skalierung,
  • Einsatzarten, Anwendungs- und Infrastrukturüberwachung.

 

2. Verwendung und Konfiguration der wichtigsten DevOps-Tools.

Dies beinhaltet:

  • Docker,
  • Ansible,
  • Terraform,
  • Jenkins, Azure DevOps, oder GitLabCI,
  • Kubernetes

Natürlich ist die Liste nicht in Stein gemeißelt. Das Ziel ist es, den neuen DevOps-Kennern die wichtigsten Tools vorzustellen und ihnen zu helfen, die Herausforderungen zu verstehen.

3. Entwickeln Sie eine eigene App.

Die letzte Phase ist die längste - aber auch die wichtigste. Die DevOps-Kandidaten müssen ihre eigenen einfachen Apps auf der Cloud-Infrastruktur entwickeln. Bei den Lösungen muss es sich um eine CRUD-Anwendung handeln, die mit der Datenbank kommuniziert, und um eine zweite kleine App, die Dateien auf S3 hochladen kann.

Zunächst entwickeln die DevOps-Kandidaten alles manuell, planen die Netzwerkstruktur, die automatische Skalierung und wählen den Cloud-Service aus. Als Nächstes machen sie es noch einmal, aber dieses Mal automatisieren sie alles, was automatisiert werden kann.

Auf diese Weise kann der DevOps-Adept alle Schlüsselbereiche dieses Berufs kennenlernen - nicht auf Expertenebene, aber genug, um an der Seite eines erfahreneren Kollegen an einem Projekt zu arbeiten.

Schließlich müssen die neuen DevOps-Spezialisten nur noch praktische Erfahrungen sammeln, um für die Arbeit auf eigene Faust gerüstet zu sein!

Stimmen Sie mit unserer Einschätzung überein?

 

Sprechen Sie mit dem Autor: Krzysztof Kąkol

Contact

Let’s discuss how we can support your journey.