Wie man die besten Ingenieure einstellt, ohne sich umzubringen

Ursprünglicher Autor: Sau Sheong Chang
  • Übersetzung
Garena , wo ich jetzt arbeite, ist in dem Prozess des Wachstums und ich habe Ingenieure, Systemadministratoren und ähnliches Personal Einstellung den Appetit einer wachsende Plattform und Pläne zu erfüllen , zu erhalten und zu Veröffentlichungsdaten der Produkte. Das Problem, auf das ich ständig stoße, ist, dass nicht nur unser Unternehmen Ingenieure sucht und anstellt. Dies gilt insbesondere dann, wenn viele Unternehmen ihre jährlichen Prämien (oder deren Fehlen) veröffentlicht haben und unzufriedene gewöhnliche Mitarbeiter der Unternehmen sich den Bewerberkreisen anschließen. Mit anderen Worten, musikalische Stühle mit Firmen und Ingenieuren versammeln sich auf einem Haufen.
„Musikalische Stühle“ (Kinderspiel; Kinder gehen um eine Reihe von Stühlen herum, um Musik zu hören; wenn die Musik aufhört, begeben sich die Spieler auf Stühle, die einer weniger sind als die, die spielen)

Es ist unnötig zu erwähnen, dass dies einige Einstellungsschwierigkeiten verursacht. Es ist erfreulich, dass es viele Kandidaten gibt. Die Kehrseite dieser Tatsache ist jedoch das Problem, einen hochqualifizierten Ingenieur mit einer angemessenen Denkweise im Rahmen eines wachsenden Startups zu halten. Gleichzeitig sollte die Auswahl und Genehmigung des Bewerbers schnell erfolgen, da die Verzögerung auch bei einem teilweise geeigneten Bewerber mit einem Verlust von ein bis zwei Tagen behaftet ist.

Daher frage ich mich, welcher Weg am besten ist, wenn Sie eine große Kandidatenliste haben und am Ende den besten Ingenieur oder auf jeden Fall den, der zu den Besten auf dieser Liste gehört.



In dem Buch Flip Warum eine Münze: Die Kunst und Wissenschaft der guten EntscheidungenHW Lewis schrieb über eine ähnliche (wenn auch strengere) Datierungsfrage. Anstatt Kandidaten auszuwählen, wird in dem Buch über die Auswahl einer Frau berichtet, und anstatt Interviews zu führen, wird das Problem der Datierung in Betracht gezogen. Im Gegensatz zu einem Buch, in dem davon ausgegangen wird, dass Sie sich immer nur mit einer Person treffen können, kann ich in meiner Situation natürlich mehr als einen Kandidaten interviewen. Die auftretenden Probleme sind jedoch weitgehend unverändert: Wenn ich zu viele Kandidaten interviewe und zu viel Zeit für die Entscheidungsfindung aufbringe, werden sie von anderen Unternehmen abgefangen. Ganz zu schweigen von der Tatsache, dass ich wahrscheinlich schon vorher mit Schaum im Mund an einer Überdosis Kommunikation sterben werde.

In dem Buch schlug Lewis die folgende Strategie vor - nehmen wir an, wir wählen aus einer Liste von 20 Kandidaten aus. Anstatt alle zu interviewen, wählen wir zufällig 4 Kandidaten aus, interviewen sie und wählen die besten aus dieser Stichprobenliste aus. Nachdem wir nun das Beste dieser 4 Kandidaten auf Lager haben, befragen wir den Rest der Liste nacheinander, bis wir jemanden treffen, der besser ist, und stellen schließlich diesen Kandidaten ein.

