Daher stelle ich eine leitende Entwickler- / Teamleiterrolle für ein ASP.NET MVC3-Projekt ein. Dies ist eine große Position für unser Team, da diese Person eines unserer beiden Hauptprodukte leiten wird - ein Produkt, das seit einiger Zeit nicht mehr viel Entwicklerliebe hat.
Daher muss ich sicherstellen, dass meine Kandidaten mit Controllern, Ansichten, Ansichtsmodellen, DALs, Komponententests usw. kluge Dinge tun. Ich verwende während der Interviews einige triviale Programmierherausforderungen, möchte aber den Leuten, die Probleme mit der Whiteboard-Codierung haben, eine Chance geben scheinen.
Die beste Aufgabe, die ich mir vorstellen kann: Das Implementieren einer einfachen Anmeldeseite ist wahrscheinlich mehr als eine Stunde Arbeit, und selbst wenn ich sie auf 2 Stunden beschränke, ist es unwahrscheinlich, dass sie zu 100% abgeschlossen ist.
Ist das fair? Ich versuche, ein Gleichgewicht zwischen der Aufrechterhaltung eines angemessenen Auftrags und der Möglichkeit für den Bewerber zu finden, das breite Spektrum an Fähigkeiten zu demonstrieren, die ein technischer Leiter benötigt.
Antworten:
Nachdem Sie als Manager und Bewerber auf beiden Seiten dieses Themas waren, haben Sie mit 1 bis 2 Stunden Recht. Für einige Bewerber (wenn nicht die meisten) wird alles frustrierend. Alles, was kürzer ist, wird Ihnen wahrscheinlich nicht genügend Informationen und Einblicke in die Fähigkeiten des Kandidaten geben.
Das einzige, was ich hinzufügen möchte, ist sicherzustellen, dass die Interviewaufgabe nicht völlig überraschend ist. Vielleicht wäre es vernünftig, dem Kandidaten eine allgemeine Vorstellung davon zu geben, worauf er sich vorbereiten sollte (auch wenn es nur eine allgemeine Vorstellung ist). Hier ist der Grund: Ich verbringe manchmal ein paar Monate damit, nichts anderes als datenbankbezogene Programmierung zu tun. Ich gerate in einen bestimmten Groove und bin für eine Weile ziemlich gut in der datenbankbezogenen Programmierung.
Dann werde ich gebeten, proprietäre Videopräsentationen, Schulungen usw. so zu implementieren, dass niemand sie abreißen kann ... und ich gerate in diesen Groove und tue so ziemlich nichts anderes.
Auch wenn Sie einen Entwickler- / Teamleiter interviewen, geben Sie ihm, wenn der Kandidat wie ein guter Kerl erscheint, die Möglichkeit, herauszufinden, wonach Sie suchen, wenn Sie nur einige allgemeine Probleme erwähnen müssen oder wenn Sie das Gefühl haben großzügig, geben Sie ihm eine Handvoll spezifischer Themen zum Nachdenken.
Sie und / oder andere mögen mit diesem Ansatz nicht einverstanden sein, aber Vorstellungsgespräche sind schwierig. Sie möchten sicherstellen, dass der Kandidat dem Schnupftabak gewachsen ist, aber Sie möchten ihm auch die Möglichkeit geben, Sie zu beeindrucken und sich sicher zu fühlen. Höchstwahrscheinlich werden Sie feststellen, dass solche Kandidaten Ihnen viel mehr echte Informationen liefern als diejenigen, die ein nervöses Wrack sind, weil sie wissen, dass es irgendeine Art von Aufgabe geben wird ... aber sie wissen nicht, was es sein wird.
Kurz gesagt, ja, ich denke du bist fair!
quelle
Es sollte angenommen werden , dass ihr Lebenslauf zeigt, dass sie codieren können. Warum sollten Sie sie sonst interviewen? Wenn Sie nicht sehen können, dass der Code sie nicht einbringt, verschwenden Sie Ihre Zeit.
Trotzdem würde ich mir mehr Gedanken darüber machen, wie sie sich der Lösung nähern als dem mechanischen Teil der Lösung (dem Code) und wie sie ihre Lösung kommunizieren. Aus diesem Grund gibt es Whiteboards.
Wenn Sie ihnen eine Reihe grundlegender Anforderungen zur Verfügung stellen und das erste, was sie nicht tun, ist, nach Einzelheiten zu fragen, dann ist das ein Streik. Sie sollten eine bestimmte Reihe von Dingen haben, die Sie vorher sagen oder fragen hören möchten. Dies ist mehr Arbeit für Sie, aber Ihre Entscheidung auf so etwas zu stützen ist genauer, als wenn jemand etwas hackt, von dem ohnehin nicht erwartet wird, dass es funktioniert .
Ältere Teammitglieder sollten in der Lage sein, eine Lösung zu entwerfen, das Design zu präsentieren und zu erklären und gegebenenfalls Entscheidungen zu verteidigen oder Entscheidungen auf der Grundlage von Rückmeldungen anzupassen und den Plan den Juniormitgliedern des Teams mitzuteilen und ihn auf Mentoring-Weise zu erläutern.
Diese menschliche Interaktion ist wichtiger, als dass sie einen geschäftigen Einstiegsauftrag teilweise erledigen. Was die meisten nicht wollen werden; Wenn sie es überhaupt tun und anschließend ein Angebot erhalten, wird dies wahrscheinlich abgelehnt, da es sich um eine erniedrigende Aufgabe handelt.
Es gibt viele hochrangige Cowboy-Programmierer, die keine persönlichen Fähigkeiten haben und überhaupt nicht in einem Team arbeiten. Ein erfundener Test, den Sie vorschlagen, wird diese Leute nicht ausmerzen, und vertrauen Sie mir, dass Sie keinen einzigen dieser Art wollen von Menschen in einem Team jeder Größe!
quelle
Wenn der Datenbankzugriff nicht Teil der Frage ist, hoffe ich, dass 2 Stunden ausreichen sollten, damit eine Mindestanmeldefunktion funktioniert.
Bestehen oder scheitern Sie den Kandidaten jedoch nicht aufgrund der Vollständigkeit, sondern überprüfen Sie den Ansatz, den er verfolgt.
Stellen Sie nach Abschluss des Interviews unbedingt viele weitere Fragen zum Code.
quelle
Klingt vernünftig, aber Sie möchten möglicherweise mindestens eine andere Seite einfügen, die nach dem Anmelden von der Anmeldeseite verwendet wird.
Wenn Sie erwarten, dass sie diese Aufgabe während des Interviews in Ihrem Büro erledigen, teilen Sie ihnen dies rechtzeitig mit, damit sie dies planen und die erforderliche Zeit für das Interview einplanen können. Nach meiner Erfahrung dauern Interviews nicht länger als eine Stunde, daher ist es nur fair, sie wissen zu lassen, was sie zu erwarten haben und wie viel Zeit Sie ihnen geben werden.
Die andere Möglichkeit besteht darin, dass sie Ihre Aufgabe zu Hause erledigen können. Dadurch können sie jedoch mehr Zeit und Ressourcen verbrauchen (dh Hilfe erhalten). Auf diese Weise können Sie ihnen jedoch eine kompliziertere Aufgabe geben, die alles zeigt, was Sie von ihnen erwarten.
quelle
Völlig fair, vorausgesetzt, Sie sagen ihnen im Voraus, wie viel Zeit für das Interview benötigt wird. Wenn jemand Ihren Test nicht schreiben möchte, möchten Sie ihn nicht einstellen. Ich hatte schon längere Tests und ich persönlich habe es geschätzt. Insbesondere eines war schwierig und länger als die zugewiesene Zeit, war jedoch ein hervorragendes Maß für den Einfallsreichtum, die Prioritätensetzung und die Fähigkeiten der Kandidaten zur Problemlösung. Dieser Arbeitgeber hatte dort sehr hochqualifizierte Entwickler.
Ich denke, Sie sind auf dem richtigen Weg mit dem, was Sie von einem Kandidaten erwarten. Allzu oft listet ein Lebenslauf eine Million Dinge auf, über die der Kandidat gelesen hat, die er aber eigentlich nicht weiß. Manchmal können Sie diese Dinge in einem regelmäßigen Interview aussortieren, aber wenn Sie wissen möchten, ob jemand tatsächlich etwas erledigen kann, lassen Sie ihn es tun.
Stellen Sie einfach sicher, dass die Erwartungen klar sind und Sie die Fähigkeiten testen, die für den Job am wichtigsten sind.
In Ihrem Szenario könnte es mich auch beschäftigen, wie gut der Kandidat HTML, Javascript und Layout versteht.
quelle
Möchten Sie allen Kandidaten die gleiche Aufgabe geben? Sie sollten in der Lage sein, eine Auswahlliste von einer zu erhalten. Sie Aufgabe / Test, ist da, um zu zeigen, dass der Kandidat nicht nur das Gespräch sprechen kann, sondern auch den Weg gehen kann.
Was ich tun würde, ist, den Kandidaten zurückzubringen, ihn darüber zu informieren, dass er auf einer kurzen Liste steht (sagen Sie nicht 1), ihn mit einem oder zwei seiner potenziellen (täglichen) Mitarbeiter zusammenzustellen und die " Team ", um das Problem zu lösen. 1-2 Stunden sind mehr als genug, damit das Team Ihnen mitteilen kann, dass es gut genug ist, ein Anführer oder Anhänger, ein Macher oder ein Faulpelz, kompetent oder ... usw.
Sie sind ein kleines Unternehmen, und nichts wird Ihre Organisation schneller zerstören als dysfunktionale persönliche Beziehungen, Leiterkletterer, Backstabber und Psychopathen am Arbeitsplatz (etwa 1 von 20). Konzentrieren Sie sich darauf, ob der Kandidat die richtige Einstellung hat, ob er technisch durchschnittlich ist und dies tut, er wird 90% der Kandidaten übertreffen, die ein Experte sind. Das Programmieren mag eine Einzelaufgabe sein, aber die Softwareentwicklung erfordert ein starkes Team - und Sie suchen sowohl einen Teamleiter als auch einen technischen Leiter.
quelle