DevOps-Ingenieure sind vielseitig qualifizierte Fachkräfte, die Prozesse automatisieren und wissen, wie Entwickler, QA und Manager arbeiten. Sie können programmieren, sich schnell in komplexe Tools einarbeiten und verlieren niemals den Überblick in unbekannten Situationen. DevOps-Ingenieure sind rar — sie werden mit 200.000 bis 300.000 Rubel bezahlt, jedoch gibt es viele offene Stellen.
Dmitry Kuzmin erklärt, woran ein DevOps-Ingenieur konkret arbeitet und was man lernen sollte, um für eine solche Position in Betracht zu kommen. Als Bonus gibt es wichtige Links zu Büchern, Videos, Kanälen und einer professionellen Community.
Was macht ein DevOps-Ingenieur?
Im Zusammenhang mit DevOps ist es wichtig, Begriffe nicht zu verwechseln. DevOps ist keine spezifische Tätigkeit, sondern eine berufliche Philosophie. Es handelt sich um eine Methodik, die Entwicklern, Testern und Systemadministratoren hilft, schneller und effizienter zu arbeiten, durch Automatisierung und nahtlose Integration.
Ein DevOps-Ingenieur ist demnach ein Fachmann, der diese Methodik im Arbeitsprozess implementiert:
- In der Planungsphase hilft der DevOps-Ingenieur dabei, die Architektur zu bestimmen, die die Anwendung verwenden wird, wie sie skalierbar sein wird und welches Orchestrierungssystem gewählt werden soll.
- Anschließend konfiguriert er die Server, automatisiert die Codeüberprüfung und das Deployment, sowie die Prüfungen der Umgebung.
- Danach automatisiert er die Tests und kümmert sich um die Deployment-Prozesse.
- Nach der Veröffentlichung ist es wichtig, Feedback von Benutzern zu sammeln und Verbesserungen einzuführen. Der DevOps-Ingenieur sorgt dafür, dass die Benutzer diese Verbesserungen nicht bemerken und der Aktualisierungsprozess kontinuierlich verläuft.
- Nebenbei löst er zahlreiche Aufgaben, die dazu beitragen, das System für die Zusammenarbeit von Entwicklern, QA, Systemadministratoren und Managern zu optimieren.
Alles, was oben geschrieben steht, findet in nahezu idealen Projekten statt. In der realen Welt beginnt man jedoch oft in Projekten, in denen die Planungsphase übersprungen wurde, die Architektur fehlerhaft ist und Automatisierung erst in Betracht gezogen wird, wenn die Projekte bereits zum Stillstand gekommen sind. Diese Probleme zu verstehen, sie zu lösen und sicherzustellen, dass alles reibungslos funktioniert, ist die Schlüsselkompetenz eines DevOps-Spezialisten.
Auf dem Arbeitsmarkt gibt es viele Missverständnisse. Manchmal sucht ein Unternehmen DevOps-Ingenieure für die Position eines Systemingenieurs, Build-Ingenieurs oder für andere Rollen. Die Anforderungen variieren je nach Unternehmensgröße und Branche — an manchen Orten werden Berater gesucht, woanders muss alles automatisiert werden, und an manchen Stellen sind erweiterte Aufgaben eines Systemadministrators gefragt, der auch Programmierkenntnisse hat.
Was man für den Einstieg in den Beruf braucht
Der Einstieg in den Beruf erfordert eine gründliche Vorbereitung. Einfach zu einem Kurs zu gehen und ohne jegliches IT-Verständnis bis zum Junior-Niveau zu lernen, wird nicht funktionieren. Ein technischer Hintergrund ist notwendig:
- Idealerweise haben Sie mindestens sechs Monate Erfahrung als Systemadministrator, Betriebsspezialist oder Tester. Oder Sie haben zumindest eine Vorstellung davon, wie Anwendungen starten, in welcher Umgebung sie entwickelt werden können und was zu tun ist, wenn Sie einen Fehler sehen. Wenn Sie keine Erfahrung haben, belegen Sie einen beliebigen Kurs zur Linux-Administration und wiederholen Sie alles auf Ihrem Heimcomputer.
- Verstehen Sie, wie Netzwerktechnologien funktionieren — lernen Sie, lokale und globale Netzwerke einzurichten, zu konfigurieren und zu verwalten.
- Sehen Sie sich an, wie Programmierung funktioniert – schreiben Sie einige Skripte in Python oder Go, versuchen Sie, die Prinzipien der objektorientierten Programmierung (OOP) zu verstehen, und lesen Sie über den allgemeinen Entwicklungszyklus eines Produkts.
- Technisches Englisch ist nützlich – es ist nicht erforderlich, über freie Themen zu sprechen, aber Sie sollten in der Lage sein, Dokumentationen und Benutzeroberflächen zu lesen.
Es ist nicht notwendig, alles im Detail zu wissen; für den Einstieg in die DevOps-Schulung reicht ein grundlegendes Verständnis aus. Wenn Sie diesen technischen Hintergrund haben, versuchen Sie, sich für Kurse anzumelden.
Was ein DevOps-Engineer wissen sollte
Ein guter DevOps-Ingenieur ist ein vielseitiger Fachmann mit einem sehr breiten Wissen. Für eine erfolgreiche Arbeit müssen Sie sich sofort in mehreren IT-Bereichen auskennen.
Entwicklung
Der DevOps-Ingenieur wird ein Skript schreiben, das den Entwicklern hilft, den Code auf dem Server zu installieren. Er wird ein Programm erstellen, das die Reaktionsfähigkeit von Datenbanken 'in Echtzeit' testet. Er wird eine Anwendung zur Versionskontrolle entwickeln. Schließlich wird er potenzielle Probleme in der Entwicklung erkennen, die auf dem Server auftreten könnten.
Ein erfahrener DevOps-Spezialist kennt mehrere Sprachen, die für die Automatisierung geeignet sind. Er beherrscht diese nicht perfekt, kann jedoch schnell ein kurzes Programm schreiben oder fremden Code lesen. Wenn Sie noch keine Erfahrung in der Entwicklung haben, ist Python ein guter Einstieg — die Syntax ist einfach, es lässt sich leicht mit Cloud-Technologien arbeiten und es gibt viele Dokumentationen und Bibliotheken.
Betriebssysteme
Es ist unmöglich, alle Funktionen jeder Version jedes Systems zu beherrschen — für solche Schulungen könnten Tausende von Stunden aufgewendet werden, ohne nennenswerten Nutzen. Stattdessen versteht ein guter DevOps-Spezialist die grundlegenden Arbeitsprinzipien jedes Betriebssystems. Laut den Stellenausschreibungen arbeiten derzeit die meisten jedoch mit Linux.
Ein guter Ingenieur weiß, auf welchem System am besten ein Projekt bereitgestellt werden kann, welche Werkzeuge nützlich sind und welche potenziellen Fehler während der Implementierung oder des Betriebs auftreten können.
Clouds
Der Markt für Cloud-Technologien im Durchschnitt um 20-25 % pro Jahr – eine solche Infrastruktur ermöglicht es, Abläufe wie das Testen von Code, das Erstellen von Anwendungen aus Komponenten und die Bereitstellung von Updates an die Benutzer zu automatisieren. Ein guter DevOps-Experte versteht sich sowohl auf vollständig cloudbasierte als auch auf hybride Lösungen.
In den allgemeinen Anforderungen an Ingenieure sind normalerweise GCP, AWS und Azure aufgeführt.
Dazu gehört auch der Umgang mit CI/CD-Tools. Für die kontinuierliche Integration wird normalerweise Jenkins verwendet, aber es lohnt sich, auch Alternativen auszuprobieren. Es gibt viele, zum Beispiel Buddy, TeamCity und Gitlab CI. Nützlich ist es, Terraform zu lernen – ein deklaratives Tool, das hilft, Infrastruktur in der Cloud remote zu erstellen und zu konfigurieren. Und Packer, das zur automatischen Erstellung von Betriebssystem-Images benötigt wird..
Orchestrierungssysteme und Mikrodienste.
Die mikroszenarische Architektur hat viele Vorteile – Stabilität, die Möglichkeit zur schnellen Skalierung, Vereinfachung und Wiederverwendbarkeit. DevOps versteht, wie Mikrodienste funktionieren, und kann potenzielle Probleme frühzeitig erkennen.
Er kennt sich bestens mit Docker und Kubernetes aus. Er versteht, wie Container funktionieren und wie man ein System so aufbaut, dass Teile davon ohne negative Auswirkungen auf das Gesamtsystem deaktiviert werden können. Zum Beispiel kann er einen Kubernetes-Cluster mit Ansible erstellen.
Was zukünftige DevOps-Profis noch ausprobieren sollten
Die Liste der Tools, die für DevOps-Ingenieure nützlich sein können, ist endlos. Einige arbeiten an der Orchestrierung von Projekten, andere verbringen viel Zeit mit der Automatisierung von Deployment und Tests, wieder andere steigern die Effizienz im Konfigurationsmanagement. Im Prozess wird klar werden, wo die Schwerpunkte liegen und welche Projekte nützlich sein werden.
Hier ist noch ein kleiner Minimum-Katalog, der beim Einstieg helfen kann:
- Machen Sie sich mit Git und GitHub vertraut, falls Sie damit noch nicht gearbeitet haben. Installieren Sie GitLab auf Ihrem Server.
- Lernen Sie die Markup-Sprachen JSON und YAML kennen.
- Installieren Sie Datenbanken und probieren Sie sie aus – nicht nur MySQL, sondern auch NoSQL. Testen Sie MongoDB.
- Verstehen Sie, wie man die Konfiguration mehrerer Server gleichzeitig verwaltet. Zum Beispiel mit Ansible.
- Richten Sie sofort ein Monitoring für die Lastüberwachung und Protokollierung ein. Probieren Sie die Kombination aus Prometheus, Grafana und Alertmanager.
- Entdecken Sie die besten Lösungen für die Bereitstellung in verschiedenen Sprachen — es genügt, sich vertrautmachen, und Sie werden während eines Trainings- oder Arbeitsprojekts damit arbeiten.
Warum Sie jetzt mit dem Lernen von DevOps beginnen sollten
Auf dem Markt der DevOps-Ingenieure herrscht Mangel an Fachkräften. Dies wird durch die Anzahl und Qualität der Stellenangebote belegt:
- In Russland sind auf der Plattform HeadHunter ständig über 2.000 Stellenangebote zu diesem Schlüsselwort verfügbar.
- Lediglich 1.900 Personen haben Lebensläufe veröffentlicht.
Da das Veröffentlichen eines Lebenslaufs nicht unbedingt einen aktiven Jobwechsel bedeutet, ergibt sich, dass auf einen Spezialisten zwei bis drei Stellenangebote kommen — eine solche Situation gibt es nicht einmal auf einem stark nachgefragten Markt für Web-Entwicklung. Fügen Sie auch noch die Stellenangebote von Habr und aus Telegram-Kanälen hinzu — der Mangel an Fachkräften ist enorm.