Wie Sie vielleicht erraten haben, ist diese Strategie wahrscheinlich und garantiert nicht die Auswahl des besten Kandidaten. Tatsächlich gibt es zwei Worst-Case-Szenarien. Erstens, wenn wir versehentlich die 4 schlechtesten Kandidaten als Stichprobenliste auswählen und der erste aus dem Rest der Liste ausgewählte Kandidat 5 m schlechteste ist, dann stellen wir den 5. schlechtesten Kandidaten ein. Nicht gut. Befindet sich dagegen der beste Kandidat auf der Stichprobenliste, riskieren wir 20 Interviews und verlieren diesen besten Kandidaten, weil der gesamte Prozess zu lange gedauert hat. Schon wieder schlecht.

Also ist das eine gute Strategie? Was ist die optimale Größe der Liste (Gesamtzahl der Kandidaten) und der Stichprobenliste, um das Beste aus dieser Strategie herauszuholen? Seien wir gute Ingenieure und verwenden Sie die Monte-Carlo-Simulation, um die Antwort zu finden.

Beginnen wir mit der Größe der Liste mit 20 Kandidaten und sortieren dann die Nummer der Stichprobenliste von 0 bis 19. Für jede Stichprobenliste ermitteln wir die Wahrscheinlichkeit, dass der ausgewählte Kandidat der beste Kandidat in der Liste ist. Tatsächlich kennen wir diese Wahrscheinlichkeit bereits, wenn die Stichprobenliste 0 oder 19 ist. Wenn die Stichprobenliste 0 ist, wird der erste Kandidat ausgewählt, den wir befragen werden (da es niemanden gibt, mit dem wir vergleichen können). Die Wahrscheinlichkeit ist also 1/20. und beträgt 5%. In ähnlicher Weise müssen wir bei einer Stichprobenliste von 19 den letzten Kandidaten auswählen und die Wahrscheinlichkeit dafür ist ebenfalls 1/20 und beträgt 5%.

Hier ist der Ruby-Code, der dies modelliert. Führen Sie die Simulation 100.000 Mal durch, um die Wahrscheinlichkeit so genau wie möglich zu berechnen, und speichern Sie das Ergebnis in der CSV-Datei optimal.csv
  1.  
  2. require 'rubygems'
  3. require 'faster_csv'
  4.  
  5. population_size = 20
  6. sample_size = 0..population_size-1
  7. iteration_size = 100000
  8. FasterCSV.open('optimal.csv', 'w')do|csv|
  9.   sample_size.each do|size|
  10.     is_best_choice_count = 0
  11.     iteration_size.times do
  12.       # создаем список и сортируем случайным образом
  13.       population = (0..population_size-1).to_a.sort_by {rand}
  14.       # получаем список-образец
  15.       sample = population.slice(0..size-1)
  16.       rest_of_population = population[size..population_size-1]
  17.       # это лучший из списка-образца?
  18.       best_sample = sample.sort.last
  19.       # находим наилучшего выбранного этой стратегией
  20.       best_next = rest_of_population.find {|i| i > best_sample}
  21.       best_population = population.sort.last
  22.       # наилучший ли это выбор? считаем сколько раз этот выбор наилучший
  23.       is_best_choice_count += 1 if best_next == best_population
  24.     end
  25.     best_probability = is_best_choice_count.to_f/iteration_size.to_f
  26.     csv <<[size, best_probability]
  27.   end
  28. end
  29.  


Der Code ist ziemlich selbstverständlich (insbesondere bei allen Kommentaren), daher werde ich nicht auf Details eingehen. Das Ergebnis wird unten im Liniendiagramm angezeigt, nachdem die Datei in MS Excel geöffnet und markiert wurde. Wie Sie sehen, haben Sie, wenn Sie 4 Kandidaten als Stichprobenliste auswählen, ungefähr 1 Chance von 3, den besten Kandidaten auszuwählen. Bessere Chancen, wenn Sie 7 Kandidaten als Stichprobenliste auswählen. In diesem Fall liegt die Wahrscheinlichkeit, dass Sie den besten Kandidaten auswählen, bei etwa 38,5%. Es sieht nicht sehr gut aus.
Am besten

