In diesem Artikel möchte Darius Murawski mit euch teilen, wie emetriq Data Scientisten (auf deutsch eher unüblich: Datenwissenschaftler/innen) rekrutiert. Gerne könnt ihr Elemente hieraus für eurer eigenes Unternehmen verwenden, um bestehende Prozesse zu verbessern.
Anforderungsanalyse
Der ganze Prozess beginnt mit der Anforderungsanalyse mit dem Team. Dies entschiedet, welche Fähigkeiten unbedingt erforderlich sind.
Zum Beispiel hat ein Team den Fokus auf den Bereich NLP. Andere Teams suchen etwas generischer nach Verstärkung. Das Team erzeugt eine Stellenausschreibung und teilt diese mit der Personalabteilung, bei uns „People and Culture“ genannt. Diese erstellen dann, basierend auf der Stellenausschreibung des Teams, die konkrete Auschreibung, ergänzt um ein paar allgemeine Textbausteine, die für alle Stellen gelten.
Vorauswahl
Sobald die ersten Bewerbungen ankommen, schaut die Personalabteilung, ob die geforderten Anforderungen erfüllt sind.
Darüber hinaus überprüft sie auch, ob die Verstärkung motiviert ist und ob im Lebenslauf relevante Technologien aufgeführt sind, die wir im Unternehmen nutzen.
Falls die Verstärkung gut passt, werden personenbezogene Informationen (etwa Adresse und Wohnort) entfernt und dem Team, welches sich aktuell auf der Suche befindet, zur Verfügung gestellt.
Chat
Der Eingang eines neues Lebenslaufs und somit einer möglichen Verstärkung des Teams werden in einem internen Chat mitgeteilt. Der Lebenslauf selbst wird in der zuvor beschriebenen anonymisierten Form auf einem firmeninternen, zentralen Recher abgelegt, der nur von der Personalabteilung und Mitgliedern des Teams betrachtet werden kann.
Analyse des Lebenslaufs
Das Team schaut regelmäßig in diesen Channel und überprüft den Inhalt des Lebenslaufs. Es wird versucht, Antworten auf folgende Fragen zu bekommen:
- Hat die Verstärkung Erfahrung mit den Data Science Werkzeugen, die wir nutzen?
- Kann die Person die Ergebnisse gut und verständlich kommunizieren?
- Besitzt die Person Kentnisse aus den Bereichen Mathematik und Statistik?
und der wichtigste Aspekt: Kann die Person programmieren?
Jeder aus dem Team produziert Programme Wir suchen niemanden der die Algorithmen erklären kann, jeodch dann nicht in der Lage ist, die Algorithmen auf Daten anzuwenden. Jeder kann nun auf den CV entsprechendes Feedback geben, ob der Bewerbungsprozess fortgeführt werden soll oder nicht. Dies kann insbesondere dann verzögert werden, wenn mehrere Bewerbungen für eine bestimmte Stelle vorhanden sind.
Vor der Corona Pandemie
Team Interview
Vor der Pandemie wurde die Person für ein persönliches Gespräch mit dem ganzen Team eingeladen. Jedes Teammitglied hat dabei unterschiedliche Fragen gestellt (je nach Hintergrund). Themen waren hier Software Entwicklung, Fragen zu Algorithmen, die bereits bekannt sind (basierend auf dem Lebenslauf) oder genutzte technische Werkzeuge. Bestandteil war immer auch agiles Arbeiten sowie die (hierarchielose) Unternehmensstruktur und Entscheidungsprozesse in solch einem Kontext.
Programmieraufgabe
Nach dem Gespräch erfolgte eine Programmieraufgabe. Die Aufgaben wurden hierfür auf einem vorbereiteten Mac zur Verfügung gestellt. Im Kontext von Data Science bestand die Aufgabe in einer Datenbereinigung sowie anschließendem Training eines Algorithmus.
Nach dem Beginn der Pandemie
Mit dem Start der Pandemie wurde der Prozess angepasst. Es gibt keine direkten persönlichen Austausch mehr, alles findet über virtuelle Meeting statt.
Falls der Lebenslauf interessant ist, laden wir zu einem ersten virtuellen Meeting ein, um die Person besser kennenzulernen. Üblicherweise gehen wir immer zu dritt in diesen Termin: Zwei Personen aus dem Fachbereich Data Science sowie jemand aus dem Bereich der Personalabteilung.
Nach dem Gespräch erfolgt ein kurzer Austausch, um anschließend die Person für einen Probetag einzuladen.
Probetag
Den Probetag gestalten wir erneut rein virtuell. Die Person wird hierfür in ein entsprechenes Meeting eingeladen, bei dem jeder aus dem Team teilnehmen kann. Nach einer kurzen Vorstellungsrunde stellen wir den Ablauf für den Tag vor: Zunächst eine lockere Unterhaltung, damit jeder aus dem Team den Kandidaten kennenlernen kann. Anschließend beginnt eine Programmieraufgabe (etwa 3h). Wir beenden den Tag mit einem Code Review.
Programmieraufgabe
Nach etwa 30 Minuten beginnt die Programmieraufgabe. Wir nutzen hierfür einen kleinen Datensatz der Plattform „kaggle.com“. Die Person kann entweder lokal arbeiten oder eine (kostenlose) virtuelle Entwicklungsumgebung auf der kaggle-Plattform starten.
Wir bitten anschließend, den Bildschirm zu teilen, um zu sehen wie die Person das Problem löst. Dies kann sehr ungewohnt sein, gerade für Berufsanfänger. Wir wollen hier sehen:
- Wie die Person „denkt“
- Ob die Bewerber erklären können, was und warum sie etwas gerade machen
- Wenn sie nicht weiter kommen, helfen wir, technische Probleme zu lösen.
- Wie reagieren sie auf Feedback von dem Team
Die Aufgabe wird dabei von jemandem dauerhaft betreut und ist daher sehr zeitaufwendig. Jederzeit kann sich ein Teammitglied in die Unterhaltung einschalten.
Externe Quellen können genutzt werden, da dies auch Teil unserer täglichen Tätigkeit ist. Für die Data-Science-Stelle schauen wir insbesondere:
- Wurden alle von kaggle zur Verfügung stehenden informationen gesichtet und gelesen?
- Wurde in die Daten geschaut und hilfreiche Visualisierungen erzeugt?
- Wie wurden die Daten vorverarbeitet?
- Wurde ein Train-Test Split durchgeführt?
- Wurde eine Hyperparametersuche durchgeführt und wurde dafür ein eigenes Subset der Daten verwendet?
- Wie schnell wurde ein entsprechendes Programm geschrieben?
- Wie ist die Qualität und Lesbarkeit des Programmes (Anhand üblicher Kriterien aus dem Bereich Software Entwicklung)?
- Wie intensiv sind die genutzt Werkzeuge bekannt? Wurden hilfreiche Funktionen genutzt?
- Wurde eine Datei mit vorhersagen zu kaggle hochgeladen und wie war die Bewertung durch kaggle?
Was wir nicht erwarten:
- Tests in jegleicher Art
- Deployment, das heißt die Lösung in eine produktive Umgebung überführen
Für die Aufgabe sind etwa 3 Stunden geplant. Nicht unbedingt reicht die Zeit, um auch eine Vorhersage zu kaggle hochzuladen. Allerdings ist es genug Zeit, um einen Eindruck zu gewinnen, was unser Schwerpunkt ist bei der Programmieraufgabe.
Code Review
Am Ende der Programmieraufgabe bekommt die Person noch etwas Zeit, um das Programm aufzuräumen, um dann die Lösung dem ganzen Team interaktiv vorzustellen. Dann erfolgt eine intere Beurteiung, ob der Prozess weiter fortgeführt wird.
Überprüfung des Mindset
In der nächsten Interviewrunde wird überprüft ob das Mindset mit dem Mindset von emetriq übereinstimmt. Wir arbeiten in einem Umfeld bei dem eigenverantwortlich und ohne Vorgesetzte gearbeitet wird. Konflikte und Entscheidungen müssen hier selbst (d.h. ohne Vorgesetzte) gelöst werden.
Wie viel Gewicht dieses Interview hat, hängt wiederum von der Position ab, die ausgeschrieben ist. Positionen im IT Bereich, wozu ich jetzt Data-Science-Stellen ebenso zählen würde, haben hier weniger Gewicht als Stellenausschreibungen für andere Bereiche des Unternehmens. Zusätzlich wurde vor kurzem der „Gallup strengthfinder“ zu diesem Interview Typ hinzugefügt.
Vertragsangebot
Die Personalabteilung wird der Person nun ein Angebot machen. Wenn beide Seiten mit den Bedingungen einverstanden sind, begrüßen wir die neue Verstärkung im Team.
Vielen Dank für’s Lesen!
* Der Beitrag spiegelt die Meinung der Autoren wider und ist keine allgemeingültige Meinung des TDWI. Als TDWI bieten wir die Plattform, alle Themen und Sichtweisen zu diskutieren. *
Schreibe einen Kommentar