Wege zur Optimierung des Einstellungsprozesses von DevOps durch das CALMS-Paradigma?

11

Ein Großteil der Rekrutierung von DevOps erfolgt nach dem Vorbild des Keyword-Abgleichs, was meiner Meinung nach ausschließlich zu einem technologischen Fokus führt.

Bei DevOps geht es um so viel mehr als nur um Technologie, und DevOps Engineer ist nicht nur ein besserer Systemadministrator mit einigen Programmierkenntnissen.

Die Rolle / das Profil von Senior DevOps bedeutet für mich, dass ich auch in vielen anderen Grundlagen und Praktiken Dienstalter anbieten kann, die über Infrastruktur- und Software-Engineering-Fähigkeiten wie Lean, Measurement hinausgehen und offen und kommunikativ sind (wer fragt DevOps-Mitarbeiter ehrlich nach ihren Kommunikationsfähigkeiten?!)

Kann eine Stellenanzeige / ein Vorstellungsgespräch in irgendeiner Weise effizienter sein - beispielsweise durch Anwenden von fragenden CALMS- Kategorien? - Dies führt zu Fragen wie "Wie wenden Sie jetzt Lean-Prinzipien an? Wie wurden kulturelle Aspekte in Ihren jüngsten DevOps-Projekten berücksichtigt?"

Weitere Ausarbeitung:

  • C ulture (zB Strategien für Konfliktmanagement und Haltung zu Ausfällen, eigenen und fremden)
  • Eine Utomation (hier fragen Sie nach den Fähigkeiten von Puppet / Docker usw.)
  • L ean (Grundlagen von Lean? Abfallarten?)
  • M essung (für Werkzeuge wie JMeter fragen , sondern auch um Dinge wie Probenahme, Datenmodellierung gehen ..)
  • S haring (offensichtlich Wissensmanagement und entsprechende Tools)

UPDATE - Warum sollten Arbeitgeber / Personalvermittler das Interview von CALMS nicht wie unten gezeigt strukturieren (zusätzlich könnte der Abschnitt "Automatisierung" entlang des DevOps- Modells formuliert werden ( Dokumentlink, schreibgeschützt )?

Geben Sie hier die Bildbeschreibung ein

Randnotiz - zum Beispiel ist also nicht mehr nur eine weiche Fähigkeit, für DevOps eine der Kernkompetenzen - wie alle anderen in diesem Bereich.

Peter Muryshkin
quelle
1
Dies ist eine großartige Frage und ich wünschte, ich hätte eine Antwort. Die meisten Ressourcen und Interviews, die ich vor einigen Monaten für eine Devops-Rolle hatte, obwohl sie zugegebenermaßen keine Senior-Rolle sind, befassen sich nicht mit dem Querschnitt der Fähigkeiten, die erforderlich sind, um "die Devops-Person" zu sein. . Ist CALMS etwas, für das man mieten kann? Ich denke, jemand, der diese starken Systemadministrationsfähigkeiten auf sinnvolle Weise neben CALMS bringen kann, wird ein bisschen wie ein Einhorn sein.
Briansbum
1
Während ich es gut finde, hier über diese Art von Fragen zu sprechen, muss ich Ihre Annahmen in Frage stellen (darüber, wie alle Arten von Dingen "im Allgemeinen" gerade nicht passieren, wenn DevOps-Jungs / -Mädchen eingestellt werden). Ich spreche mit Kandidaten über all diese Dinge. Wenn ein Personalchef dies nicht tut, würde ich annehmen, dass er DevOps selbst nicht wirklich mag?
AnoE
@Briansbum, Sie können sicherlich nach all diesen Dimensionen in einem Kandidaten suchen und herausfinden, wo sie schwach und stark sind, sodass Sie ein gutes Team zusammenbringen können (mit Menschen, die sich gegenseitig ergänzen). Diejenigen, die sich in allen auszeichnen, haben wahrscheinlich bereits ihren Traumjob und werden sowieso nicht hinsehen. ;)
AnoE

