Wie kann ich in einem Interview feststellen, ob ein Programmierer eine Leidenschaft für das Programmieren hat? [geschlossen]

102

Während sich die meisten Interviewfragen auf das aktuelle Wissen eines Kandidaten konzentrieren oder seine / ihre Fähigkeiten zur Lösung algorithmischer Probleme überprüfen, möchte ich einen Entwickler einstellen, der sich leidenschaftlich für das Programmieren interessiert.

Was wäre, wenn ich nicht Fragen stellen würde?

Was wissen Sie über Technologie "X"?

Ich werde das Wissen überprüfen, das nicht direkt mit der Lösung von Software-Engineering-Problemen zusammenhängt, sondern zeigt, wie neugierig Sie auf IT sind.

Wenn ich zum Beispiel einen Java-Entwickler suche, kann ich fragen, wer die einflussreichsten Personen in der Java-Welt sind, oder einen einfachen Scala-Ausschnitt zeigen und einen Kandidaten bitten, den Code zu interpretieren.

Ich überlegte sogar, ein Foto von Alan Turing zu zeigen und den Befragten raten zu lassen, wer auf dem Foto ist. Ist diese Praxis sinnvoll?

Mauris
quelle
119
Nur weil jemand einflussreiche Programmierer benennen kann, heißt das nicht, dass er eine Leidenschaft für das Programmieren hat. Ich halte mich für einen ziemlich leidenschaftlichen Programmierer, aber ich konnte Ihnen nicht sagen, wie Alan Turings Gesicht in diesem Moment aussieht. Obwohl ich Ihre Frage jetzt gesehen habe, werde ich einen kurzen Blick auf die Wikipedia-Seite werfen, bevor ich mit zukünftigen Interviews beginne.
Robert Harvey
11
Ich stimme @Robert zu: Ich habe eine schreckliche Erinnerung, wenn es um Namen (und Gesichter) geht. Es gibt durchaus ein paar Bücher , die ich schon seit geraumer Zeit sprechen konnte, aber ich kann Ihnen die Autoren für sagen , sehr wenige von denen.
Joachim Sauer
27
Während die Einstellung einer leidenschaftlichen Person wirklich jedermanns Wunsch ist, müssen Sie vorsichtig dabei sein. Die Interaktion mit jemandem, der eine Leidenschaft für etwas hat, führt normalerweise zu einem höheren Maß an Engagement. In einer Interview-Situation kann dies dazu führen, dass Sie einen günstigeren Eindruck von einer erfahreneren und fähigeren, aber weniger leidenschaftlichen Person bekommen, insbesondere wenn Sie zeitlich begrenzt sind und die technischen Teile überspringen. Also sei vorsichtig. Auch Leidenschaft ist nicht alles, ein "leidenschaftlicher Idiot" ist immer noch ein Idiot, während ein "desinteressiertes Genie" immer noch ein Genie ist, und ich weiß, welchen der beiden ich lieber hätte.
CdMnky
37
@ Robert Harvey: Ich stimme zu. Namedropping ist nur für Show-Offs. Don Knuth hat mir das erzählt :-)
Jörg W Mittag
11
@ yes123, ich habe erst am College mit dem Programmieren begonnen und betrachte mich als leidenschaftlichen Programmierer. Ich bin sicher, es gibt viele Programmierer mit Leidenschaft, die später im Leben angefangen haben. Ich glaube nicht, dass es einen Zusammenhang zwischen dem Zeitpunkt, an dem Sie mit dem Programmieren begonnen haben, und dem, an dem Sie sich für das Programmieren interessieren, gibt.
zzzzBov

Antworten:

229

Sie müssen ihn nur bitten, Ihnen von einem der Projekte zu erzählen, an denen er am meisten Spaß hat. Sie werden in den folgenden 60 Sekunden mehr über seine Begeisterung herausfinden, als Sie ihm jemals Fotos von verstorbenen Persönlichkeiten zeigen konnten.

Robert Harvey
quelle
34
Außerdem sollten Sie sicherstellen, dass "Projekt, an dem er gearbeitet hat" auch Projekte enthält, für die er nicht eingestellt wurde
keppla
6
Ich stimme Keppla zu: Fragen Sie insbesondere nach Freizeit- / Open Source-Projekten. Ich kann mir nicht vorstellen, dass jemand von etwas begeistert ist und nicht den Drang hat, dies in seiner Freizeit zu tun.
LennyProgrammers
106
@ Lenny222: Ich betrachte mich als begeisterten Programmierer, aber ich habe einfach keine Zeit, in meiner Freizeit zu programmieren. Ich habe neben dem Programmieren auch ein Leben! Und wenn ich in meiner Freizeit programmiere, bin ich meistens auch dafür angestellt. Aber auch in meiner Freizeit lese ich viele Artikel und Bücher und besuche diese Seite auch samstags und sonntags.
Falcon
8
@ Falcon: Einverstanden, Sie könnten ein leidenschaftlicher Programmierer sein, aber schließlich sind Sie auch ein Mensch, Sie haben ein Leben, Sie haben eine Familie, Kinder usw. In meiner Freizeit lese ich, was es Neues in der Programmierung gibt (RSS, Tweater, facebook etc ...) während ich mit meinem kind spiele oder während ich meiner frau zuhöre :), so ein proff, dass ich leidenschaftlich bin: meine frau muss "etwas" auf einem pc machen, also habe ich ihr ein programm geschrieben, um ihr zu helfen ( manchmal einfache JS bookmarlets, manchmal bash ...);)
Radu Maris
9
@keepla, Menschen mit Leidenschaft für ihre Arbeit müssen oft nicht nachts programmieren. Ich bin enthusiastisch und leidenschaftlich über das, was ich tue, aber ich habe nachts andere Dinge zu tun. Es ist wichtig, dass die Menschen auch andere Leidenschaften haben oder in nur wenigen Jahren ausbrennen.
HLGEM
71