Ehrlich gesagt, muss der Kandidat bei mehreren Kandidaten nicht „der Beste“ sein (auf jeden Fall sind solche Bewertungen subjektiv). Angenommen, ich möchte einen Kandidaten im oberen Viertel der Liste (Top 25%) bekommen. Was sind dann meine Chancen?

Hier ist der überarbeitete Code, der dies modelliert.

  1.  
  2. require 'rubygems'
  3. require 'faster_csv'
  4.  
  5. population_size = 20
  6. sample_size = 0..population_size-1
  7. iteration_size = 100000
  8. top = (population_size-5)..(population_size-1)
  9. FasterCSV.open('optimal.csv', 'w')do|csv|
  10.   sample_size.each do|size|
  11.     is_best_choice_count = 0
  12.     is_top_choice_count = 0
  13.     iteration_size.times do
  14.       population = (0..population_size-1).to_a.sort_by {rand}
  15.       sample = population.slice(0..size-1)
  16.       rest_of_population = population[size..population_size-1]
  17.       best_sample = sample.sort.last
  18.       best_next = rest_of_population.find {|i| i > best_sample}
  19.       best_population = population.sort.last
  20.       top_population = population.sort[top]
  21.       is_best_choice_count += 1 if best_next == best_population
  22.       is_top_choice_count += 1 if top_population.include? best_next
  23.     end
  24.     best_probability = is_best_choice_count.to_f/iteration_size.to_f
  25.     top_probability = is_top_choice_count.to_f/iteration_size.to_f
  26.     csv <<[size, best_probability, top_probability]
  27.   end
  28. end
  29.  


In der Datei Optimal.csv haben wir eine neue Spalte hinzugefügt, die das oberste Viertel (die obersten 25%) der Kandidaten enthält. Unten ist ein neues Diagramm. Zum Vergleich werden die Ergebnisse der vorherigen Simulation hinzugefügt.
Beste + 25

Jetzt ist das Ergebnis ermutigend, die optimale Größe der Stichprobenliste ist 4 (obwohl aus praktischen Gründen 3 gut genug ist, da der Unterschied zwischen 3 und 4 gering ist). In diesem Fall steigt die Wahrscheinlichkeit, einen Kandidaten aus dem oberen Viertel der Liste auszuwählen, auf 72,7%. Großartig!

Jetzt beschäftigen wir uns mit 20 Kandidaten. Was ist mit einer Liste mit vielen Kandidaten? Wie kann diese Strategie beispielsweise eine Liste von 100 Kandidaten aufrechterhalten?
100 + Beste + 25

Wie Sie sehen, eignet sich diese Strategie nicht zur Bestimmung des besten Kandidaten aus einer großen Liste (die Stichprobenliste ist zu groß und die Erfolgswahrscheinlichkeit zu niedrig). Dieses Ergebnis ist schlechter als das, was wir für eine Liste mit einer kleineren Nummer erhalten haben. Wenn wir jedoch mit dem Kandidaten aus dem oberen Viertel der Liste zufrieden sind (d. H., Wir sind weniger anspruchsvoll), reichen uns 7 Kandidaten in der Stichprobenliste aus, während die Wahrscheinlichkeit, die erforderlichen Ergebnisse zu erzielen, 90,63% beträgt. Das sind erstaunliche Chancen!

Das bedeutet, dass Sie als Personalchef mit Hunderten von Bewerbern nicht versuchen müssen, sich selbst zu töten, indem Sie alle befragen. Befragen Sie einfach die Probenliste von 7 Kandidaten, wählen Sie die beste aus und befragen Sie die anderen nacheinander, bis Sie eine finden, die besser ist als die beste auf der Probenliste. Die Wahrscheinlichkeit, dass Sie einen der besten 25% der Liste der 100 Kandidaten auswählen, liegt bei 90,63% (und dies wird wahrscheinlich derjenige sein, den Sie benötigen)!

Jetzt auch beliebt: