Wie man die Programmierfähigkeiten von Entwicklern vor der Einstellung testet

[CG]OlogN
4,925 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Fähigkeiten von Testentwicklern

Die Einschätzung der Programmierkenntnisse von Entwicklern ist inzwischen ein entscheidender Schritt in jedem technischen Rekrutierungsprozess. In einer von uns durchgeführten Studie haben wir ermittelt, dass die primäre Herausforderung für 60% der Personalverantwortlichen bei der Einstellung von Programmierern darin bestand, Kandidaten zu finden, die angemessen qualifiziert sind. In der Tat ist die Mehrheit der Fehlbesetzungen bei der Rekrutierung auf einen Mangel technischer Fähigkeiten zurückzuführen.

Sie denken vermutlich: "Moment mal, können Sie sich denn nicht auf die Lebensläufe der Entwickler verlassen?". Bedauerlicherweise, nein.

Entwickler auf clevere Art und Weise einstellen

Zuerst einmal sind Entwickler nicht unbedingt gut darin sind, sich selbst zu verkaufen - es könnte sein, dass Ihnen am Ende großartige Bewerber entgehen, weil sie auf dem Papier nicht auffallen.

Zweitens, weil die selbst genannten Fähigkeiten unzuverlässig sind - wenn Sie Ihre Hoffnungen auf einen glänzenden Lebenslauf setzen, könnten Sie von jemandem enttäuscht werden, der Ihren Erwartungen nicht ganz entspricht.

Zahlreiche Fähigkeiten zeichnen einen talentierten Programmierer aus. Es sind jedoch die technischen Fähigkeiten, die Sie am akkuratesten einschätzen können. Hier sind fünf Möglichkeiten, die Programmierfähigkeiten von Entwicklern zu überprüfen, bevor Sie sie einstellen:

1. Schauen Sie sich das Programmierer-Portfolio genauer an

Jeder leidenschaftliche Entwickler, mag er auch noch so jung sein, sollte über ein aussagekräftiges Portfolio verfügen.

Portfolios sind die beste Möglichkeit für Entwickler, ihre Programmierfähigkeiten mittels persönlicher Projekte zu präsentieren. Portfolios sind zudem eine einzigartige Chance, bleibenden Eindruck zu hinterlassen. Es gibt sie in vielen Formen und Größen, von einzelnen Webseiten für diejenigen, die sich als Junior-Entwickler etablieren möchten, bis hin zu komplexen Software-Projekten für Bewerber auf dem Senior- und Management-Level.

Portfolios sind im Rekrutierungsprozess ausgesprochen hilfreich, denn sie belegen den Entwicklungsstand der Bewerber und zeigen ihre Karriereziele, die Fähigkeiten, die sie sich aneignen wollen.

Achten Sie darauf, wie ein Kandidat den Kontext jedes Projekts beschreibt: Wie haben sie sich mit anderen Bibliotheken oder Tools integriert? Haben sie mit anderen Entwicklern zusammengearbeitet? Waren sie an vielen unvollendeten Projekten beteiligt?

Gute Kommunikationsfähigkeiten werden sich in einer Entwicklerrolle stets auszahlen. Mit einem Portfolio kann man auch die Fähigkeit eines Kandidaten prüfen, Dinge zu erklären und zu präsentieren.

Zudem können das Durchschauen des Portfolios eines Kandidaten sowie das Eindringen in den Quellcode einiger Projekte vor einem Vorstellungsgespräch als Gesprächsgrundlage dienen. Es kann Ihnen helfen, spezielle Fragen zu erstellen, die Sie während des Einstellungsverfahrens verwenden können.

Ein genauer Blick auf das Programmierer-Portfolio gibt Ihnen eine Vorstellung von den Programmierfähigkeiten und dem beruflichen Hintergrund eines Kandidaten.

Ein genauer Blick auf das Programmierer-Portfolio gibt Ihnen eine Vorstellung von den Programmierfähigkeiten und dem beruflichen Hintergrund eines Kandidaten.

Ein genauer Blick auf das Programmierer-Portfolio gibt Ihnen eine Vorstellung von den Programmierfähigkeiten und dem beruflichen Hintergrund eines Kandidaten.