Wenn ich zum Beispiel einen Java-Entwickler suche, kann ich fragen, wer die einflussreichsten Personen in der Java-Welt sind, oder einen einfachen Scala-Ausschnitt zeigen und einen Kandidaten bitten, den Code zu interpretieren. Ich überlegte sogar, ein Foto von Alan Turing zu zeigen und den Befragten raten zu lassen, wer auf dem Foto ist.

Das ist Trivia und technisches Wissen. Wenn Sie herausfinden möchten, ob sie eine Leidenschaft für das Programmieren haben, müssen Sie ihre Leidenschaft in irgendeiner Weise einbringen. Dazu gibt es einige einfache Möglichkeiten:

  • Finden Sie heraus, ob sie Programmierblogs / Magazine lesen
  • Sehen Sie, ob sie als Hobby arbeitslos programmieren
  • Überprüfen Sie, ob sie an Benutzergruppen oder Organisationen beteiligt sind
  • Fragen Sie sie, was sie zum Programmieren bewegt hat und ob dies für sie immer noch eine Motivation ist
  • Finden Sie heraus, ob sie ein StackExchange-Konto haben

Wenn keine, wenn diese einen Funken in den Augen haben, dann haben Sie wahrscheinlich keinen leidenschaftlichen Programmierer. Sie könnten einige treffen, die mit anderen Dingen zu beschäftigt sind - aber ich wette, Sie werden eine Geschichte sehen oder zumindest wirklich bedauern, dass Sie einige dieser Punkte nicht erreicht haben.

DKnight
quelle
11
+1 engage their passionInsbesondere durch die Frage, was sie an der Programmierung interessiert hat. Ich glaube, dass jeder passionierte Programmierer ausführlich auf dieses Thema eingehen wird.
George Marian
3
+1. Ich fasse dies in der Regel in einer Frage zusammen: "Was tun Sie außerhalb der Arbeit, um mit den Technologien Schritt zu halten?" Hoffnung , etwas über Open - Source - Projekte zu hören, Podcasts, SIGs / Usergroups teilnehmen, usw.
rally25rs
Ich habe vor kurzem einen Mann interviewt, der eine Firma verlassen hat, weil sie ihm sich wiederholende Arbeit gaben und er an etwas Interessantem und Dynamischem arbeiten wollte. Auf die Frage "Was tun Sie außerhalb der Arbeit, um mit den Technologien Schritt zu halten?" und "über eines der Projekte, an denen er am liebsten gearbeitet hat", hatte er nichts Großes hinzuzufügen. Aber ich hatte einige Leidenschaften. Ich denke, es ist besser zu beurteilen, "ob er aufgeben oder weiter nach einer Lösung suchen wird".
Rubish Gupta
@George Marian Ich mache all die anderen aufgeführten Dinge, aber wenn du mich fragst, warum ich mich für die Programmierung interessiere, wäre meine Antwort ziemlich kurz. Ich verbringe sogar viel Zeit zu Hause mit Programmieren (keine Kinder) zum Spaß! Meine Antwort wäre jedoch "Ich habe mich schon immer für Computer interessiert und mein Vater war Programmierer, also wurde ich von Natur aus in diesen Kreis hineingezogen". Bitte lassen Sie niemanden aufgrund der Antwort auf diese Frage unberücksichtigt.
m4tt1mus
@mattimus Ein fairer Punkt. Beachten Sie, dass es keine exakte Wissenschaft ist. Nach einer Antwort wie Ihrer würde ich fragen: Warum interessieren Sie Computer? Was interessiert Sie an ihnen? Außerdem würde ich darauf achten, wie die Fragen beantwortet werden und nicht nur, mit welchen Worten sie beantwortet werden. Das ist ein Grund, warum ich den Satz hervorgehoben habeengage their passion.
George Marian
29

( Warnung, langer Beitrag, nur teilweise zum Thema )

Nun, ich habe seit Ewigkeiten dasselbe gefragt. Vor ungefähr 6 Jahren habe ich versucht, Personalvermittler dazu zu bringen, zu verstehen, worum es bei uns geht (sie haben nur die Kästchen angekreuzt, wie Sie sagen).

Zu der Zeit schrieb ich:

Bist du ein Freak wie wir? (Offener Brief an Personalvermittler und Kandidaten).

Unsere Kultur ist uns wichtig, ich spreche hier nicht von Rennen, sie basiert auf dem Hintergrund, wie Sie Ihren Job sehen, was Sie beabsichtigen, aus Ihrem Job herauszukommen, wie Sie Ihren Job angehen und mit anderen umzugehen.

Ich habe mich vorher mit Rasse verwechselt, deshalb werde ich jetzt klarstellen, dass dies keine rassenbasierte Sache ist, sondern eine Denk- und Antriebssache. Wir haben mit Leuten aus vielen großartigen Rennen zusammengearbeitet. Wir kennen auch viele, die schlicht und einfach nutzlos sind. Das Rennen definiert also überhaupt nicht, wonach wir suchen, es ist eine „kulturelle“ Passform.

Es gibt viele Subkulturen in Australien, von denen die meisten nicht zusammenpassen würden. Ich versuche, unsere zu erklären - The Geek.

  • Viele Leute brauchen explizite Anweisungen: "A> B> C> D", andere geben Sie ihnen A und einige Hintergrundinformationen und sie werden B> C> D und E ganz alleine herausarbeiten. Wir suchen die zweite Gruppe.
  • Die Leute werden Ihnen einfach zustimmen, weil Sie für sie „älter“ sind. Andere werden ihre Meinung äußern und ihre Ideen einbringen. Wir wollen den zweiten. Wenn die Entscheidung gegen sie fällt, werden sie sich trotzdem hineinwerfen.
  • Einige Leute haben auswendig gelernt: Du machst A, dann B, dann C, was dir X gibt. Andere haben gelernt, wie man lernt und denkt. Sehen Sie über das Sofortige hinaus und lösen Sie das zugrunde liegende Problem.

Viele unserer Jobs in den letzten 14 Jahren kamen von unseren Kunden, die fehlgeschlagene Projekte bereinigen und abschließen mussten, hauptsächlich, weil das Unternehmen die falsche Art von Personal eingestellt hat ... es kostet weit mehr als nur ihren Lohn, wenn man ihn bekommt falsch.

Wenn wir nun versuchen, diese Art von Menschen auszuwählen, meinen wir, wenn wir "wie wir" sagen:

  • Gute Erfinder, großartige Ideen, schrecklich und ein Projekt zum Abschluss zu bringen. Das beschreibt mich. Müssen Sie Leute einstellen, um für dieses Problem zu sorgen.
  • Fantastische Optimierer und Macher, wenn Sie möchten, dass es wirklich gut funktioniert, holen Sie sich diese. Die Kehrseite verengt sich fokussiert und es dauert lange, bis sie dort ankommt. Im Allgemeinen ein gutes technisches Merkmal, kann sich aber normalerweise nicht mit der Außenwelt unterhalten.
  • Sehr gut darin und weiß, wie man es richtig macht und wie man es schafft. Sie können ein Projekt von Anfang bis Ende sehen und nichts verpassen. "Weil es so gemacht werden sollte". Dies ist eine Haltung, die wir hier haben; Die Kunden wissen das und zahlen dafür. Kombinieren Sie dies mit den Machern und sie sind ideal.
  • Schnellster Weg zum unmittelbaren Ergebnis. Erzählen Sie allen davon, laut, ein bisschen Zufallsgefahr. (Es ist mir egal, ob es funktioniert). Gut für einen Start, schlecht für etablierte Unternehmen, die Beständigkeit brauchen. In einer reinen Support- / Wartungsrolle ist dies gut, vorausgesetzt, andere Entwickler räumen danach auf. Prototyping und Proof-of-Concept-Arbeit das ist großartig.
  • Generell interessiert. Was auch immer vor sich geht ... erzählen Sie uns davon, was kann ich tun, wie kann ich meinen Wert entweder als Wissen oder Schweiß hinzufügen (mit etwas weiter machen, das sie als erforderlich ansehen).
  • Rote Lerner / Prozessarbeiter. Wo das Projekt bis zum Ende geplant wurde und sie "ihren Teil" zu tun haben und das ist es. Sind gut in sehr großen Teams. Es besteht keine Gefahr, dass bei 1/200 Personen „Tangenten“ und unerwartete Ergebnisse auftreten. Sie erwarten, dass ihnen ihre "Was zu tun" -Liste ausgehändigt wird, und dann tun sie das und kehren für das nächste Stück zurück. Viele Kulturen (sowohl Rasse als auch Schule) auf der ganzen Welt tendieren zu Auswendiglernen oder Arbeitern im Boss / Underling-Stil. Diese Art der Person ist für uns nutzlos, senden Sie sie an größere Unternehmen.
  • Unsere Mitarbeiter sind gleichberechtigt in einem Team, von dem erwartet wird, dass sie im Team arbeiten, um die vom Kunden festgelegten Ziele zu erreichen.
  • Sie tun alles, um den Job zu bekommen.
  • Sie geben Ihre Meinungen und Perspektive ohne Anhaftung.
  • Sie überlegen und analysieren Grenzfälle.

Die Sprache ist ein Hindernis für die Zusammenarbeit mit uns. Wir haben hier so ziemlich unsere eigene Sprache, du brauchst mindestens Englisch und einige technische Fähigkeiten, kombiniert mit einem Sinn für Humor.

Wenn Sie uns nicht verstehen, werden Sie nicht verstehen, was Sie tun müssen oder wie der Rest von uns die Lösung implementieren wird ... Sie werden nicht von Dauer sein.

Warum möchten Sie mit uns zusammenarbeiten?

  • Du wirst bezahlt. Okay, es ist nicht dasselbe wie in der "realen Welt", aber es ist gutes Geld.
  • Sie können an Entscheidungen teilnehmen. Während die Regisseure das letzte Wort haben, wollen wir von allen hören, was sie denken, wie und warum sie es denken. Es hilft alles.
  • Sie können Ihre eigenen Sachen recherchieren. Interessiert an Computerfreaks, Programmierung, neuen Produkten, den neuesten MS-gegen-Linux-Kriegsentwicklungen und Designtechniken. All diese Dinge haben Sie jede Woche Zeit zu recherchieren und zu entdecken, was Sie wollen. Sie müssen es nur mit allen anderen teilen.
  • Sie können neue Technologien ausprobieren. Entweder durch Forschung oder durch neue Projekte wollen wir Neues ausprobieren und Neues gestalten. Die Projekte sollen es uns ermöglichen. (vorausgesetzt, es hilft dem Kunden und kostet nicht mehr als das Projekt)
  • Sie müssen keine Anzüge tragen. Es sei denn, die Situation erfordert es, wie Kunden oder Veranstaltungen zu besuchen.
  • Wir möchten, dass Sie mehr lernen und werden Sie gezielt schulen, um Ihre Kenntnisse zu verbessern.
  • Normalerweise müssen Sie nicht 9-5 ausführen. Wenn Sie Support für eine Vereinbarung von 9-5 ausführen, tun Sie dies, andernfalls erledigen Sie die Aufgabe und missbrauchen Sie das Privileg nicht.
  • Tolles Team, mit dem man arbeiten kann. Naja, wir denken jedenfalls, wir lachen uns aus Höflichkeit über Witze aus und haben keine Stichelei in der Rückenpolitik. 
  • Wir sind auch Geeks. Einige von uns haben Freundinnen und Kinder, aber lassen Sie sich davon nicht täuschen.
  • Wir genießen den Respekt einiger sehr großer Unternehmen und können ohne Frage eintreten.
  • Unser Kundenstamm ist in ganz Australien und auf der ganzen Welt verteilt. Lässt viel Spielraum für Reisen und
  • Wir bauen sehr gute Beziehungen zu unseren Kunden und ihren Mitarbeitern auf, was bedeutet, dass wir viele Menschen haben, mit denen wir trinken gehen können.
  • Wenn Sie ein Bedürfnis oder Problem haben, nehmen Sie sich bitte die Zeit, es zu klären. Solange Sie den Unterschied mit ein paar zusätzlichen Stunden später wieder gutmachen.
  • Ihre Ideen werden geschätzt und Sie werden eine größere Belohnung für diese Ideen sehen.
  • Sie sind am Erfolg von Redgum beteiligt.

Wollen Sie jetzt noch für uns arbeiten? Warum?

Fazit

Ich schrieb, dass ich 2004/05 ungefähr 50 oder 60 Interviews selbst gemacht habe, mit 14 oder mehr Personalagenturen zusammengearbeitet habe, die jeden, der mich ankreuzte, bewarfen Menschen aus einem Interview.

Bisher hatte ich den größten Erfolg darin, einen einzigen Personalvermittler zu finden, der die Bedeutung des oben Gesagten und das, wonach ich suchte, verstand und die Liste nach Personen filtern konnte, die passten.

Jetzt habe ich einen Personalvermittler, von dem ich vertraue, dass er mein Geschäft kennt, meine Bedürfnisse kennt. Wir essen jeden zweiten Monat zu Mittag, um ihn einzuholen. Ich lasse ihn los, gebe ihm die Zeit und vertraue darauf, dass er mir nur geeignete Kandidaten vorstellt.

Die Rekrutierung ist ein Spezialgebiet, und während Sie am Ende des Tages das letzte Wort haben ... wenn Sie das Geld haben, lassen Sie die Leute mit Fähigkeiten ihr Ding machen.

Sobald sie jemanden gefunden haben, interviewe ich sie, frage sie nach ihren Erfahrungen, ihren Interessen, den Dingen, die sie motivieren, den coolsten Projekten, die sie gemacht haben, höre ihre Antwort auf das oben Gesagte ... sobald ich überzeugt bin, bringe ich sie dazu ein zweites interview mit dem team über dem mittagessen, alle anderen im team stellen ihnen fragen und lassen mich die daumen hoch oder runter wissen ... dann stellen wir ein.

Robin Vessey
quelle
16
+1 für die Erwähnung von "(Warnung, langer Beitrag, nur teilweise zum Thema)" :)
Treecoder
Wow, stellst du ein? :)
Josh
@ Josh, eigentlich ja, wir sind, aber wir sind in Melbourne, Australien :) Gute Biografie, definitiv die Art von Profil, nach der wir suchen.
Robin Vessey
Sehr gut gesagt - ich habe Schleudertrauma bekommen, weil ich so viel mit dem Kopf genickt habe. Und Sie haben das gleiche "Geschenk für die Kürze", das ich habe (Es ist nicht so, dass ich zu viel schreibe, jeder andere liest nur zu langsam!)
Ben A. Hilleli
21

Alan Turing ist ein bisschen zu viel, aber einen einflussreichen Menschen zu nennen, klingt für mich in Ordnung. Wenn mir diese Frage gestellt würde, würde ich sagen, der Typ hat Effective Java geschrieben ...

Mieten ist eine Einbahnstraße. Sie müssen zuerst Ihren Talentpool kennen. Wenn Sie einen leidenschaftlichen Programmierer einstellen möchten, müssen Sie zuerst einige Fragen stellen. Haben Sie spannende Probleme, die sie lösen müssen? Bieten Sie zweitens eine wettbewerbsfähige Vergütung an?

Wenn Sie in der Realität nicht beides anbieten können, ist es besser, sich mehr auf Fähigkeiten und Professionalität zu konzentrieren.

thinkanotherone
quelle
14
+1 Sie können keine leidenschaftlichen Programmierer einstellen, es sei denn, Sie haben einen Job, bei dem diese Leidenschaft genauso gefragt und belohnt wird wie alle konkurrierenden Alternativen, die für diese Art von Programmierer verfügbar sind.
hotpaw2
Bitte um Klarstellung, würden Sie sagen "Der Typ hat Effective Java geschrieben" oder "Joshua Bloch"? :)
Fredoverflow
@FredOverflow - Warum sollte man sich an seinen richtigen Namen erinnern, wenn ein typedef dies tut? : D
Brendan Long
8

Die Leute von 37 Signals haben einen großartigen Beitrag geschrieben , in dem es darum geht, großartige Programmierer einzustellen.

Sie können den Beitrag lesen, um Details zu erfahren (es lohnt sich!), Aber er lässt sich grob wie folgt zusammenfassen: Es gibt Dinge, die Sie während des Interviews prüfen und nachfragen können, z

  1. Wie eigensinnig sind sie?
  2. Wie viel tragen sie zu Open Source-Projekten bei?
  3. Wie viel Spaß haben sie am Programmieren?
  4. Versenden sie tatsächlich?
  5. Was haben sie gemeistert?
  6. Wie gut kommunizieren sie?

Sie können das Risiko, jemanden einzustellen, weiter verringern, indem Sie ihn für ein kleines Projekt einstellen, um zu sehen, wie er funktioniert. Dies zeigt Ihnen, wie sie Aufgaben erledigen, ihre Zeit verwalten, kommunizieren und so weiter.

Soner Gönül
quelle
4
Es ist nicht gestattet, den gesamten Blog-Beitrag zu kopieren und so zu veröffentlichen, dass es aussieht, als wäre es Ihre eigene Arbeit, die auf diesem Beitrag basiert, auch mit einem Link. Der von Ihnen kopierte Beitrag ist urheberrechtlich geschützt und kann nicht vollständig neu gepostet werden. Ich habe Ihre Antwort aktualisiert, um nur eine Zusammenfassung des Artikels und einen Link dazu bereitzustellen.
Adam Lear
4
  • Beginnen Sie ein lockeres Gespräch über Entwurfsmuster / Anti-Muster / Programmierpraktiken - und sehen Sie, wie gut der Kandidat informiert ist. Wie interessant oder erfrischend ihre Ansichten sind. Und ob sie eigene Vorstellungen über diese Dinge haben oder nicht
  • Sprechen Sie über ein Problem der realen Welt und sehen Sie, wie der Kandidat anfängt, Lösungen vorzuschlagen
  • Sehen Sie, wie viel (und wie lange) ein Kandidat über das Programmieren sprechen kann (die Philosophie, NICHT die Mechanik), ohne sich auf eine bestimmte Technologie oder Sprache zu beziehen. Sehen Sie, ob der Kandidat ein Visionär ist oder sich nur um Schrauben und Muttern dreht
  • Bitten Sie sie, in einer Programmiersprache über ihre am meisten phantasierten Features zu sprechen - ein leidenschaftlicher Programmierer wird immer Feature-Fantasien haben
  • Bitten Sie sie, Zitate zu programmieren, und prüfen Sie, ob sie einige der beliebtesten kennen
  • Testen Sie ihren Sinn für Humor beim Programmieren
Baumkodierer
quelle
3

Nein, dieser Ansatz macht absolut keinen Sinn. Ich würde ein Foto von Alan Turing wiedererkennen, und ich könnte einige der führenden Persönlichkeiten in der Entwicklung von Java nennen, aber das sagt nichts darüber aus, wie leidenschaftlich ich bin, was die Programmierung uns bieten kann. Ich würde auch nicht alle Open-Source-Projekte auflisten, an denen Sie gearbeitet haben. Ein Teil davon ist leicht zu erwerben, und ein Teil davon wird sehr oft für den Lebenslauf verwendet.

Bitten Sie sie, ein noch so triviales Problem der realen Welt zu beschreiben, das durch die Programmierung einer Lösung behoben werden kann. Es muss nicht so praktisch sein, wie die dahinter stehende Infrastruktur zu identifizieren. Haben Sie sich nur Gedanken darüber gemacht, wie Sie Ihren Weg in eine bessere Art und Weise programmieren können, etwas zu tun? Die verwendeten Sprachen sind von untergeordneter Bedeutung. Wenn Sie an eine bestimmte Sprache gebunden sind, bekommen Sie nicht unbedingt jemanden, der sich leidenschaftlich für das Programmieren interessiert.

Versuchung
quelle
2

Die Definition von Leidenschaft ist hier weit gefasst. Ich habe verschiedene Arten von Programmierern gesehen. Wir können sie nicht einfach Programmierer nennen. Für mich definiere ich einen leidenschaftlichen Programmierer,

  1. Wer kennt die Grundlagen der Programmierung (ich meine die wirklichen Grundlagen). Im Ernst, es zeigt die Einstellung und die Fähigkeiten, neue Dinge im laufenden Betrieb zu lernen, obwohl wir die Grundlagen im Produktionscode nicht direkt anwenden.
  2. Er muss in der Lage sein, tief in die Probleme und Technologien einzutauchen. Die meisten Programmierer sind Experten im Umgang mit vorgefertigten Dingen, aber das hilft nur bedingt.
  3. Er muss mit den Technologien und industriellen Updates, die er hat, auf dem neuesten Stand sein. Ich hasse Programmierer, die nicht bereit sind, sich Zeit zum Lesen zu nehmen. Die meisten Leute hier sind schlau und bereit, die Probleme zu lösen. Habe geschickte Leute gesehen, die stundenlang für die allgemein bekannten Probleme gearbeitet haben. Was ihnen wirklich fehlt, ist die Fähigkeit zu lesen.
  4. Ein leidenschaftlicher Programmierer wird sich genauso für den Benutzer begeistern wie für seinen Code. Er macht alles in einer Benutzerperspektive.
  5. Sollte die Fähigkeit zeigen, im Laufe des Zeitraums nach und nach eine gute Software-Architektur zu verwenden / zu erstellen.
sarat
quelle
+1 Gute Antwort. Ich mag die Art und Weise, wie Sie "gute Software-Architektur im Laufe der Zeit nach und nach nutzen / erstellen".
Karthik Sreenivasan
2

Wollen Sie "leidenschaftliche" oder kompetente Leute? Ich hätte lieber Leute, die sich mit ihrem Geschäft auskennen, aber zwischen ihm und der Realität unterscheiden können, als Kinder, die nichts außerhalb ihres Computerbildschirms wissen und keine Hobbys haben, außer Open Source-Dingen, zu denen sie täglich 16 Stunden beitragen (die Hälfte) davon während ich nominell für mich arbeite), etc.

jwenting
quelle
2

Stellen Sie ihm praktische Fragen zur Problemlösung

Wenn Sie sich nicht nur über die Fähigkeiten dieses Kandidaten informieren, sondern auch genau ansehen, wie enthusiastisch er sich den Fragen der realen Problemlösung nähert, die Sie ihm stellen, können Sie sich ein gutes Bild davon machen, wie leidenschaftlich er mit dem Programmieren beschäftigt ist. Und wenn Sie ihm verschiedene Arten von Fragen zur Problemlösung stellen (einige Codierungsfragen, einige Fragen zum Algorithmusdesign, einige Fragen zum Systemdesign), können Sie sich ein Bild davon machen, für welche Programmierbereiche er am meisten begeistert ist.

Ich schlage vor, Joel in Software's Guerilla Guide to Interviews zu lesen. Er erklärt Ihnen nicht nur, wie Sie diese Leidenschaft finden, sondern auch, dass Leidenschaft nicht das wichtigste ist, wonach Sie suchen - Sie suchen nach "klug" "und" erledigt Dinge ". (Er tut Leidenschaft erwähnen, aber ich glaube , dass seine Absicht ist , dass es ein Zeichen für die beiden anderen Dinge , die Sie sind der Suche nach).

Ken Bloom
quelle
1

Ich würde sagen, wenn Sie eine Leidenschaft für das Programmieren haben, können Sie andere entdecken. Alles, was Sie tun müssen, ist über das Programmieren zu sprechen, was während eines Interviews nicht schwierig sein sollte. Und konzentrieren Sie sich auf den Kandidaten, der das Gespräch führt. Stellen Sie sicher, dass Sie das Kompetenzniveau unabhängig von ihrer Leidenschaft qualifizieren. Andernfalls kann dies Ihr Urteilsvermögen beeinträchtigen.

JeffO
quelle
1

Frag ob:

  • Sie beantworten Fragen auf StackExchange-Sites
  • Sie haben einen Blog oder eine Website?
  • Sie machen Nebenprojekte (möglicherweise kommerziell)
  • Sie tragen zu Open-Source-Projekten bei.
Scott C Wilson
quelle
5
Ich mache wenig davon, weil mein derzeitiger Job mehr als 50 Stunden pro Woche erfordert, aber ich denke immer noch, dass ich leidenschaftlich bin.
Job
1

Bevor Sie leidenschaftliche Programmierer einstellen können, müssen Sie feststellen, was Sie damit meinen.

Wenn ich bei Programmierern nach Leidenschaft Ausschau halte, hat das mit der Begeisterung ihrer Stimme zu tun, wenn sie über ein schwieriges Arbeitsproblem sprechen, das sie lösen mussten. Es hat zu tun mit leidenschaftlich genug, um etwas zu bekommen Tiefe von Wissen und die harten Probleme zu lösen verstärkt. Es hat nichts damit zu tun, ob sie außerhalb der Arbeit programmieren oder ob sie anhand ihrer Bilder drei berühmte Programmierer aus der Vergangenheit nennen können.

Wenn Sie ein Interview führen, können Sie Leidenschaft in der Art und Weise hören, wie sie Fragen beantworten. Sie gehen tiefer als die nicht leidenschaftlichen Menschen und neigen dazu, begeistert zu sein, was sie sagen. Sie verstehen den Geschäftsbereich, in dem sie programmiert haben, und können darüber sprechen, wie sie Probleme lösen und welche Vorschläge sie in ihrer Arbeit gemacht haben, um den Programmierprozess oder das Design der Anwendung zu verbessern. Sie sprechen über Refactoring und Designmuster, ohne speziell nach ihnen gefragt zu werden.

Wenn sie über ihre Leistungen sprechen, sprechen sie über Dinge, die über die grundlegende Kodierung eines Moduls hinausgehen. Sie sprechen darüber, wie sie ein Problem im Design erkannt und überarbeitet haben, oder sie sprechen darüber, wie sie eine neue Technik gefunden haben, um ein schwieriges Problem zu lösen, und sie sprechen mit Begeisterung. Ein leidenschaftlicher Mensch ist schwer zum Schweigen zu bringen. Sie wollen wirklich ihre Erfolge und Ziele für die Zukunft beschreiben. Möglicherweise haben sie Dinge, an denen sie speziell arbeiten möchten, und ihre aktuellen Angebote nicht. Sie zeigen ein Muster des Kompetenz- und Komplexitätswachstums ihrer Tätigkeiten.

HLGEM
quelle
0

Fragen Sie, was er in seiner Freizeit macht. Wenn es um das Codieren und Bearbeiten seines persönlichen Projekts geht, ist das ein ziemlich sicheres Zeichen für leidenschaftliche Programmierer. Nicht alle leidenschaftlichen Programmierer programmieren in ihrer Freizeit, aber die meisten, die dies tun, sind leidenschaftlich

Eine andere Sache ist, ihn zu bitten, die Anzahl der Stunden zu schätzen, die er programmiert hat, je mehr Stunden desto leidenschaftlicher (altersbereinigt)

PS. Ich sage nicht, dass Sie Ihre ganze Zeit damit verbringen sollten, zu programmieren. Sie müssen Leben, Hobbys usw. usw. haben. Wir neigen jedoch dazu, Zeit mit den Dingen zu verbringen, die wir lieben (Zeit mit einem Ehepartner und Kindern zu verbringen, ist akzeptabel :), also ist es ein guter Indikator , zusätzliche Zeit für die Kodierung einzuplanen .

... und yeah yeah, ihr nicht leidenschaftlichen Programmierer könnt mich runterstimmen, was ihr wollt;)

DS.

Konrad
quelle
2
Ich interessiere mich für Menschen, die eine Leidenschaft für das haben, wofür sie bezahlt werden, nicht für Hobbyisten. Leidenschaft bedeutet mehr, gründlich zu lernen und aufgeregt zu sein, als Open Source zu arbeiten, was sich oft nachteilig auf das berufliche Verhalten auswirkt, da die Leute mehr an ihren lustigen Dingen interessiert sind als an ihren Arbeiten.
HLGEM
Zunächst einmal ist ein leidenschaftlicher Programmierer kein Bastler. Er codiert bei der Arbeit und zu Hause und liebt beides. Zweitens fällt es Ihnen schwer, einen leidenschaftlichen Programmierer davon zu überzeugen, einen Job anzunehmen, der zumindest in gewissem Maße keinen Spaß macht. Ich ärgere mich wirklich darüber, dass die Einstellung eines Arbeitgebers gegenüber Arbeitnehmern nicht "zu viel Spaß" haben sollte, damit sie sich auf ihre "langweilige Sackgasse" konzentrieren können.
Homde
1
Programmieren auf Open Source ist ein Hobby. Ich könnte mich weniger um deine Hobbys kümmern und legal sollte ich wahrscheinlich nicht einmal danach fragen. Ich möchte jemanden, der die Leidenschaft zur Arbeit bringt. Deshalb suche ich Menschen, die Leidenschaft für das haben, was sie während der Arbeitszeit tun. Ich denke nicht, dass die Leute nicht leidenschaftlich sind, weil sie kein Open Source machen.
HLGEM
Ich habe nichts über Open Source gesagt, nur, dass sie in ihrer Freizeit Code schreiben und lernen, wie man Code schreibt, ob es sich um ein Lieblingsprojekt handelt, Open Source, das Erstellen einer mobilen App zum Spaß oder was auch immer, das sie kratzen wollen, das sie bei der Arbeit nicht können . Natürlich müssen sie diese Leidenschaft auch in die Arbeit bringen, aber genau darum geht es. Ein angestellter Tischlermeister ist begeistert von der Arbeit, die er als Angestellter und für sich selbst leistet. Er ist vielleicht leidenschaftlicher in
Bezug
0

Vor dem Interview können Sie anhand des Lebenslaufs den Unterschied zwischen einem leidenschaftlichen Entwickler und dem Rest erkennen. Der leidenschaftliche Entwickler spricht darüber, was sie getan haben, der Rest darüber, wie sie es getan haben. Der leidenschaftliche Entwickler listet seinen Blog, seine persönlichen Projekte usw. auf, der Rest hat sie nicht.

Mein Vorgesetzter nahm an meinen ersten Interviews teil und war beinahe fertig, als ich während des Interviews noch nicht einmal einen Kandidaten überprüft hatte. Er fragte mich später, warum ich es übersprungen habe. "Ich hatte seinen Code bereits in seinem Blog gelesen, ich weiß, dass er Code kann."

Während des Interviews identifiziert eine einzige Frage die Leidenschaft, "was Sie in die Technologie gebracht hat", für eine Person, die Sie wahrscheinlich einem leidenschaftlichen Entwickler entziehen müssen, wenn sie anfangen, sich über das erste Mal, als sie einen Computer benutzten, ein Programm schrieben und so weiter und so fort. Ich muss ein Gähnen unterdrücken, wenn ich eine Antwort von den anderen höre.

Schließlich beginnt mein Tech-Bildschirm mit Fragen, die einen leidenschaftlichen Entwickler beleidigen könnten (und ich stelle sie als solche vor), der nicht leidenschaftliche Entwickler könnte einige oder sogar alle richtig beantworten; Der leidenschaftliche Entwickler wird sie abschütteln, als ob sie ein Spickzettel hätten.

Meine Neigung ist es, einen leidenschaftlichen Entwickler mit weniger Erfahrung einzustellen als einen erfahrenen Entwickler, der nicht darauf aus ist, zu lernen und zu wachsen. Die einfache Tatsache ist, dass sich die Technologie zu schnell ändert, um jemanden einzustellen, der nicht auf dem Laufenden bleibt, ohne dass der Job dies erfordert.

Ich erkenne voll und ganz an, dass dies kein Narrenbeweis ist. Einige Qualitätstalente könnten aufgrund meiner Methode durch meine Finger gleiten. Ich weiß, dass es Leute gibt, die hoch qualifiziert sind, aber mit 5 den Computer ausschalten. Andererseits hat mich der leidenschaftliche Programmierer regelmäßig beeindruckt, und trotz jahrelanger Erfahrung stelle ich schnell fest, dass ich so viel von ihnen lerne wie Sie sind von mir.

Michael Brown
quelle
-1

Alle guten Antworten hier - ich füge hinzu, dass ich oft frage, ob der Kandidat mit dem Code anderer Leute gearbeitet hat (manchmal hat er das College noch nicht abgeschlossen), und wenn ja, was ist der größte Ärger, den er mit diesem alten Code hat. Manchmal gehen sie los und beschreiben schlechte Muster und wie sie sie reparieren. Ich nehme das als gutes Zeichen. Andere Antworten mögen Ihnen einen sehr entspannten Programmierer oder einen pedantischen zeigen ... etwas, das Sie vielleicht wollen oder nicht wollen.

Jody
quelle
1
falsche Einstellung von Ihrer Seite. IMO Jemand, der scheinbar willkürlich Code ändert, weil er die darin verwendeten Muster nicht mag, ist ein Schurke, der mehr Schaden als Nutzen anrichtet. Alle Änderungen an vorhandenem Code sollten einem bestimmten Zweck dienen, und dieser Zweck sollte direkt mit der Behebung festgestellter Probleme oder der Implementierung neuer Funktionen zusammenhängen. "Mir gefällt nicht, wie der Vorgänger die Dinge getan hat, deshalb werde ich das Los umschreiben of it "(das ist eine gängige Einstellung unter Junioren, die sich theoretisch
überfordert
Fair genug, aber ich habe nicht danach gesucht, dass sie es ändern ... nur um sich darum zu kümmern, wenn es falsch ist und nicht die gleichen Dinge zu tun. Normalerweise bekomme ich Antworten wie sehr große Funktionen, keine Kommentare im Code, kein Try / Catch.
Jody