Achten Sie auf die Gehaltsanforderungen der Bewerber
DevOps-Experten sind auch weltweit sehr gefragt — wenn Sie eine Relokation in die USA oder nach Europa planen, dann suchen über 34.000 Unternehmen auf der Plattform solche Fachkräfte. Häufige Anforderungen sind 1-3 Jahre Erfahrung, die Fähigkeit, mit Cloud-Technologien zu arbeiten, und die Bereitschaft zu Beratungsaufgaben.
Angebote im Freelancing sind viel seltener – DevOps-Ingenieure werden hauptsächlich in Festanstellungen und in Vollzeit gesucht.

Es ist schwierig, ein passendes Projekt im Freelancing zu finden, aber es ist möglich.
Der typische Karriereweg eines DevOps-Ingenieurs könnte etwa so aussehen:
- Sechs Monate bis ein Jahr arbeitet er als Systemadministrator in einer kleinen IT-Firma. Parallel dazu lernt er eine Programmiersprache, die für die Automatisierung geeignet ist.
- Intensive Weiterbildung in einem Kurs, etwa sechs Monate.
- Wechsel zu einem anderen Job – in ein Unternehmen, das Cloud-Lösungen verkauft, eine Niederlassung eines großen Konzerns, zu Entwicklern großer Projekte. Einfach gesagt, dorthin, wo ein Bedarf an ständiger Automatisierung und Integration besteht. In der Einstiegsposition etwa 100.000 Rubel.
- Er arbeitet aktiv mehrere Jahre und lernt, steigert sein Einkommen mehrmals.
- Er wird Experte in der Fachgemeinschaft und wechselt in die Beratung. Oder er entwickelt sich zum Systemarchitekten oder IT-Direktor.
DevOps ist komplex. Es erfordert eine Kombination von Fähigkeiten aus mehreren Berufen. Man muss bereit sein, Verbesserungen vorzuschlagen, wo andere IT-Fachleute nicht einmal darüber nachdenken. Dafür wird viel bezahlt, aber es ist auch ein umfangreiches Wissen erforderlich.
Wie viel verdienen DevOps-Profis?
Laut Daten aus dem zweiten Quartal 2019 liegt das durchschnittliche Median-Gehalt für DevOps zwischen 90.000 und 160.000 Rubel. Es gibt auch günstigere Angebote – hauptsächlich im Bereich von 60.000 bis 70.000 Rubel.
Kontinuierlich gibt es Angebote bis zu 200.000 Rubel, und gelegentlich finden sich Stellen mit Gehältern von bis zu 330.000 Rubel.