2. Werfen Sie einen Blick auf das GitHub-Profil

GitHub ist eine wertvolle Ressource bei der Einstellung von Entwicklern. GitHub dient als ein Online-Showroom, wo Entwickler an Open-Source-Projekten arbeiten und zu den Initiativen anderer beitragen.

Für Entwickler besteht der Sinn und Zweck eines GitHub-Repositoriums darin, zu zeigen, dass sie lesbaren und wartungsfreundlichen Code schreiben können, den andere Leute leicht nachvollziehen oder in den sie einsteigen können.

Bevor Sie als Recruiter in diesen Code eintauchen, um zu überprüfen, wie sauber, lesbar und strukturiert er ist, sollten Sie zunächst simple Metriken überprüfen, wie beispielsweise

  • Die Anzahl der Follower (Anzeichen für den Ruf)
  • Das Datum, an dem der Kandidat GitHub beigetreten ist (ein nützlicher "zuletzt beigetretener" Filter existiert in den Sortieroptionen oben rechts), als Hinweis auf das Erfahrungsniveau
  • Relevante Schlüsselwörter für Sprachen und Technologien
  • Die Anzahl der Repositories, die Ihr Bewerber hat (Projekte, die er erstellt und was er von anderen mittels "forking" erhält), um ein Gefühl für die Art der Projekte zu bekommen, an denen er beteiligt ist
  • Ihre öffentliche Aktivität macht sich in der Anzahl der Beiträge bemerkbar, die auf der Website geleistet wurden (Pull-Anfragen, Commits, eröffnete Themen)

GitHub ist KEIN Lebenslauf. Es ist eine ideale Möglichkeit, einen Einblick in die Arbeitsproben der Entwickler zu erhalten, wie beispielsweise mobile Anwendungen, Spiele, Skripte, Plugins, etc. Aber vor allem können Sie sehen, wie Entwickler freiwillig mit Gleichgesinnten an gemeinsamen Projekten arbeiten.

3. Fragen Sie nach der Verwendung von Stack Overflow

Stack Overflow ist im Grunde eine Frage- und Antwortseite rund um das Thema Computerprogrammierung. Entwickler können Fragen zu allem stellen und beantworten, was mit Programmierung zu tun hat, und aktive Mitglieder erhalten für ihre Antworten und Beiträge Punkte und Badges. Die Website enthält ein facettenreiches Wissen und jeder Entwickler wird sie täglich nutzen.

Sie ist ideal dafür geeignet, um den Wissensstand eines Kandidaten und seine Beteiligung an der Entwicklergemeinschaft zu beurteilen. Sie können den Ruf der Entwickler bei Stack Overflow sowie ihre Top-Antworten schnell überprüfen. Die Reputationsrate ist umso objektiver, da sie von Gleichgesinnten gewährt wurde. Hochangesehene Benutzer bei Stack Overflow sind Entwickler, die erstens regelmäßig auf der Website aktiv sind, zweitens sachdienliche Fragen stellen und drittens, dank ihres Fachwissens hilfreiche Antworten geben.

4. Live-Kodierung

Da sie wahrscheinlich eine der härtesten und anstrengendsten Herausforderungen sind, denen Entwickler bei einem Rekrutierungsprozess begegnen können, werden Interviews mit Live-Coding oftmals verunglimpft.

Tatsächlich kann es ohne jegliche Übung erheblichen Stress erzeugen, in Gegenwart eines Interviewers zu denken, zu codieren und kommunizieren zu müssen. Aus der Sicht von Personalverantwortlichen sind Live-Programmierungstests allerdings eine ausgesprochen wertvolle Informationsquelle. Sie ermöglichen es dem Personalverantwortlichen, die Logik eines Kandidaten zu verfolgen, seine Fähigkeit zu erklären, was er da grade tut, wie er denkt und seine Fähigkeit, unter Druck zu kodieren.

So können Interviewer nicht nur in Echtzeit sehen, wie sich ein Kandidat allein mit seinen Programmierkenntnissen verhält. Sie testen überdies die kommunikativen und kollaborativen Fähigkeiten innerhalb eines Teams (sofern kollektive Interviews stattfinden).

Gewöhnlich erfolgt die Live-Codierung über die gemeinsame Bildschirmnutzung, bei der der Bewerber ein Briefing erhält und dann bei der Erfüllung der Aufgabe beobachtet wird. Diese Art der Übung unterscheidet sich stark von einer Prüfung, die an einen bestimmten Zeitrahmen geknüpft ist. Die Übung zielt nicht darauf, binnen kürzester Zeit eine korrekte Antwort auf die Frage zu geben, sondern die gesamte Sitzung als konstruktiven Dialog zu betrachten.

Die Interviewer könnten sich dafür interessieren, welche Art von Fragen der Befragte stellen wird, um das Problem besser zu verstehen, bevor er sich an die Lösung des Problems macht. Sie könnten es auch begrüßen, darauf hingewiesen zu werden, sollte der Kandidat irgendwann auf Schwierigkeiten stoßen.

Letztlich besteht das Ziel dieser Übung nicht darin, ein perfekt konstruiertes, ordentliches Stück Code zu produzieren (oder dies zu bewerten). In der Tat geht es bei der Live-Codierung darum, dass beide Parteien die Möglichkeit haben, in einer dynamischen, dialogorientierten Umgebung Verständnis füreinander zu entwickeln.

5. Tests zur Programmierung

Tests zur Programmierung gehören zu den effizientesten Methoden, um Entwickler vor der Einstellung zu prüfen. Sie bieten ein bewährtes Modell um kompetente Entwickler zu identifizieren und einzustellen. Die Kandidaten kodieren sich durch reale, praktische Probleme, die in einem Unternehmen auftreten können (wie beispielsweise das Auffinden eines Fehlers in einem defekten Teil eines Codes oder die ordnungsgemäße Synchronisierung einer Multithread-Anwendung), und ermöglichen es den Personalverantwortlichen, ihre Fähigkeiten im Bereich der Kodierung objektiv und effizient zu beurteilen.

Tech-Recruiter für HR-Manager können Programmiertests mit Plattformen wie zum Beispiels CodinGame einrichten und wählen, ob sie Bewerber in einer bestimmten Programmiersprache oder über mehrere Technologien (Java, Angular, Python usw.) testen möchten.

Der Code der Bewerber wird automatisch analysiert und den Personalverantwortlichen werden Leistungskennzahlen übermittelt. Diese Kennzahlen reichen von der Sprachbeherrschung bis hin zum Code-Design, der Lesbarkeit oder Solidity. Nach Beendigung der Analyse steht ein Testbericht zum Herunterladen und Austauschen zur Verfügung. So lassen sich die Kandidaten einfach miteinander vergleichen und in die engere Wahl ziehen.

Neben der Optimierung des Einstellungsverfahrens bieten diese Tests dazu eine optimierte Erfahrung der Kandidaten (verglichen mit den nicht-technischen Gesprächen, die häufig während eines ersten Gesprächs stattfinden). Programmiertests sind eine Möglichkeit für Personalvermittler, Entwicklern zu zeigen, dass sie technikaffin sind.

Durch Programmierherausforderungen sparen Personalvermittler viel Zeit. Zugleich sichern sich bezüglich der technischen Fähigkeiten ihrer Bewerber ab.

Technische Online-Programmierungstests ersetzen auf sinnvolle Weise Papier- oder Whiteboard-Tests und ermöglichen Entwicklern, ihre Fähigkeiten unter Beweis zu stellen.

Entwickler können ihre Programmierkenntnisse demonstrieren, indem sie praktische Programmieraufgaben in Angriff nehmen. Entwickler können ihre Programmierkenntnisse demonstrieren, indem sie praktische Programmieraufgaben in Angriff nehmen.

Bedenken Sie unseren Ratschlag, wenn Sie Ihre nächsten Entwickler suchen: Verzichten Sie auf das Rätselraten und seien Sie bei Ihrer Kandidatenwahl auf der sicheren Seite.

Werkzeug zur Bewertung der Programmierfähigkeiten

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content