Antworten:

5

Dies ist eine brillante Idee, auch wegen Daniel Kahneman, der gezeigt hat, dass Sie die Verzerrung erheblich reduzieren , wenn Sie eine einzelne Punktzahl in 5 gewogene Punktzahlen aufteilen und diesen numerische Kriterien und Grenzen hinzufügen . Sie können nicht nur die Bewertung des Lebenslaufs gestalten, sondern den gesamten Einstellungsprozess mit Telefonbildschirmen, Interviews vor Ort und allem auf diese Weise. Dies würde die inhärente Tendenz der Interviewer erheblich verringern. Wir haben tatsächlich begonnen, für alle Einstellungen etwas Ähnliches zu tun.

Natürlich sollten Sie in jedem Bereich das Gewicht für das Unternehmen erhöhen, das für die Position wichtig ist. Sie stellen jedoch einen vielseitigen Ingenieur ein und möchten jemanden, der wesentliche Änderungen in der Arbeitsweise Ihres Unternehmens vorschlägt. Sie stellen nicht einfach ein Jemand mit spezifischen Fähigkeiten, um in einem begrenzten Bereich zu arbeiten. Viele Leute sehen diese Rolle einfach als höher bezahlten Release and Build Engineer, und wenn dies der Fall ist, sollten Sie dies einstellen und dafür werben.

Für eine DevOps-Einstellung würde ich vorschlagen, Lean durch Learning zu ersetzen. Es handelt sich ursprünglich um CAMS, und obwohl einige es auf CALMS erweitern, um Lean einzuschließen, ist dies etwas einschränkend, da DevOps auf so viel mehr als nur Lean basiert. Es sind auch Demings Ideen zu Variation spezieller und gemeinsamer Ursachen und Systemdenken, Nashs Gleichgewicht (wenn jeder für sich optimiert, könnte das Ergebnis suboptimal sein, verglichen mit dem, wenn jeder das Interesse der Gruppe einbezieht), Shewharts Statistical Process Control , Goldratt's Theorie der Zwänge , Talebs Anti-Fragilität und vieles mehr.

Auf diese Weise können Sie auch die Teilnahme an Lernkonferenzen und Präsentationen auf Konferenzen oder Meetups als Freigabe einbeziehen. In einer Position, in der Sie nicht immer Teil eines Teams sind oder Ihr Unternehmen möglicherweise nicht groß genug ist, um Ihre Kollegen als Mitarbeiter zu haben, ist es umso wichtiger, Beziehungen und Lernmöglichkeiten außerhalb des Arbeitsplatzes aufzubauen und aufrechtzuerhalten. Wir haben diese beiden im Allgemeinen unter Kultur zusammengefasst.

Ich würde persönlich die Soft Skills unter Kultur stellen, die erforderlich sind, um die Prozesse in Ihrer Organisation effektiv zu verbessern. CMMI- , Kanban- , Work in Progress-Grenzwerte , agile Praktiken usw.

JIRA scheint eher ein Sharing-Tool zu sein, und Git ist enger mit der Automatisierung verbunden.

Jiri Klouda
quelle
1
Danke Jiri; Sehen Sie eine Option, mit der wir ein erstes Basisreferenzblatt für die Branche erstellen können, speziell für DevOps im Hinblick auf die Organisationstransformation - CC-Lizenz - allgemein genug, um mit den meisten Personalvermittlern zu arbeiten?
Peter Muryshkin
Ich denke es könnte funktionieren. Ich würde gerne Feedback geben. Es wird bald viele DevOps-Profis im AllDayDevOps-Slack geben. Es gibt auch Personalvermittler, es könnte sich lohnen, dort einen Kanal zu starten.
Jiri Klouda
2

BEARBEITEN

Ich glaube, dass dies von Organisation zu Organisation abhängt und was von einem DevOps / Senior DevOps erwartet wird. Daher ist Ihr erster Satz 100% genau. Denn ein DevOps sollte in der Lage sein, eine Reihe von Tools zu verwenden, die das Unternehmen verwendet, und auch neue Tools zu verbessern oder zu bringen, die es dem Unternehmen und seinen Entwicklern ermöglichen, schneller zu arbeiten und weniger zu verschwenden.

