Der Begriff DevOps bedeutet für verschiedene Menschen und Unternehmen unterschiedliche Dinge, was die Einstellung von DevOps-Ingenieuren zu einer Herausforderung machen kann.
In dem Buch Integrating the Internet of Things Into Software Engineering Practices beschreibt D. Jeya Mala DevOps als:
"eine Reihe von Praktiken, die die Softwareentwicklung (Dev) und den Betrieb der Informationstechnologie (Ops) miteinander verbinden und darauf abzielen, den Lebenszyklus der Systementwicklung zu verkürzen und eine kontinuierliche Bereitstellung mit hoher Softwarequalität zu gewährleisten."
Die Definition von Jeya Mala ist hervorragend.
DevOps führt die Entwicklungs- und Betriebsprozesse zusammen, die von IT- und Softwareteams in Unternehmen praktiziert werden. Ursprünglich ging es bei der Zusammenführung von Entwicklung und Betrieb um einen internen Kulturwandel. Daraus entwickelte sich jedoch schnell ein neues Kompetenzprofil für Softwareexperten. Anstatt sich nur auf "Dev" oder "Ops" zu spezialisieren, begannen Softwareingenieure, DevOps-Ingenieure zu werden, die über Fähigkeiten in beiden Disziplinen verfügen.
Unser Leitfaden hilft dir dabei, den Wert von DevOps für dein Unternehmen zu erkunden und zeigt dir alles, was du wissen musst, um den perfekten DevOps-Ingenieur für dein Unternehmen zu finden.
Der wichtigste Grund für die Einstellung von DevOps-Ingenieuren ist die Verbesserung der Produktivität und der Prozesse Ihrer IT- und Software-Teams.
Die Einführung von DevOps-Ingenieuren in deinem Unternehmen kann dir bei Folgendem helfen:
Senkung der IT- und Software-Wartungs- und Upgrade-Kosten.
Reduzieren unnötiger oder übermäßiger Ausgaben.
Standardisierung der Prozessbereitstellung im Unternehmen.
IT-Prozesse schneller und effektiver zu vervielfältigen und zu skalieren.
Verbessern der Zuverlässigkeit von Prozessen und Verringern der Notwendigkeit des Eingreifens von Ingenieuren.
Die Rolle eines DevOps-Ingenieurs ist für jedes Unternehmen spezifisch. Zu den spezifischen Problemen, an denen ein DevOps-Ingenieur arbeiten kann, gehören Programmierungs- und Skripting-Probleme im Zusammenhang mit der Softwarebereitstellung oder der Integration und Verbindung von Code sowie die Implementierung von Produktentwicklungs-Frameworks wie SCRUM.
Die Rolle deines DevOps-Ingenieurs wird sich im Laufe der Zeit weiterentwickeln: Wenn du deinen ersten DevOps-Ingenieur einstellst, wird die Position mehr Elemente der Zusammenführung der Entwicklungs- und Ops-Prozesse umfassen. Je fortschrittlicher die Entwicklungsprojekte werden, desto größer wird auch der Bedarf an DevOps-Fachwissen. Das bedeutet, dass du dein bestehendes Team kontinuierlich weiterbilden oder weitere DevOps-Spezialisten einstellen musst. Wenn sich deine Dev- und Ops-Teams zu breiter ausgerichteten DevOps-Teams weiterentwickeln, werden diese Prozesse ohnehin allmählich zusammenwachsen.
Als globale Gemeinschaft sind wir immer mehr auf die IT angewiesen. Beispiele dafür sind die fortschreitende Entwicklung, das Verständnis und die Nutzung des "Internets der Dinge" und die zunehmende Abhängigkeit von der Cloud zur Verwaltung von Daten und Prozessen.
Folglich steigt auch die Nachfrage nach DevOps-Fähigkeiten weiter an.
In einem Bericht von Markets and Markets vom Mai 2018 wird für den DevOps-Markt von 2017 bis 2023 eine durchschnittliche jährliche Wachstumsrate von 24,9 % prognostiziert.
Dieses Wachstum macht die Einstellung von DevOps-Ingenieuren zu einer zweiseitigen Angelegenheit. Natürlich wirst du Zugang zu einem wachsenden Pool von DevOps-Talenten haben. Gleichzeitig steht den DevOps-Talenten eine breite Palette von Beschäftigungsmöglichkeiten zur Verfügung. Du musst die DevOps-Rollen in deinem Unternehmen klar definieren und sicherstellen, dass sie für DevOps-Talente, die ihre nächste Stelle suchen, attraktiv sind.
Eine klare Definition der Anforderungen an deine DevOps-Ingenieure ist der Schlüssel zu deinem Erfolg bei der Rekrutierung. Das Wichtigste ist, zu verstehen, dass du nicht einfach einen DevOps-Ingenieur einstellen kannst. Die DevOps-Disziplin umfasst ein breites Spektrum an Fähigkeiten.
Ein guter Ausgangspunkt für das Screening von Kandidaten ist ein DevOps-Fähigkeitstest, um Kandidaten zu identifizieren, die über die für eine DevOps-Rolle erforderlichen Grundfähigkeiten verfügen. Über diese grundlegenden Fähigkeiten hinaus kannst du deine DevOps-Rolle durch Spezialisierungsbereiche weiter definieren, je nach den Anforderungen deines Unternehmens.
Werfen wir einen Blick auf die wichtigsten Schwerpunktbereiche innerhalb von DevOps, die Rollen, die sie in einem Unternehmen erfüllen können, und die spezifischen Fähigkeiten, die jeder Bereich erfordert.
Systemadministration (in der Regel als SysAdmin bezeichnet) ist die Fähigkeit, IT-Umgebungen mit mehreren Benutzern zu verwalten und darin zu arbeiten, um Prozesse und Leistung zu optimieren. Die Aufgaben eines SysAdmins können sehr vielfältig sein. Traditionell konzentrieren sich die Kernaspekte der Rolle auf die Serververwaltung. Du möchtest, dass dein DevOps-Ingenieur Anwendungen, Dateiserver und die unterstützende Infrastruktur erstellt und verwaltet. Ein SysAdmin kann auch an der Automatisierung wichtiger Prozesse beteiligt sein, um deine IT-Systeme zuverlässig und effizient zu halten.
Möglicherweise muss ein SysAdmin auch Netzwerke, Datenbanken und Speicher verwalten sowie IT-Sicherheitssysteme entwickeln, bereitstellen und überwachen können.
Vertrautheit mit einer Reihe von Betriebssystemen, IT-Programmierung und Programmiersprachen kann ebenfalls von Vorteil sein. Viele im DevOps-Bereich betrachten Virtualisierungs- und Cloud-Software-Kompetenz als spezifische, eigenständige Fähigkeiten. DevOps-Personalverantwortliche suchen jedoch zunehmend nach diesen Fähigkeiten in einem SysAdmin-Kontext. Es lohnt sich also, nach Kandidaten mit solchen Kenntnissen zu suchen.
Erwäge, die folgenden Schlüsselkompetenzen in deine Stellenausschreibung aufzunehmen. Denke daran, die Anforderungen auf dein Unternehmen und die zu besetzende Stelle zuzuschneiden.
Erforderliche Fähigkeiten
Installation und Konfiguration von Software und Hardware.
Überwachung und Wartung der Systemleistung.
Fehlerbehebung bei Problemen im Rahmen von DevOps-Prozessen.
Einsatz von Systemsicherheitsmaßnahmen wie Kontrollen, Backups und Firewalls.
Kontinuierliche Aufrüstung von Systemen und Prozessen zur Optimierung der Leistung.
Verwaltung von Netzwerken, einschließlich LAN und WAN.
Erstellung von Skripten in einschlägigen Programmiersprachen.
Virtualisierung ist ein wesentlicher Bestandteil von DevOps und konzentriert sich auf die Erstellung von Software und die Nutzung von Prozessen zur Virtualisierung von Servern und anderen Prozesskomponenten. Die Virtualisierungsarbeit findet naturgemäß in der Cloud statt. Daher sollte dein DevOps-Ingenieur über Kenntnisse in verschiedenen Bereichen wie Amazon Web Services (AWS), GitHub und Google Cloud sowie in bestimmten Projekttypen wie der Automatisierung von Q&A verfügen.
Im Bereich der Virtualisierung kann es sein, dass du von einem Kandidaten spezielle Fähigkeiten in einem bestimmten Bereich verlangst, z. B. Servervirtualisierung oder Netzwerkvirtualisierung.
Das Ziel der Virtualisierung ist immer, mit weniger mehr zu erreichen. Suche daher nach Bewerbern, die in der Lage sind, mit Hilfe von Virtualisierungstechniken Kapazitäten und Leistung zu steigern, Ineffizienzen und Kosten zu reduzieren und Prozesse zu rationalisieren.
Verwende die unten aufgeführten Virtualisierungsfähigkeiten in deiner Stellenausschreibung:
Erforderliche Fähigkeiten
Entwurf und Einsatz von Virtualisierung auf verschiedenen Plattformen.
Erkennen von Möglichkeiten zur Verbesserung von Prozessen und Effizienz durch Virtualisierung.
Installieren, Konfigurieren und Verwalten von Komponenten der Virtualisierungsumgebung.
Laufende Bewertung der Virtualisierungsinfrastruktur.
Einsatz von Sicherheitssystemen zum Schutz der Virtualisierungsumgebung.
Konfigurieren, Verwalten und Durchführen von Aufgaben wie Backup und Retrieval.
Netzwerk- und Speicherteams sind für die Einrichtung, Verwaltung und Wartung der Computernetzwerke deines Unternehmens zuständig. Fähigkeiten im Netzwerkmanagement sind daher für einen DevOps-Ingenieur von entscheidender Bedeutung. Wenn du jedoch die besten DevOps-Experten für dein Unternehmen rekrutierst, suchst du mehr als nur einen fähigen Netzwerkmanager. Netzwerkmanagement ist eine wichtige Fähigkeit, aber gleichzeitig auch eine grundlegende Fertigkeit im IT-Kontext.
Dein Unternehmen braucht bestimmte Dinge, wenn es um Netzwerk- und Speichermanagement geht. Du willst immer, dass diese Aspekte hochleistungsfähig, zuverlässig und skalierbar sind. Wenn du DevOps-Ingenieure mit diesen Fähigkeiten rekrutierst, konzentrierst du dich auf das "Wie" und nicht auf das "Was".
Wenn dein Unternehmen physische Server einsetzt, benötigst du Kandidaten, die über Fähigkeiten und Erfahrungen in der Arbeit mit physischen Rechenzentren verfügen. Nutzt dein Unternehmen dagegen Cloud-Server, suchst du einen Netzwerkmanager, der mit der von dir genutzten Cloud-Umgebung, z. B. Google Cloud, vertraut ist.
Du willst nicht nur einen DevOps-Ingenieur, der sich mit Netzwerk- und Speichermanagement auskennt. Du willst einen, der bereit ist, Grenzen zu überschreiten und dein Unternehmen zu beeinflussen.
Erforderliche Fähigkeiten
Installieren und Konfigurieren von Netzwerken und Systemen.
Fehlerbehebung bei auftretenden Problemen.
Wartung vorhandener Hard- und Software und Aufrüstung, wenn diese veraltet ist.
Überwachung von Netzen und Systemen, um Verbesserungsmöglichkeiten zu ermitteln.
Laufende Netzwerk- und Speicherverwaltung und -unterstützung.
Bei der Zusammenführung der Disziplinen Dev und Ops sind Programmierkenntnisse unerlässlich. Wenn ein DevOps-Ingenieur über diese Fähigkeiten verfügt, kann er effektiv in beiden Teams arbeiten. Wenn du DevOps weiterentwickelst, werden die Prozesse effizienter und die Bereitstellungszeiten kürzer.
Stelle dir die folgenden Fragen, wenn du die Programmierfähigkeiten eines DevOps-Ingenieurs festlegen willst:
Möchte ich einen DevOps-Ingenieur einstellen, der auf eine bestimmte Programmiersprache spezialisiert ist, die in den aktuellen Geschäftsrahmen und die von uns verwendeten Programmiersprachen passt?
Möchte ich einen DevOps-Ingenieur einstellen, der sich auf eine bestimmte Programmiersprache spezialisiert hat, die wir in Zukunft verwenden möchten?
Möchte ich einen DevOps-Ingenieur mit Kenntnissen in mehreren Programmiersprachen einstellen, der mich bei der Wahl der richtigen Sprache für zukünftige Entwicklungen und Projekte berät und leitet?
Die Antworten auf diese Fragen bestimmen die Programmierkenntnisse, nach denen du bei der Einstellung eines DevOps-Ingenieurs suchst.
Verwende die unten aufgeführten erforderlichen Fähigkeiten in deiner Stellenausschreibung:
Erforderliche Fähigkeiten
Erstellen, Testen und Bereitstellen von Software und Anwendungen.
Migration von Code aus Test- in Produktionsumgebungen.
Identifizierung und Behebung von Fehlern.
Kompetent in mehreren Programmiersprachen.
Gute Kenntnisse deiner spezifischen Serverumgebung.
Bei der Automatisierung geht es um die Einrichtung von Systemen und Prozessen zur Verringerung des Zeit- und Ressourcenaufwands für die Ausführung von Aufgaben. Dies macht die Automatisierung zu einem, wenn nicht dem wichtigsten Element von DevOps. Bei der gesamten DevOps-Kultur und -Arbeitsweise geht es darum, dein Unternehmen zu rationalisieren und so viele potenzielle Vorteile wie möglich zu erzielen, wobei die Automatisierung eine große Rolle spielt.
Die Suche nach Fähigkeiten im Umgang mit Automatisierungstools erfordert einen ähnlichen Ansatz wie die Einstellung eines Kandidaten mit bestimmten Programmierkenntnissen. Du musst wissen, was du von dem Bewerber erwartest.
Setzt du in deinen IT-Prozessen bereits Automatisierungswerkzeuge ein und möchtest du einen DevOps-Ingenieur einstellen, der mit diesen Werkzeugen arbeitet? Oder willst du auf Automatisierung umsteigen und brauchst einen DevOps-Ingenieur, der dich dabei intern unterstützt?
Suchst du nach Bewerbern, die entweder Fähigkeiten im Umgang mit den von dir bereits genutzten Automatisierungstools nachweisen können oder über die Fähigkeiten verfügen, diese in Ihrem Unternehmen einzuführen und einzusetzen.
Verwende die unten aufgeführten erforderlichen Fähigkeiten in deiner Stellenausschreibung:
Erforderliche Fähigkeiten
Spezifische Erfahrung in der Arbeit mit relevanten Automatisierungswerkzeugen.
Erkennen, welche Tools für bestimmte Aufgaben eingesetzt werden sollten.
Identifizierung von Möglichkeiten zur Nutzung von Automatisierung zur Verbesserung von Prozessen und Effizienz.
Automatisierungsarchitektur und Leistungstests.
Bereitstellung und Verwaltung von Konfigurationen.
Fehlersuche bei Automatisierungsproblemen.
Sicherheit und das Einhalten von Richtlinien sind kritische Aspekte jeder IT-Infrastruktur. Eine der größten Herausforderungen in Unternehmen besteht darin, dass die Entwicklungs- und Betriebsteams oft nicht mit den Sicherheitsteams verbunden sind. Da immer mehr Unternehmen in einer integrierten DevOps-Umgebung arbeiten, wird diese Herausforderung noch akuter.
Da DevOps den Schwerpunkt auf Geschwindigkeit und Effizienz legt, ist es typisch, dass das Tempo der DevOps-Arbeit den Sicherheitsteams weit voraus ist. Dies kann zu Verzögerungen führen, da Sicherheitsspezialisten den Code prüfen und verifizieren müssen. Das wiederum verlangsamt DevOps-Projekte und macht den Sinn dieser Arbeitsweise zunichte.
Deshalb ist es für dich von Vorteil, einen DevOps-Ingenieur einzustellen, der sich mit IT-Sicherheit auskennt. Suche nach einem Ingenieur, der in der Lage ist, Sicherheit in allen Phasen der DevOps-Umgebung und des Lebenszyklus zu implementieren und aufrechtzuerhalten, von der Entwicklung bis zur Bereitstellung und langfristigen Wartung.
Verwende die unten aufgeführten erforderlichen Fähigkeiten in deiner Stellenausschreibung:
Erforderliche Fähigkeiten
Fachkenntnisse in der Bereitstellung von Antiviren- und Malware-Programmen, einschließlich der Aufrechterhaltung der IT-Leistung, während diese im Einsatz sind.
Verständnis und Anwendung von Methoden und Werkzeugen zur Risikobewertung.
Entwurf und Einsatz von sicheren Netzwerken, Anwendungen und Architekturen.
Wiederherstellung und Backup.
Spezifisches Wissen über die Sicherheit von Cloud-Software.
Einsatz von Automatisierung in einem IT-Sicherheitskontext.
Testen und Diagnose gehen oft Hand in Hand mit Automatisierungswerkzeugen. Wenn ein Bewerber über die Verwendung von Automatisierungstools zur Unterstützung seiner Testprozesse spricht, kannst du die Gründe dafür in Erfahrung bringen. Ebenso können Kandidaten, die Tests unabhängig von Automatisierungswerkzeugen durchführen, wertvoll sein. Wenn du herausfindest, warum sie originelle und selbst entworfene Testmethoden anwenden, erfährst du viel über ihre Fähigkeiten.
Die besten DevOps-Umgebungen setzen eher auf Vorbeugung als auf Heilung. Suche bei der Einstellung nach Personen, die über die Fähigkeiten verfügen, um sicherzustellen, dass die Releases sicher und zuverlässig sind. Wenn jemand über außergewöhnliche Diagnosefähigkeiten verfügt, solltest du sich fragen, wie oft der Kandidat diese Fähigkeiten einsetzen muss. Diagnosefähigkeiten sind wichtig, aber deine Priorität sollte sein, sicherzustellen, dass Probleme gar nicht erst auftreten.
Frage die Bewerber nach den Testprozessen und wie sie sich in die anderen Elemente der DevOps-Umgebung integrieren, um zu verstehen, wie sie durch ihre Fähigkeiten einen Mehrwert für Ihr Unternehmen schaffen können.
Verwende diese erforderlichen Fähigkeiten in deiner Stellenausschreibung:
Erforderliche Fähigkeiten
Spezifische Diagnose- und Testfähigkeiten in Bezug auf die von dir verwendete Software, Systeme und Plattformen.
Verwendung und Einsatz von Automatisierungstools für Tests und Diagnosen.
Fehlerbehebung bei diagnostizierten Problemen.
Identifizierung von Problemen in verschiedenen Aspekten der DevOps-Umgebung.
Implementierung von Systemen zur Vermeidung wiederkehrender Probleme.
In der Regel gibt es fünf spezifische Rollen, die mit DevOps-Rollen verbunden sind. Es ist üblich, eine übergreifende Position zu finden, die du zur Überwachung Ihres gesamten DevOps-Prozesses und Ihrer DevOps-Kultur einsetzen kannst.
Für welche Rolle(n) du dich entscheidest, um sie in deinem Unternehmen zu besetzen, hängt von mehreren Faktoren ab:
Wie du dich auf die Arbeit in einer DevOps-Umgebung einstellst.
Die Fähigkeiten und Erfahrungslücken in deinem DevOps-Prozess.
Die Art der Person, die du suchst, und die Art der verfügbaren Position.
Schauen wir uns an, was die einzelnen DevOps-Rollen beinhalten, damit du verstehst, wen du einstellen kannst.
Die Rolle des DevOps-Evangelisten ist diejenige, die den DevOps-Prozess und die DevOps-Umgebung in deinem Unternehmen vorantreibt. Der DevOps-Evangelist kann eine Führungsrolle einnehmen. Du kannst von deinem Mitarbeiter verlangen, dass er in allen Bereichen von DevOps arbeitet und das gesamte Team zu Spitzenleistungen antreibt.
Je nachdem, wie weit dein Unternehmen DevOps bereits eingeführt hat, könnte ein Evangelist die erste Person sein, die du einstellst, um mit dem Aufbau Ihrer DevOps-Umgebung zu beginnen. Dein Evangelist könnte eine wichtige Rolle dabei spielen, deine bestehenden Dev- und Ops-Teams näher zusammenzubringen. Oder er könnte die letzte Person sein, die du einstellst, nachdem du die breitere Infrastruktur deines DevOps-Teams aufgebaut hast.
Optimal ist es in der Regel, sie zuerst einzustellen, da sie vom ersten Tag an den Standard und den Ton für DevOps in deinem Unternehmen angeben können. Verwende die folgenden Checklisten, um zu entscheiden, wann du einen DevOps-Evangelisten einstellen solltest und wann nicht.
Wann du einen DevOps-Evangelisten einstellen solltest
Wenn dein Unternehmen eine DevOps-Kultur schaffen will.
Wenn du Schulungsbedarf rund um DevOps hast und deine Teams befähigen musst, bestimmte Ziele zu erreichen.
Wenn deine derzeitigen Dev- und Ops-Teams kaputt oder ineffizient sind und du deren Rolle in deinem Unternehmen neu definieren musst.
Wenn du langfristige Hilfe bei der Identifizierung und Förderung von Talenten in den fünf wichtigsten DevOps-Rollen und Spezialisierungen benötigst.
Wann du keinen DevOps-Evangelisten einstellen solltest
Wenn du dir über die Rolle, die DevOps in deinem Unternehmen spielen soll, nicht sicher bist.
Wenn du mit deinen Dev- und Ops-Teams bereits großartige Ergebnisse erzielst und Ineffizienzen in ihrer Arbeitsweise minimierst.
Wenn du bereits über DevOps-Spezialisten verfügst, die hervorragende Ergebnisse erzielen und ihren Managern Bericht erstatten.
Wenn deine Manager in den einzelnen Bereichen von Dev und Ops hervorragend zusammenarbeiten und mit ihren Teams großartige Arbeit leisten.
In einem DevOps-Kontext wird der Release-Manager alles absegnen, bevor dein Team in die nächste Phase eines Projekts übergeht. Er ist an allem beteiligt, von der Freigabe des Plans und des Entwicklungszeitplans bis hin zur endgültigen Festlegung, wie ein Projekt langfristig bereitgestellt und gewartet werden soll.
Aufgrund der Art der Aufgabe muss der Release Manager über Kenntnisse in den Bereichen Programmierung und Testen sowie über einschlägige Qualitätssicherungskenntnisse verfügen. Die Aufgabe des Release Managers könnte darin bestehen, etwas zu "brechen", um zu überprüfen, ob es gut genug ist, bevor er zur nächsten Entwicklungsstufe übergeht.
Wenn du zum ersten Mal einen DevOps-Ingenieur einstellst, könntest du zunächst einen Release-Ingenieur einstellen. Längerfristig kannst du dann ein größeres Team von Ingenieuren einstellen, die dem Release-Manager unterstellt sind.
Zwar ist jede DevOps-Rolle wichtig, aber angesichts der Rolle, die die Automatisierung in erfolgreichen DevOps-Prozessen spielt, könnte dies die wichtigste sein.
Dein Automatisierungsarchitekt muss unter anderem folgende Aufgaben erfüllen
Möglichkeiten für den Einsatz von Automatisierung finden, um die Effizienz von Prozessen zu verbessern.
Die besten Automatisierungstools finden, um Ziele zu erreichen, wobei zu berücksichtigen ist, dass die besten Tools für bestimmte Prozesse unterschiedlich sein können.
Erleichterung der Entwicklung von kundenspezifischen Automatisierungen.
Spezifische Automatisierungen können sein:
Lieferung von Produkten zwischen verschiedenen Automatisierungswerkzeugen.
Kommunikations- und Projektmanagementfunktionen.
Sich wiederholende Aufgaben.
Serveraktualisierung und -wartung.
Wenn du einen Automatisierungsspezialisten benötigst, der in einer bestimmten Aufgabe mehr Erfahrung hat als in einer anderen, solltest du dies in deiner Stellenausschreibung erwähnen.
Die Rolle des Softwareentwicklers kommt dem am nächsten, was traditionell in getrennten Entwicklungs- und Ops-Umgebungen existiert.
Deine Softwareentwickler übernehmen die Verantwortung für das Schreiben von Code und die Integration der verschiedenen Elemente deiner DevOps-Projekte.
In einer DevOps-Umgebung sind die Entwickler zusätzlich für das Testen und die fortlaufende Wartung verantwortlich. Wenn du einen Softwareentwickler für dein DevOps-Team rekrutierst, solltest du dir darüber im Klaren sein, was die Rolle beinhaltet. Einige Entwickler verfügen nur über begrenzte Fähigkeiten zum Testen und zur kritischen Beurteilung ihrer Arbeit. Dennoch ist dies eine notwendige Fähigkeit für einen Entwickler, der in den DevOps-Bereich wechseln möchte.
Der Leiter der Qualitätssicherung (QA) arbeitet oft mit den Release Ingenieuren oder dem Release Manager zusammen. In den ersten Tagen der Einführung von DevOps in deinem Unternehmen kann es sein, dass ein und dieselbe Person diese Aufgaben wahrnimmt.
Langfristig sollten diese jedoch die Rolle eines Endbenutzers übernehmen. Du möchtest, dass ein QA-Leiter rücksichtslos potenzielle Probleme und Verbesserungsmöglichkeiten aufspürt. Du kannst sie auch einsetzen, um nach möglichen Verbesserungen im Code zu suchen. In einigen Unternehmen gibt es daher häufig QA-Spezialisten, die sowohl im Back-End- als auch im Front-End-Kontext arbeiten.
Die Rolle des Sicherheitsingenieurs ist bei DevOps von entscheidender Bedeutung. Deine Sicherheitsteams werden einen zweigleisigen Ansatz verfolgen.
Zum einen werden sie mit deinen Automatisierungsspezialisten und Softwareentwicklern zusammenarbeiten. Deine Sicherheitsingenieure spielen eine Schlüsselrolle, wenn es darum geht, die Sicherheit von Software-Builds während der laufenden Arbeit zu gewährleisten. Dieser Ansatz gewährleistet, dass Projekte effizient fortgesetzt werden können und lange Wartezeiten für die Freigabe vermieden werden
.
Deine Sicherheitsingenieure arbeiten auch auf unabhängiger Basis für die laufende Wartung, das Testen und den Umgang mit Problemen oder Sicherheitsverstößen.
Ein Sicherheitsingenieur muss proaktiv sein und in der Lage sein, seine Arbeit, Systeme und Prozesse zu bewerten, um Schwachstellen zu finden.
Wenn du Fragen für ein Vorstellungsgespräch formulierst, solltest du diese auf die spezifische DevOps-Rolle, die du besetzen möchtest, abstimmen.
Die folgenden fünf Fragen treffen wichtige Punkte für alle DevOps-Rollen auf hohem Niveau. Du kannst sie bei Bedarf anpassen, um auf die Besonderheiten deiner offenen Stelle einzugehen. Wir haben eine Erklärung beigefügt, warum jede einzelne Frage wichtig ist und worauf du bei guten Antworten achten solltest, damit du die besten Kandidaten erkennen kannst.
Wie berücksichtigen Sie die Sicherheit in Ihren DevOps-Prozessen? Wie machen Sie technisch nicht versierten Teammitgliedern die Bedeutung der Sicherheit deutlich?
Der Zweck von DevOps ist es, Dinge effizienter zu machen. Der Versuch, Dinge schneller zu erledigen, erhöht jedoch die Möglichkeiten, dass etwas schief gehen kann, beträchtlich. Nach Angaben des Digital Guardian belaufen sich die durchschnittlichen Kosten einer Datenschutzverletzung für US-Unternehmen auf 8,19 Millionen US-Dollar.
Viele Unternehmen können sich Sicherheitsverletzungen einfach nicht leisten, während alle Unternehmen sie vermeiden wollen sollten.
Frage deine Bewerber, wie sie das Thema Sicherheit bei ihrer Arbeit sehen und wie sie die Zustimmung derjenigen bekommen, die nicht direkt beteiligt sind.
Gute Kandidaten werden in der Lage sein, dir eine Handvoll konkreter Beispiele zu nennen, mit denen sie in ihrer bisherigen Laufbahn zu tun hatten. Jede gute Antwort zum Thema DevOps-Sicherheit wird Details zu den Herausforderungen enthalten, mit denen sie konfrontiert waren, wie sie Lösungen gefunden haben und möglicherweise sogar darauf eingehen, dass es mehrere Fehlversuche gab, bevor sie etwas fanden, das funktionierte.
Es ist wichtig, dass du diese Beispiele aus der Praxis kennst, damit du die Erfahrung deiner Kandidaten hinterfragen und überprüfen kannst und nicht nur ihr theoretisches Wissen.
Welches ist die schwierigste Automatisierung, die Sie je umgesetzt haben? Was machte sie zu einer Herausforderung?
Automatisierung ist eine wichtige Säule von DevOps. Es liegt in der Natur der Automatisierung, dass Dinge schief gehen können. Wenn ein Kandidat noch nie eine Herausforderung bei der Automatisierung eines Prozesses erlebt hat, ist er wahrscheinlich nicht jemand, der Grenzen überschreitet, und er wird in deinem Unternehmen nicht nützlich sein.
Achte auf Bewerber, die mit Leidenschaft für die Automatisierung antworten und darüber sprechen, dass sie aktiv nach Möglichkeiten zur Automatisierung komplizierter Prozesse suchen. Es lohnt sich auch, nach Prozessen zu fragen, die die Kandidaten nicht automatisieren wollen, und zu ergründen, warum. Neben der Frage nach der Erfahrung eines Kandidaten mit der Implementierung von Automatisierung solltest du ihn auch fragen, wie er in der Vergangenheit mit menschenzentrierten Herausforderungen umgegangen ist. Eine gute Frage könnte zum Beispiel sein, wie sie ihren Chef davon überzeugt haben, dass es sich lohnt, Zeit und Ressourcen in ein bestimmtes Automatisierungsprojekt zu investieren.
Eine überzeugende Antwort enthält nicht nur Hinweise auf verschiedene Automatisierungswerkzeuge, sondern auch auf die Geschäftsziele, denen diese Automatisierungen dienten. Im Idealfall gibt der Bewerber in seiner ersten Antwort an, warum er ein bestimmtes Tool einem anderen vorzieht, aber vielleicht musst du ihn selbst darauf ansprechen.
Erzählen Sie mir von einem Skript, das Sie in der Vergangenheit entwickelt haben, um den Betrieb zu verbessern, warum Sie es entwickelt haben und welche Auswirkungen es auf den Betrieb hatte.
Die besten DevOps-Ingenieure schreiben nicht nur Skripte und Code. Sie entwickeln Ideen für Skripte zur Verbesserung der Abläufe, überlegen, wie diese Skripte die Abläufe verbessern können, und übernehmen die Führung beim Schreiben und Implementieren dieser Skripte.
Du kannst die Bewerber auch fragen, wie sie eine Idee eines Kollegen übernommen haben und dazu beigetragen haben, sie zu verbessern. Zusammenarbeit und Feinabstimmung sind wichtige Eigenschaften, die man in diesem Bereich mitbringen sollte.
Starke Kandidaten werden diese Frage beantworten, indem sie das Problem, das sie dazu inspiriert hat, die Möglichkeit einer Verbesserung zu erforschen, klar herausstellen. Die besten Kandidaten werden in einfachen Worten und ohne Fachjargon sprechen und erklären, wie die Entscheidungen für das Projekt getroffen wurden. Hüte dich vor Bewerbern, die scheinbar Skripte und Ideen vorschlagen und umsetzen, nur weil sie es können, aber ohne einen konkreten Nutzen oder Zweck. Das kann dein Unternehmen teuer zu stehen kommen.
Denke daran, dass in jeder Phase dieser Frage spezifische und quantifizierbare Angaben erhalten möchtest. Wenn der Zweck zum Beispiel darin bestand, Zeit oder Geld zu sparen, wie viel wurde dadurch eingespart?
Erzählen Sie mir von einer Veröffentlichung, die schief gelaufen ist. Wie haben Sie das Problem stabilisiert? Was haben Sie für das nächste Mal gelernt?
Manchmal gehen bei DevOps Dinge schief. Du bist nicht daran interessiert, warum das Problem aufgetreten ist, da du eine Vorstellung davon bekommst, wenn der Bewerber dir erzählt, was er beim nächsten Mal anders machen würde.
Achte auf die Fähigkeit des Bewerbers, Lösungen zu finden und mit anderen zusammenzuarbeiten, um dies zu erreichen.
Ein erfahrener DevOps-Ingenieur wird mehrere Beispiele für Dinge haben, die schief gelaufen sind. Starke Kandidaten haben selbst bei den größten Problemen eine positive Einstellung und sprechen mit Leidenschaft über die Suche nach Lösungen.
Nutze die Antworten der Kandidaten, um weiter nachzuforschen und Fragen dazu zu stellen, wie das Lernen aus einem bestimmten Problem sie zu einem besseren DevOps Engineer gemacht hat.
Wie messen Sie Ihren Erfolg als DevOps-Ingenieur, individuell und als Teil eines Teams?
Im Kern geht es bei DevOps um kontinuierliche Optimierung und den unermüdlichen Wunsch nach Verbesserung. Jemand, der glaubt, dass der Tag kommen wird, an dem er seinen Erfolg nicht mehr messen oder seine Verbesserungen verfolgen muss, ist für den Job eines DevOps-Ingenieurs nicht geeignet. Viele Einzelpersonen und Unternehmen in diesem Bereich leben nach dem einfachen Mantra "jeden Tag 1 % besser".
Suche nach DevOps-Ingenieuren mit einer ähnlichen Denkweise. Wie bei allen Fragen, die du stellst, kannst du die Antwort als Mittel nutzen, um tiefer zu graben und Details herauszufinden. Die besten Kandidaten werden dir eine differenzierte Antwort geben, in der sie auf die spezifischen Ziele eines jeden Projekts eingehen, die für die Beurteilung des Erfolgs entscheidend sind.
DevOps-Gehälter können sehr unterschiedlich sein. Wie bei jedem Job hängen die Gehaltserwartungen von verschiedenen Faktoren ab, z. B. dem Standort und dem Niveau der Fähigkeiten und Erfahrungen, die du suchst. Die folgende Tabelle mit aktuellen Daten von Neuvoo (abgefragt im Juni 2020) zeigt, welches Gehalt du für eine Reihe von DevOps-Rollen auf verschiedenen Ebenen erwarten kannst.
DevOps-Rolle | Einstiegsgehalt | Durchschnittliches Gehalt | Top-Verdiener-Gehalt |
DevOps-Ingenieur - insgesamt ( ) | $78,006 | $135,000 | $200,000 |
DevOps-Evangelist* ( ) | K.A. | $159,109 | K.A. |
Release Manager ( ) | $18,525 | $148,200 | $165,760 |
Automatisierungsexperte ( ) | $16,770 | $115,000 | $195,000 |
Software-Entwickler ( ) | $36,817 | $102,505 | $168,752 |
Qualitätssicherungsingenieur ( ) | $35,685 | $88,068 | $149,716 |
Sicherheitsingenieur ( ) | $40,000 | $125,050 | $195,000 |
*Daten von Paysa, da keine Daten von Neuvoo vorliegen.Statistik korrekt am 3. Juni 2020.
Die erstmalige Einstellung von DevOps-Ingenieuren in deinem Unternehmen ist ein unglaublich spannender Schritt. Wenn du verstehst, wie DevOps sich auf dein Unternehmen auswirken kann, bist du in einer fantastischen Position, um DevOps-Talente zu rekrutieren.
Du musst verstehen, wie komplex und umfangreich die DevOps-Disziplin sein kann. Es reicht nicht aus, zu sagen: "Wir müssen ein paar DevOps-Ingenieure einstellen". Ihr Einstellungsplanungsprozess muss im Detail darauf eingehen, was und vor allem wen du in dein Unternehmen holen musst, um mit dem Aufbau deiner DevOps-Umgebung zu beginnen.
Beachte, dass viele DevOps-Ingenieure auf der Suche nach Rollen sind. Auch die Zahl der Unternehmen, die solche Positionen besetzen, nimmt zu. Daher musst du sicherstellen, dass du ein attraktives Angebot für DevOps-Talente darstellst. Sei dir darüber im Klaren, wonach du suchst, und zeige auf, warum ein Kandidat mit einer gefragten Qualifikation dein Unternehmen als Arbeitgeber wählen sollte.
Erstellen Sie in wenigen Minuten Assessments vor der Einstellung, um Kandidaten zu überprüfen, Zeit zu sparen und die besten Talente einzustellen.
Kein Spam. Abmeldung jederzeit möglich.
Unsere Screening-Tests helfen dabei, die besten Kandidat:innen schneller, einfacher und unvoreingenommen einzustellen.