Unter den Fachleuten für IT-Betrieb wird DevOps besser bezahlt als andere. Quelle:
DevOps-Ingenieure, einschließlich Einsteiger, werden derzeit von großen Banken, Unternehmen, Cloud-Diensten, Handelssystemen und anderen Organisationen gesucht, die Wert auf die Pflege ihrer IT-Lösungen legen.
Ein ausgezeichneter Kandidat für eine Junior-Position mit einem Gehalt von 60.000 bis 90.000 Rubel wäre ein Anfänger-Systemadministrator mit etwa einem Jahr Erfahrung und einem relevanten Abschluss.

Es gibt keine genauen Statistiken, aber dem Gefühl nach werden Personen mit Erfahrung in Linux besser bezahlt.
Was Sie lesen und anschauen sollten, um in Ihrer Karriere zu wachsen
Um in die Welt von DevOps einzutauchen, probieren Sie mehrere Informationsquellen aus:
- [YouTube, ENG] — viele Videos von Konferenzen und Bildungs-Webinaren.
- [YouTube, RUS] — Videos von Vorträgen auf der DevOps-Konferenz in Russland.
- [Buch, RUS] — eines der beliebtesten Bücher über die Philosophie von DevOps. Es enthält allgemeine Prinzipien der Methodologie und erzählt, worauf man bei der Arbeit an jedem Projekt besonders achten sollte.
- [Buch, RUS] — viele Theorien und Prinzipien, wie Systemadministration gestaltet sein sollte.
- [Buch, ENG] — wöchentlicher Überblick über Neuigkeiten aus der DevOps-Welt.
- [Telegram, RUS] — Neuigkeiten aus der Branche, Ankündigungen von Konferenzen, Links zu neuen interessanten Artikeln und Büchern.
- [Telegram, RUS] — ein russischsprachiger Chat, in dem Sie um Rat und Hilfe bei Konfigurationen bitten können.
- Devops.com — eine umfangreiche internationale Website mit Artikeln, Webinaren, Podcasts und Kolumnen der größten Unternehmen der Branche.
- — ein russischsprachiges Netzwerk von DevOps-Ingenieuren und Interessierten.
- Die besten Bücher zu der Sprache, die Sie für die Entwicklung verwenden werden.
Wo man DevOps lernen kann
Strukturierte Kenntnisse können Sie im Kurs "" bei Netology erwerben. Sie lernen den vollständigen Zyklus der Methodologie:
- Sie erfahren, wie man Code analysiert und Werkzeug zur Versionskontrolle schnell einsetzt.
- Sie werden die besten Praktiken für kontinuierliche Integration, Tests und Builds verstehen.
- Sie lernen, Änderungen in Anwendungen zu verwalten und diese zu automatisieren.
- Sie werden praxisnah mit Konfigurations- und Management-Tools lernen.
- Sie gewöhnen sich daran, die benötigten Überwachungsdienste direkt auszuwählen und einzurichten.
Als Bonus erhalten Sie einen Kurs in Python-Programmierung – damit lösen Sie Aufgaben noch schneller und einfacher. Alles praxisnah – wir nutzen AWS, GCP oder Azure.
Das reicht aus, um sich von einem Anfänger im Ingenieurwesen oder Systemadministrator in einen gefragten DevOps-Experten zu verwandeln und Ihre Marktfähigkeit zu steigern.
Quelle: habr.com
