Volltreffer mit Kodierungstests in natürlicher Umgebung [Fallstudie]

26. August 2015

After publishing a post concerning most common don’ts of hiring programmers we received some questions regarding programming tasks and the way we should verify coding skills.

From my long-term work experience I’ve got a lot of consulting practice on recruiting process of programmers in some of the biggest IT companies based mostly in central-eastern Europe.

Wir haben viel über technische Interviews geschrieben. Zur Übersicht Der ultimative Leitfaden für das technische Interview.

Herausforderungen bei der Befragung von Entwicklern

When I started interviewing developers there was no time for active programming and coding tests. We had a lot of candidates, so we had to stick to one hour limit for every issue – soft and technical assessment as well as financial negotiations. Finally we were hiring around 5% of initial candidates. After trial period about 90% of them continued working. It was quite good conversion rate.

Ziemlich...

Aber nachdem wir die Kosten berechnet hatten, die durch unangemessene Einstellungsentscheidungen verursacht wurden, stellten wir fest, dass wir eine Menge Geld verschwendeten. Gehalt, HR, Büro, Notebooks, Zeit für leitende Entwickler, Zeit für Kickstart usw. Die Ausgaben zusätzlich zum Gehalt waren im Durchschnitt fast doppelt so hoch wie die Endkosten.

Es gab drei Hauptgründe dafür, nach der Probezeit keine Entwickler einzustellen:

  1. Sie waren nicht in der Lage, im Team zu arbeiten,
  2. sie hatten nur theoretisches Wissen,
  3. sie arbeiteten viel langsamer als erwartet.

Der Grund, warum wir nicht in der Lage waren, all diese Nachteile herauszufinden, war das Überspringen aktiver Kodierungstests während des Interviews. Softwareentwickler einzustellen, ohne zu prüfen, ob sie wirklich schnell und intelligent programmieren können, ähnelt dem Kauf eines Autos, ohne zu prüfen, ob der Motor funktioniert.

Wie konnten wir also all diese Schwachstellen in nur 60 Minuten überprüfen?

The answer is simple – we couldn’t! We had to extend interviewing process by at least two hours. But prior to doing that we were forced to limit the number of candidates at first. We decided to make 15 minutes phone screening by asking 10-15 technical questions as well as getting to know their salary expectations. On that basis we’re inviting candidate again or not. Screening process allowed us to reduce number of next necessary meetings by almost 40%, which was worse result than we expected, but good enough for extending the time of every single interview.

Wir haben versucht, eine Lösung zu finden, um zu überprüfen, ob jeder Kandidat auf der gleichen Wellenlänge mit dem Team ist und ob er die Programmiersprachen verwenden kann, die wir normalerweise täglich benutzen. Unabhängig von den erforderlichen Programmierkenntnissen bei der Arbeit der Programmierer legen wir Wert auf die Art und Weise, wie sie denken, insbesondere da dies ihre Fähigkeit zur Kommunikation mit anderen beeinträchtigt.

Ist die Paarprogrammierung eine Lösung?

The idea was to do pair programming! Cool – we’ll get the best of both worlds. The assumption was right for around 70% of our candidates. As a result one-hour coding session was sufficient to see how someone will act in our demanding and specific environment – both in using possessed knowledge in practice, using ability of quick information processing, flexibility and also as a teamworker, who sometimes is forced to make compromises in order to achieve company’s goals.

Gleichzeitig konnten wir dadurch auch sehen, wie sie Werkzeuge einsetzen, aber vor allem - wie sie die SOLID-Prinzipien in der Praxis anwenden können usw. Aber was ist mit dem anderen 30%? Tatsächlich waren dies Leute, die überhaupt nicht paarweise programmieren können. Für sie war das völlig unnatürlich. Ist das ein großes Problem? Wenn Ihnen klar wird, dass Sie in der Praxis 5-10% der Zeit mit dem Programmieren in Paaren verbracht haben, müssen Sie sich überlegen, ob Sie mit solchen Mitarbeitern auf der Stelle, die Sie besetzen, leben können 🙂

Wie können wir ihre Kodierfähigkeiten überprüfen? Lassen Sie sie einfach die Aufgabe fortsetzen, die wir begonnen haben. Aber allein. Ohne Interviewer, die ihnen über die Schulter schauen und jede einzelne Zeile eines Codes kommentieren.

Wichtig ist auch, dass wir die natürlichen Bedingungen für jeden Entwickler wiederherstellen - installierte Lieblings-IDE, Zugang zu StackOverflow.com, Dokumentation usw. Wenn der Kandidat nach der Verwendung seines eigenen Notebooks fragt - die Antwort sollte immer lauten: "Fühlen Sie sich frei. Tun Sie alles, was Sie brauchen, um sich beim Programmieren wohl zu fühlen". Natürliche Umgebung ist ein absolutes Muss für alle Arten von Tests zur Überprüfung der Programmierfähigkeiten, sowohl bei der Paarprogrammierung als auch bei Einzelgesprächen.

Beitrag teilen

Es ist mehr als nur ein Newsletter

Erhalten Sie nützliche Einblicke direkt in Ihren Posteingang und erfahren Sie mehr über die Einstellung von Technikern.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.