Pair Programming für ein Vorstellungsgespräch
Wurde unser Unternehmen denken über die Verschrottung unserer interview-Verfahren und bringen jeden Kandidaten für eine 4-5 Stunden-sit-down mit einigen der Programmierer und nur einige pair programming.
Ich mag die Idee in der Theorie, aber ich bin nicht sicher, wie Sie Sie wirklich, es ist fair für jeden Kandidaten. Wie würden Sie Sie bewerten? Wäre das nicht Ihre Beiträge wirklich davon abhängen, was jedem Programmierer arbeitete, an diesem Tag?
Irgendwelche Gedanken auf, ob dies eine gute Idee/schlechte Idee oder, wie es funktionieren wird, was ich bin Art von sucht hier.
Prost!
EDIT:
ERGEBNIS - WIE gewünscht
Werden wir für die Durchführung der ersten Schritte des Interviews das gleiche wie vorher. Telefon, gefolgt von Angesicht zu Angesicht. Anstatt bringen Sie zurück für eine Dritte und Letzte Grillen, wir fahren 3-Entwickler zurück zu sitzen, mit alle 7 Mitglieder des Teams. Wir haben uns entschieden, lassen Sie das team entscheiden, wer wird dann eingestellt.
Haben wir zu diesem Schluss kommen für ein paar Gründe. Wir glauben, dass diese befähigen die Entwickler, indem Sie Ihnen eine Wahl, für die Sie arbeiten. Der zweite Grund ist die Gruppendynamik. Wir denken, es ist wirklich wichtig, um eine gute Gruppendynamik und es ist schwer zu sagen, bis, nachdem Sie mieten eine person, wenn Sie passen oder nicht.
Sodass das Endergebnis ist, dass wir gehen, gehen Sie mit der pair-programming-sessions, aber in einer ganz anderen Art und für einen ganz anderen Weg als ursprünglich vorgesehen.
Irgendwelche Gedanken oder Kritik an diesem Ansatz ist mehr als willkommen!!
(dieses edit ist geschrieben als Antwort unten, so zögern Sie nicht downvote, wenn Sie denken, dass dies nicht der beste Ansatz ist)
InformationsquelleAutor der Frage Ted Smith | 2009-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hoffe Ihr habt ein paar Schritte Voraus zu dieser ein. Für diese arbeiten benötigen Sie einen hervorragenden Lebenslauf und Handy-Bildschirm. Sie wollen nicht zu verbringen Unmengen von Zeit auf die Kandidaten, dass Sie sollten nicht reden in den ersten Platz.
Yeah. Man könnte sogar darüber nachdenken, die eine einfache Codierung-interview geschieht über das web mit so etwas wie CoPilot.
InformationsquelleAutor der Antwort Jason Punyon
Es sei denn, Sie verwenden pair programming ausgiebig in Ihrem real-world development, wäre ich sehr zögerlich, um diese zu verwenden. Ich habe eine beliebige Anzahl von hohe Qualität und professionellen Entwicklern, die erwähnt habe eine starke Abneigung gegen pair programming und deren skill wäre nicht gut beurteilt in einem solchen Prozess.
InformationsquelleAutor der Antwort Yes - that Jake.
Der einfachste Weg ist es, jeder person die gleichen Programmierer mit zu arbeiten und das exakt gleiche Stück code.
Das problem, du gehst zu laufen in, ist, dass die Einstellung nicht wie die Programmierung. Gibt es nicht eine Schritt-für-Schritt-Prozess zu führen, um die richtige Antwort auf die Frage, wer zu mieten. (Sie können mehrere Schritte, um die Entscheidung zu erleichtern). Sie haben zu bewerten, jede auf Ihre stärken usw. und im Grunde stellen Sie eine Vermutung auf das das beste zu mieten. Manchmal denke falsch.
Die andere Sache, über pair programming, die Sie gehen zu müssen, zu beachten ist die notwendige Zeit haben, jeden Kandidaten in diesem Stadium gehen Sie durch diese Art von test. Wenn ich waren auf der Suche für ein job, ich wäre zögerlich zu gehen ein Vorstellungsgespräch bei einer Firma, die mich Fragen würde, das zu tun. Warum? Denn das ist eine Menge Zeit, und wenn ich mich Interviews an mehreren stellen, könnte ich buchstäblich Tage nur Los, um interviews für jobs, die ich vielleicht gar nicht bekommen oder wollen. Someplaces wie Google oder MS wäre eine Ausnahme, aber die meisten Orte sind nicht wie jene zwei. (Nicht zu schweigen von der Tatsache, dass, wenn Sie arbeiten an realen code, Sie sind im wesentlichen der Frage zu tun, jemand den job für frei).
InformationsquelleAutor der Antwort kemiller2002
Ich hatte gerade ein Gespräch mit ein in San Francisco ansässiges Unternehmen, das stolz ist auf Agile Methoden/etc. Ich wurde zu einem interview der CEO selbst. Ich habe über 20 Jahre Erfahrung in der Branche, aber noch nie paar programmiert oder entwickelt mit TDD Ansatz. Mir wurde gesagt, es wäre ein "Programmier-interview", hatte aber keine Ahnung, was Sie erwartet, und bevor wir anfingen, sagte der Typ, dass er dachte, daß ich damit einverstanden, dass alle interviews sollten sein gemacht auf diese Weise. (welche im Nachhinein war nichts weiter als eine arrogante Aussage).
Irgendwie an das interview der übung war die Entwicklung einer Klasse mit TDD. Es dauerte eine Sekunde, passen Sie mein denken auf den gesamten Prozess erneut, da hatte ich nie-pair programmiert oder fertig TDD. Während ich stolperte hier und da habe ich ok am Ende. aber seine Antwort war, das ich nicht zeigen das aggressive hin und her der Natur, die Sie benötigen, um Ihre pair programming environment. Nun, das hätte auch eine hinterhältige Art zu sagen, dass "ich nicht glaube, Sie haben große" Art der Nachricht.
Zum Glück brauchte ich den job und um ehrlich zu sein, die Erfahrung machte mir klar, dass ich lieber finden eine andere Karriere, als ein software engineer, Arbeit in Paaren, Tag ein Tag aus, wenn es um die Entwicklung von code. Seltsame ist, dass bei Gelegenheit ich habe mit einer anderen person auf code gleichzeitig, also möglich ist alles.
Ende ich denke, es war ein gutes Ergebnis, da Sie nicht glaube, ich war eine gute Passform und ich habe keine sorgen für Ihre Arbeits-Methoden. Aber wir hätten kam zu dem gleichen Schluss hatte ich redeten für ein paar Minuten mehr über mich selbst und er hätte mir ein wenig mehr info auf, wie Sie gehen über Ihre Arbeit. Das ist zu sagen, dass es andere Wege zu finden, eine gute Passform Kandidat, als das Sie durch den stress des pair programming mit einem komplett fremden; Schein Weg, um zu Messen, Kompetenz imo.
InformationsquelleAutor der Antwort
Als eine persönliche Anekdote, die ich bekam, klatschte um in einem interview, weil sich eine Technik wie diese. Ich hatte mich weit in Ihre interview-Prozess; übergeben Sie die resume-überprüft die code-übermittlung und das war die von Angesicht zu Angesicht Teil des Interviews.
War ich frisch aus der Uni und hatte nie pair programmiert werden, bevor noch getan werden, TDD. Sie setzten mich nieder, um zu tun, ein deck von Karten übung und es floppte. Schlecht! Ich Verstand nicht, warum der interviewer war das schreiben von tests, schien so blöd sein* (das heißt, "return null;") und Sie nicht erklären, warum und natürlich als Fremdkörper zu TDD-ich wusste nicht, welche Fragen zu stellen. Das Ergebnis war, dass es aussah, ich konnte es nicht Programm mein Weg aus einer Papiertüte.
Wenn du gehst, das zu tun diese Art von übung, die Sie brauchen, um gerecht zu den interviewten, weil Sie gehen, um an verschiedenen stellen mit Ihrer Begabung. Dies bedeutet, dass, erhalten Sie, unterschiedliche Einschätzungen, die möglicherweise nicht auf der Grundlage der tatsächlichen talent und sind so stark voreingenommen.
**Jetzt, ich verstehen, TDD, ich verstehe, dass tests wie diese und wie soll es funktionieren, aber der Mensch hat das jemals scheinen dumm an der Zeit!*
InformationsquelleAutor der Antwort Gavin Miller
Hatte ich nur ein paar Programmier-interview vor ein paar Tagen und um ehrlich zu sein, ich weiß nicht wirklich, wie es. Ich wurde benachrichtigt, dieser eine Tag kurz vor dem interview und dann der interviewer sagte mir, dass pair programming ist es, was ich letztendlich tun werde sowieso in der Arbeit. Ich ging ins Büro und war gepaart mit jemandem, der eine sehr senior software engineer. Das Unternehmen ist in San Francisco und Sie sind eine gut renommierte Firma für pair programming-jeder-pair-Programme in der office. Auf den ersten Blick schien es in Ordnung zu sein, erklärte er über alle Werkzeuge, die Sie verwendet, Ihr eigenes unit-Test-framework, die Sie bauen, und ein bisschen von dem Projekt. Er ist dann im Grunde schrieb eine Reihe von unit-tests und wollte mir die Arbeit an der Umsetzung, um es übergeben. Nur als ein FYI, die code-Basis, die bereits vorhanden ist riesig, würde ich sagen 10k Zeilen, es ist nicht wie ein super Komplexes Projekt, aber es ist kompliziert für jemanden, der nur Schritt und dann code schreiben, der ohne Vorherige Kenntnis der Klassen-Hierarchie etc. Ich finde es wirklich schwer zu glauben, dass er erwartet, dass jemand, um zu springen sofort in einer 10k Leitung von source-code, der bereits vorhanden ist. Es spielt einfach nicht mit für ein paar Programmier-interview, ein kleiner code-Basis würde helfen. Ich kämpfte ein wenig von der Navigation durch die Klassen und gehen hin und her, weil ich kann mich nicht erinnern, Klassennamen, wie ich war überwältigt von der Menge der Klassen/code, der bereits vorhanden ist. Um ehrlich zu sein, machte mich wirklich schrecklich in der interview-Prozess. Am Ende habe ich mich nicht wirklich gut dabei. Ich habe nicht getan, pair programming vor, meist ist gerade bei den Aufgaben in meiner college-Jahr.
Mir die macht der paar-Programmierung können genutzt werden, wenn Sie bereits gut beherrschen und/bequem mit Ihrem paar, aber ist nicht wirklich geeignet für ein Vorstellungsgespräch. Manchmal würde ich Sie gerne Fragen, wie Fragen zu meinem paar, aber dann dachte ich, wenn ich zu viel Fragen Fragen, dann würden Sie davon ausgehen, ich dumm und kann nicht auftreten. Ob das schon auf einen richtigen job, würde ich nicht zögern, zu Fragen, aber in einem interview, es ist schwer.. Sie Fragen wollen, weil Sie Ihre Brille soll Ihnen helfen, wenn Sie fest sind, aber zur gleichen Zeit, es ist ein interview, so kann man nicht wirklich viel von Euch zu verlangen.
Das ist nur meine Erfahrung, die ich von pair programming interview, ist mein Vorschlag, wenn Sie wirklich wollen, dies zu tun:
kleinere und daher kann er/Sie seine/Ihre Fähigkeiten, um die max
wenn Sie fest sind, sollten Sie in der Lage sein, dieses und jenes zu tun, was du nicht tun
Am Ende, ich würde nicht empfehlen es. Es ist schwer zu Messen, ein Kandidat ist die Leistung in pair programming, und es könnte voreingenommen sein, wie gut.
InformationsquelleAutor der Antwort xonegirlz
Einem bestimmten Unternehmen verwendet eine Technik namens extreme Gesprächsführung. Für die extrem-interview bringen Sie sagen, dass 30 Entwickler und Sie in die Gruppe von 15 Paaren. Sie erklären, dass Sie Leute suchen, die gut mit anderen zusammenarbeiten. Sie machen eine Einstellung Entscheidung basiert ausschließlich auf Ihrer Fähigkeit, mit anderen zu arbeiten.
Sie werden ein problem für die Paare zu lösen. Sie betont, dass Sie nicht daran interessiert sind, die Lösung nur jeder Programmierer Fähigkeit, mit anderen zu arbeiten. Für jedes paar Sie bieten ein Beobachter des Paares. Während der übung (etwa 2 bis 4 Stunden Dauer), der Beobachter macht sich Notizen über eine person, die Fähigkeit, paar ... nicht die Lösung.
Sind Sie erstaunt, wie viele Programmierer konzentrieren sich auf die Lösung des Problems anstatt zusammenzuarbeiten. Von den 15 Paaren, Sie werden sich identifizieren, etwa 4 bis 6 Entwickler für ein zweites interview. Die Entwickler werden gebeten, wieder zu kommen und verbringen eine Woche mit dem team (Sie bezahlt). Nach einer Woche, Sie entscheiden, wer zu halten. In der Regel etwa die Hälfte von Ihnen (2 bis 3 Entwickler).
Wenn Sie fertig sind, haben Sie Entwickler, die in der Lage sind, zusammenzuarbeiten und nach einer Woche arbeiten mit verschiedenen Paaren, hat das team ein starkes Indiz dafür, effektiv software zu entwickeln. Der Prozess ist innovativ und effektiv. Sie hatten eine hohe Erfolgsquote mit denen, die Sie gemietet haben.
InformationsquelleAutor der Antwort Cam Wolff
Ich mag diese Idee. Aber ich denke, es könnte schwierig sein, zu tun, da würde es verlangen, dass der Bewerber über Kenntnisse in der Projekt würden Sie-pair-Mädchen mit ihm. Auch, 4 bis 5 Stunden scheint ein bisschen zu lang. Was ist, wenn man sofort sieht, dass es nicht klappt, sind Sie gehen, sitzen durch die ganze Sitzung mit den Kandidaten?
Gute Frage aber. Zeug zu denken.
InformationsquelleAutor der Antwort Christophe Herreman
Warum nicht? Auch, es ist nicht so, die interviews sind immer (oder für immer) fair. Sie bewerten die Ergebnisse am Ende der neue Ansatz gegen die traditionelle interview-basierten Ansatz.
Auch ein mini-interview vor der pair-programming-session gut sein könnte, halten Sie verschwenden die Programmierer Zeit, mit Menschen, die eine schlechte Passform.
InformationsquelleAutor der Antwort Nathan
Aus meiner begrenzten Erfahrung, meine Gefühle sind gemischt. Ich mag die Idee der Paarung als Teil eines Interviews, esp. wenn das Unternehmen nutzt die Paarung oft, denn es gibt beiden ein besseres Gefühl für die Passform. Als Kandidat habe ich oft gegangen, durch interviews, wo ich saß in einem Raum, Beantwortung von Fragen, die für ein paar Stunden, aber danach nicht haben, um ein gutes Gefühl für das, was es wirklich sein würde, wie die Arbeit in Ihrer Umgebung. Pairing kann vorteilhafter sein als eine zufällige Kodierung ausüben, es sei denn, der interviewer ist erfahren in der Arbeit jemand über diese. Und ich mag es, zu diskutieren, technische Sachen von beiden Seiten. Und als ein Kandidat, würde ich eher die Interaktion mit jemandem, als nur Fragen zu beantworten oder lösen code-Probleme auf meinem eigenen.
Aber... wie andere bemerkt haben, die Zeit, die gebraucht wird, kann ein Problem sein. Ich habe mich durch ein paar Tage der Paarung interviews und fand einige Zeit gut, während andere fühlte sich an wie ein paar Stunden waren umsonst: weil die Entwickler nicht an etwas arbeiten, was sich auf die Fastenzeit pairing (esp. angesichts meiner hintergrund), die anderen, weil Sie eine env-Problem verhindert viel nützliche Arbeit für eine Weile. Wenn der job nicht klappt, kann es frustrierend sein, an einem Tag zwei oder drei für diese Arbeit.
Einem Ort, die versuchen dieser Ansatz war nicht sicher, ob die Sie haben sollten, jemanden außerhalb der Firma arbeiten, auf einem Kunden-Projekt. Sie befürchtete auch, dass zu erklären, die domain und die Arbeit würde zu lange dauern, obwohl, ohne dass der Kandidat nicht in der Lage, viel dazu beitragen. So wählten Sie eine open-source-Projekt war der Mitarbeiter arbeiten.
Scheint dies ein wichtiger Punkt: es muss eine gut gewählte Aufgabe, die der Kandidat kann es schnell verstehen und in der Lage sein zu tragen. Der Letzte Teil hängt etwas auf die Kandidaten Fähigkeiten. Auch der Schlüssel wäre die Fähigkeit des Mitarbeiters zu bewerten, jemanden mit diesem Ansatz. Nicht jeder ist groß, bei der normalen Gesprächsführung, und das ist wahrscheinlich mehr von einer echten Paarung interview.
Auch, wenn ein Unternehmen nicht viel tun, Paarung, dann wird diese Art von interview ist vielleicht nicht so sinnvoll. Es scheint, profitieren zu sehen, jemand, den code (als Joel Spolsky Noten), und dies könnte ein guter Weg, das zu tun. Aber wenn die Verbindung nicht ein typischer Teil der Arbeit, dann vielleicht eine ganze pairing-Sitzung nicht angemessen ist. Vielleicht eine modifizierte version.
Ich wäre neugierig, was Unternehmen, die diesen Ansatz, denken Sie an die Ergebnisse. Lesung einige der anderen Antworten zu dieser Frage zeigt, dass es nicht immer ideal erscheinen aus den Kandidaten-Sicht.
InformationsquelleAutor der Antwort Cincinnati Joe
Halten es fair, würden Sie haben, um jeden teilnehmenden Mitarbeiter eine vorbereitete problem der Kandidaten zu bewerten. Am besten etwas genommen bilden die Reale Welt in Ihrer Gesellschaft erleben, sondern etwas, das schon behoben wurde. Dies ist eine gute chance, um das wissen über ein problem und bewerten nicht nur Programmierkenntnisse.
Ich hasse es, wenn zu spezielle Fragen beantwortet werden. Ich hatte ein interview einmal, wo ein Programmierer wurde getestet, mein wissen über die STL, die ich ausgiebig genutzt und war versucht, mich zu Antworten, dass eine benutzerdefinierte Zuweisung war erforderlich. Ich hatte von Ihnen gehört, aber nie benutzt, esp (windows) und fühlen sich dumm. IOW, urteilen Sie.
Also mein Punkt ist, stellt praktische Fragen, die nicht so viel zum testen-Programmierung wissen, wie Sie beurteilen können, mehr qualitative Persönlichkeits-und Problemlösungs-Ansätze, wenn Sie die "pair programming" - Idee.
Gute Frage!
InformationsquelleAutor der Antwort tkotitan
Ehrlich, dass klingt wie eine gute Idee, aber Jason Punyon ist sicherlich richtig, dass Sie sollten tun, eine Menge Unkraut Jäten, bevor Sie verschwenden erhebliche Mengen an Ihre Entwickler' mal auf erlegt. Sie bekommen einen Einblick in eine wichtige Metrik aus, die sonst fast unerreichbar in der Gesprächsführung: was jemand wie, mit zu arbeiten.
Ich glaube nicht, dass es wirklich jeder besorgt sein müssen, dass es "fair", basierend auf dem Thema oder der Versuch, konsequent Situationen zu unterschiedlichen Kandidaten, wenn Sie Recht behalten, evaluatory Haltung -, dass es gar nicht darum, ob Sie "die richtige Antwort" oder sprangen durch die richtigen Reifen, aber welche Art von Bemühung, die Problemlösungs -, Kommunikations-Fähigkeit und Flexibilität, die Sie zeigten. Sie würde verlieren die meisten den nutzen der übung, indem Sie ihn in eine künstliche, nicht zu erwähnen, es zu verändern, von etwas, dass Ihre Entwickler können einen nutzen aus (oder zumindest noch Arbeit) zu einer massiven Verschwendung von Ihrer Zeit.
InformationsquelleAutor der Antwort chaos
Joel Spolsky hat eine ausgezeichnete Guerilla Guide to Interviewing denen spricht, die unter anderem Aufgaben bei der Programmierung.
Trivia: Joel Spolsky ist Mitbegründer von stackoverflow.com
InformationsquelleAutor der Antwort Anton