Meiner Meinung nach sollte ein DevOps über starke SysAdmin-Kenntnisse und offensichtlich über Programmierkenntnisse verfügen, da Puppet, Chef, Python, Bash ausgiebig genutzt werden, sowie über einige Kenntnisse des Codes, der auf den Servern gespeichert ist, um zumindest geringfügige Fehlerbehebungen darüber durchführen zu können, warum Die Anwendung verhält sich von einer Umgebung zur anderen nicht wie erwartet.

Als Senior DevOps kann CALM angewendet werden, die Lean- und Messprinzipien gelten jedoch möglicherweise nicht. Zum Beispiel entwickeln wir Anwendungen mit Chef / Puppet / Ansible, um die alltäglichen Dinge zu automatisieren und alles synchron zu halten, was offensichtlich Zeit spart und weniger Abfall produziert .

In Bezug auf die Messung bin ich mir nicht sicher, ob dies in den meisten Fällen zutrifft. Die anderen CALM-Prinzipien sind jedoch Teil einer DevOps-Position.

Gute Kommunikationsfähigkeiten sind auch als DevOps wichtig, aber als Senior DevOps wichtiger, da Sie nicht nur mit Ihrem Team umgehen und Wissen und mit den Entwicklern teilen müssen, um sie zu unterstützen, sondern möglicherweise auch Erstellen Sie Berichte und halten Sie Präsentationen vor dem Management.

Ich mag die Tabelle, die Sie hinzugefügt haben, und es ist gut, ein Punktesystem zu haben. Einige Unternehmen fügen jedoch auch mehr Fähigkeiten / Technologien in eine Stellenanzeige ein als erforderlich.

Nach einem Telefoninterview (falls vorhanden) finde ich es auch nützlich, dass Sie in einem Interview einige Probleme erhalten, die Sie lösen oder zumindest Ihren Debugging-Prozess zeigen müssen und wie Sie sich in bestimmten Situationen verhalten werden. Persönlich mag ich schriftliche Tests nicht, da ich glaube, dass es keine Möglichkeiten gibt, ein Problem zu lösen, und manchmal ist Google auch Ihr Freund, da von Ihnen nicht erwartet wird, dass Sie alles auswendig wissen.

Als DevOps / Senior DevOps glaube ich, dass es eine Grenze zwischen den verwendeten Anwendungen und dem Wissen gibt. Sie könnten erstaunlich gut darin sein, diese neuen / alten Tools zu verwenden oder Code zu schreiben, aber wenn es um das Debuggen oder das Verständnis des Problems mit einem Server geht, ist Jenkins Job möglicherweise nicht in der Lage, dies zu tun.

Schließlich ist die vorgestellte Tabelle meiner Meinung nach eine Möglichkeit, ein DevOps-Wissen auch für eine leitende Position zu bewerten. Ich könnte dort einige zwischenmenschliche und Managementfähigkeiten hinzufügen, um es zu vervollständigen.

Und wenn es um den Auswahlprozess geht, können Sie sich die Tabelle ansehen und die Person mit einer Punktzahl auswählen, die Ihrer Meinung nach die richtige für Ihr Unternehmen ist, sowie sein (er) Verhalten während des Interviews und des Weges berücksichtigen (s) er stellte / beantwortete diese Fragen.

Sergiu
quelle
Ich würde sagen, dies geht in die richtige Richtung, geht aber nicht direkt auf die Frage ein - wenn Sie möchten, gehen Sie bitte etwas näher darauf ein.
Peter Muryshkin
1
@ PeterMuryshkin Ich war mir nicht sicher, was ich erweitern sollte, aber ich habe zusätzliche Gedanken dazu hinzugefügt
Sergiu
Ja, ich dachte, es könnte zu viel sein, aber ich war mir nicht sicher, worauf ich
Sergiu