it-swarm-eu.dev

Wahl zwischen zwei Programmierern: Erfahrung vs. Leidenschaft

Ich bin in einer Position, in der ich einen Programmierer einstellen muss und die Option von 2 Kandidaten habe. Der erste hat Erfahrung, aber er hat keine Leidenschaft für das Codieren und er sagt es, während der zweite nicht die Erfahrung hat, aber er hat Die Leidenschaft hat er im Interview gut gemacht und ist zertifiziert.

Wir haben die Ressourcen, um jemanden auszubilden, aber ich möchte diesen Prozess wirklich nicht in die Luft jagen und jemanden einstellen, der enttäuschend sein wird. Kann mir jemand helfen, wie ich mit dieser Situation umgehen soll?

83
Duke

Wow Leute, das hat am Ende eine Menge Debatten ausgelöst. Ich habe beschlossen, dem Rookie eine Chance zu geben, und er hat bisher ein großes Versprechen, bis zu dem Punkt, dass ich so besorgt bin, dass er vielleicht so hart arbeitet, dass er ausbrennt.

Am Ende gab ich ihnen eine einfache 10-minütige Programmieraufgabe und diskutierte, wie sie zu ihrer Lösung und anderen möglichen Lösungen kamen, die Vor- und Nachteile, und ich hatte einfach das Gefühl, dass der Anfänger ein solides Verständnis zu haben schien. Am Ende habe ich viele Artikel gelesen, aber ich hatte das Gefühl, dass der junge Mann eine gute Wahl war.

An der Erfahrung ist nichts auszusetzen, aber viele Programmierer gehen zur Arbeit und verbringen ihre Zeit mit Tagträumen. Sie müssen in Ihrer Freizeit nicht codieren, viele von uns tun dies, aber es ist kein Muss. Ein kompetenter Programmierer sollte jede Woche seine 40 Stunden bei der Arbeit verbringen, um Probleme zu lösen und mit seinen Werkzeugen auf dem Laufenden zu bleiben. Die Wahrheit ist jedoch, dass die Kluft zwischen großen und durchschnittlichen Programmierern besteht, weil in diesem Beruf ein Individuum einfach ausrollen und nur ein Architekturastronaut sein kann.

Danke euch allen

0
Duke

Stellen Sie den unerfahrenen Programmierer mit einer Leidenschaft für das Handwerk ein. Ein leidenschaftlicher Programmierer wird schnell lernen, sich um seine Arbeit kümmern und Spaß daran haben. Ich habe mit beiden Arten von Programmierern gearbeitet und ich würde immer den leidenschaftlichen Typ über den erfahrenen einstellen.

Menschen, die sich nicht für ihre Arbeit interessieren, führen schließlich zu Qualitätsproblemen sowie zur Einhaltung von Fristen.

Da Sie ausdrücklich angeben, dass Sie über die Ressourcen verfügen, um jemanden zu schulen, ist dies ein Kinderspiel. Stellen Sie den leidenschaftlichen Programmierer ein.

156

Während niemand hier in der Lage ist, Ihnen zu sagen, welche Sie einstellen sollen, möchte ich einen kleinen Kontrapunkt zum Verfahren anbieten ...

Einer unserer jüngsten Neueinsteiger ist das absolute Image von Berufserfahrung.

Um 9 Uhr, um 5 Uhr, eine Stunde zum Mittagessen. Keine späten, keine Wochenenden.

Was für die meisten Leute, die bisher geantwortet haben, wahrscheinlich schrecklich klingt.

Sein Code ist jedoch nicht nur besser (sauber, präzise, ​​strukturiert, verständlich, wartbar, testbar, pünktlich! ) als die meisten anderen Teammitglieder. Er ist auch ein ausgezeichneter Resonanzboden für die leidenschaftlichen Entwickler, wenn sie denken, dass sie alle unsere Probleme lösen wollen, ist ein einziger Einsatz, eine Quelle des Wissens, und eine Stimme, die uns vor uns selbst rettet.

Er weiß, wie man sich gegen aufdringliches Management wehrt. Er kann sehen, wie das Zielfernrohr eine Meile die Straße hinunter kriecht. Er schreibt mehr Unit-Tests als jeder andere. Er stöhnt und stöhnt nicht, wenn er mit einer langweiligen Aufgabe konfrontiert wird, und er wird wahrscheinlich in 5 Jahren noch hier sein.

( Zu meiner ersten Antwort hinzufügen )

Woher weißt du, dass der leidenschaftlich Kerl leidenschaftlich ist, abgesehen von der Tatsache, dass er es dir gesagt hat?

Er könnte sein Bestes geben scharfes Gesicht weil er den Job so dringend braucht, werden die Leute im Moment fast alles sagen, um einen Job zu bekommen

Er mag denken er ist leidenschaftlich am Codieren interessiert, aber wird der Glanz nachlassen, wenn er merkt 99% von uns schreiben keinen sexy Code .

Erfahrung ist quantifizierbar und nachweisbar.

Die Erfahrung zeigt, dass die meisten von uns täglich an nicht sexy Systemen und schmutzigem Legacy-Code arbeiten. Und die Erfahrung zeigt, dass sie sich morgens immer noch aus dem Bett ziehen können, um damit fertig zu werden.

Ich möchte wiederholen Ich sage niemandem, wen er einstellen soll. Ich denke nicht, dass Erfahrung besser ist als Leidenschaft oder umgekehrt. Ich bin nicht in einem massiven Wermutstropfen über Leute, die sich leidenschaftlich für das Codieren interessieren, aber ich finde es ein wenig besorgniserregend, dass hier das mangelnde Gleichgewicht dargestellt wird. Alle anderen Antworten, die hier am besten gewählt wurden, liefern sehr gute Argumente (Matthew Kubicina, Benutzer 9094, Otávio Décio, Bernard Dy), und ich habe sie als solche abgestimmt, auch wenn ich Vorbehalte gegen einige von habe ihre Meinungen.

117
gingerbreadboy

Ich würde sagen, dass es vom Rest des Teams abhängt :

  • wenn Sie bereits eine Menge erfahrener Programmierer haben, wählen Sie die leidenschaftliche

  • wenn Sie andererseits nur einen oder zwei erfahrene Programmierer plus viele Studenten /billige Arbeitskräfte mit wenig Erfahrung haben, aber das - kostet nicht viel, dann ist der erfahrene nützlicher.

50
wildpeaks

"Erfahren" bedeutet nicht unbedingt "auf seine Art festgefahren"

Als erfahrener Entwickler mittlerer Stufe (ich bin noch keine 40 Jahre alt) bin ich ein wenig beunruhigt darüber, dass die überwiegende Mehrheit der Antworten hier zu implizieren scheint, dass jemand, der "dort gewesen ist, das getan hat", nicht weiß, wie Bleiben Sie mit den Jugendlichen auf dem Laufenden. Es ist eine unfaire und gefährliche Annahme.

Es würde mich interessieren, was der erfahrene Mann tatsächlich gesagt hat. Wenn er sagte "Ich habe keine Leidenschaft für das Codieren", dann würde ich ihn wahrscheinlich nicht in Betracht ziehen, genauso wie ich einen Vegetarier wahrscheinlich nicht als Metzger betrachten würde. Wenn es in seinen Antworten auf "Was machst du in deiner Freizeit?" Nicht um Codierung ging und der Interviewer implizierte, dass dies bedeutete, dass er keine Leidenschaft für Codierung hatte, ist es etwas ganz anderes.

Beachten Sie, dass ich nicht sage, dass er den erfahrenen oder den leidenschaftlichen Mann einstellen sollte. Ich habe auch keinen interviewt und habe keine Ahnung von der Kultur seines Unternehmens.

Von Dictionary.com:
Ex · pe · ri · enced/ɪkˈspɪəriənst/Show Spelled [ik-speer-ee-uhnst] –adjektiv

  1. weise oder geschickt in einem bestimmten Bereich durch Erfahrung: ein erfahrener Lehrer.
  2. durch Erfahrung gelernt haben; gelehrt durch Erfahrung: erlebt durch Widrigkeiten.
  3. ertragen; durchgemacht; gelitten durch: erlebte Unglück.
    Herkunft: 1560–70; Erfahrung + -ed2

- Verwandte Formen, die nicht exzellent, adjektivisch, adjektivisch, adjektivisch, adjektivisch, adjektivisch, adjektivisch sind

—Synonyme 1. qualifiziert, Experte, geübt, Veteran, vollendet, versiert, geschickt, qualifiziert.

20
Wonko the Sane

Alternativ können Sie diejenige mit der höchsten StackOverflow-Punktzahl auswählen: D.

12
wildpeaks

Sie sollten denjenigen einstellen, von dem Sie feststellen, dass er das größte Interesse daran hat, vor allem auf die Bedürfnisse Ihres Unternehmens einzugehen. Ich habe Fälle gesehen, in denen ein sehr guter und leidenschaftlicher Entwickler eingestellt wurde, nur um schnell zu erledigen, was er für den zahlenden Arbeitgeber tun musste, und um sich schnell um sein eigenes Geschäft zu kümmern.

11
Otávio Décio

Der IT-Managementberater Paul Glen schrieb über das Konzept der Leidenschaft am Arbeitsplatz in dieser Aufsatz für Computerworld . Vielleicht finden Sie es eine interessante Perspektive, obwohl ich Glen's impliziter Behauptung nicht zustimme, dass Leidenschaft und Stabilität sich gegenseitig ausschließen. Ich denke, Sie können beides haben. Ich würde vorschlagen, dass Sie auch die Kommentare nach dem Artikel durchsuchen. Einige Leute hatten andere Einsichten.

In Ihrem Fall scheint es jedoch eine Wahl zwischen beiden zu sein. Aber lassen Sie uns qualifizieren, was Sie meinen, wenn Sie "Leidenschaft" sagen.

Wenn der erfahrene Mann sagt, er sei nicht leidenschaftlich, kümmert er sich nicht um die Qualität der Arbeit oder ist das Programmieren nicht seine erste Liebe (vielleicht hat er eine Familie? Ein lebenslanges Interesse an Autos oder Musik oder Zuhause gebraut?). Wirklich, wenn ein erfahrener Mann nicht leidenschaftlich gern drei neue Sprachen lernt, die über das hinausgehen, was er bereits kennt, aber dennoch mit seinen Hauptsprachen, Werkzeugen und dergleichen Schritt hält und auch einige Biere zu Hause braut, kann ich damit leben.

Aber wenn der erfahrene Typ ein schrecklicher Entwickler ist und sich nicht verbessern möchte, würde ich das nicht als leidenschaftslos bezeichnen, ich würde es als unprofessionell bezeichnen. Daumen runter in diesem Fall.


EDIT: Nachdem ich einige weitere Antworten gelesen hatte, dachte ich, ich würde ein wenig hinzufügen. Ich denke, die Schwierigkeit liegt in den Parametern der OP-Frage: Wir wissen nicht, welcher der beiden Entwickler kompetent ist . Wir konzentrieren uns darauf, zwei Merkmale zu bewerten, die scheinbar uneins sind, obwohl ich glaube, dass Sie, wie oben erwähnt, sowohl Erfahrung als auch Leidenschaft haben können. Beides kann jedoch auch schlecht sein.

Ich habe einmal mit einem erfahrenen Mann zusammengearbeitet, der klug war, aber auch den größten Teil seines Lebens damit verbracht hatte, sich in einem Vakuum zu entwickeln. Ich habe genauso viel Zeit damit verbracht, mit ihm zu streiten, wie ich irgendwelche Arbeiten erledigt habe. Er war sowohl erfahren als auch leidenschaftlich, aber keiner half meinem Team wirklich.

9
Bernard Dy

Wenn Sie Code Complete lesen, wissen Sie Folgendes:

Erfahrung ist nicht so wichtig wie du denkst

Dies liegt daran, dass sich selbst die Grundlagen im Softwarebereich ständig ändern . Dies bedeutet, dass der erfahrene Mann auf seine alte Art feststeckt und nicht am Lernen interessiert ist neue Dinge - Jahr für Jahr.

Der leidenschaftliche Kerl wird dies mit ziemlicher Sicherheit tun - auch in seiner eigenen Zeit. Ich würde jedes Mal Leidenschaft über Erfahrung einstellen

5
billy.bob

Weder

Ich würde niemals jemanden einstellen, der keine Leidenschaft für seine Arbeit hat, es sei denn, es war eine ziemlich einfache Aufgabe und vielleicht auch dann nicht. Normalerweise bedeutet keine Leidenschaft, dass sie

1) genießen nicht, was sie tun:

2) Sie geben den Mindestbetrag aus, wenn Zeit dafür erforderlich ist, auch bekannt als "Es ist nur ein Ob".

3) Nehmen Sie die Atmosphäre in Ihrem Team/Unternehmen weg, anstatt sie zu verstärken

Auf der anderen Seite ist Erfahrung für Programmierer von entscheidender Bedeutung. Ein leidenschaftlicher Neuling kann möglicherweise die 10 000 Stunden Erfahrung aufwenden, die erforderlich sind, um schneller zum Experten zu werden, indem er sein "Leben" und andere Hobbys opfert, aber es wird noch einige dauern Jahre

Da Erfahrung so viel wert ist, wird sie wirtschaftlich kaum durch ein geringfügig niedrigeres Gehalt ausgeglichen. Also würde ich auch nicht sagen, geh mit jemandem mit anständiger Erfahrung, zumindest der leidenschaftlich ist. Je jünger (weil sie keine nervigen Kinder und Frauen haben) und leidenschaftlicher sie sind, desto weniger Erfahrung können Sie verlangen :)

3
Homde

Einfache Antwort Entscheide dich für Leidenschaft

Er/Sie wird seine Leidenschaft einsetzen, um die Dinge besser zu machen und wird für lange Zeit programmieren

2
Fraz Sundal

es ist einfach, die Leidenschaft für Code mit der Leidenschaft für einen Job zu mischen (oder die Leidenschaft für einen monatlichen Scheck).

Es ist auch einfach, Erfahrung mit jahrelangem Gebrauch einer Kabine zu mischen.

Wie auch immer, ein wirklich erfahrener Programmierer kann von x2 bis x10 als Anfänger arbeiten, egal ob der Anfänger Leidenschaft hat oder nicht.

Im Gegenteil, ein Anfänger kann viel Zeit damit verbringen, dumme Fragen zu stellen. Denken Sie daran, die meisten Programmierer werden nach ihrem Job bewertet, nicht nach dem Unterrichten anderer.

1
magallanes

Es hört sich so an, als ob Sie weitere Informationen benötigen, um eine Entscheidung zu treffen. Hatten die Kandidaten im Rahmen Ihres Interviewprozesses tatsächlich Code entworfen oder geschrieben? Wenn nicht, ist das vielleicht Ihr nächster Schritt. Stellen Sie sich ein einfaches Problem vor, an dem sie arbeiten können, und stellen Sie sie für kurze Zeit auf diese Aufgabe.

Überprüfen Sie ihre Arbeit mit ihnen später im Interview. Sehen Sie, wie gut sie ihre Lösung erklären können. Untersuchen Sie sie, um herauszufinden, wie sie das verbessern können, was sie bereits geliefert haben.

Nach meiner Erfahrung war es der beste Weg, Entwickler einer solchen „Audition“ zu unterziehen, um die Kandidaten zu identifizieren, die es wirklich wert sind, eingestellt zu werden.

1

Leidenschaft bedeutet nicht immer Fähigkeiten. Manchmal Leidenschaft == Arroganz und Inflexibilität.

Erfahrung führt nicht immer zu Fähigkeiten. Manchmal erleben Sie Arroganz und Inflexibilität.

Fazit: Stellen Sie die beste Person für den jeweiligen Job ein. Dies beinhaltet Leidenschaft, Erfahrung, Fähigkeiten, Persönlichkeit, Zuverlässigkeit und nicht zu vergessen Hartnäckigkeit.

1
Bill

IMO hängt davon ab, warum die nicht leidenschaftliche Person ihre Leidenschaft verloren hat. Hatten sie es überhaupt? Würden sie lieber Architektur machen als mit APIs und Loops herumzuspielen? Wurden sie nur sauer, weil sie schlechten Code/schlechtes Management sahen, dass sie einfach aufhörten, sich um sie zu kümmern? Diskontieren Sie nicht jemanden, der sagt "Ich bin nicht leidenschaftlich über mein Handwerk", weil es gültige Gründe geben kann. Selbst die leidenschaftlichste Person verliert schnell ihr Feuer, wenn sie jedes Mal gegen Wände stößt, wenn sie versucht, Leidenschaft zu zeigen. Wie der Hamster, der schockiert ist, werden sie irgendwann lernen, einfach die Parteilinie abzuschleppen, und die Leidenschaft geht verloren.

0
Wayne Molina

Am Ende des Tages bedeutet Erfahrung nichts ohne Leidenschaft. Ein erfahrener Mensch ohne Leidenschaft wird niemals sein volles Potenzial entfalten und seine Fähigkeiten nicht verbessern. Was Sie sehen, ist was Sie bekommen, Ende der Geschichte.

Leidenschaft ist ein heißer, brennender Kraftstoff, der Unerfahrenheit in Erfahrung verwandeln kann. Leidenschaft kann helfen, Probleme zu lösen, die von erfahrenen Leuten unlösbar sind. Leidenschaftliche Menschen werden immer danach streben, sich zu verbessern. Leidenschaftliche Menschen geben nicht auf.

Erfahrene Menschen, die aufgegeben haben, sind wie Gene Wilders Charakter in Blazing Saddles. Er hatte all diese Anerkennung als die schnellste Waffe im Westen, aber all diese Erfahrung bedeutete absolut nichts, da er seine Waffe nicht länger ruhig halten konnte, um gerade zu schießen.

Eine erfahrene Person, die nicht stabil bleiben kann, wenn es darum geht, die Konkurrenz zu übertreffen, wird nur zur Haftung.

Gehen Sie mit der leidenschaftlichen Person oder interviewen Sie weitere Kandidaten, bis Sie die richtige Mischung aus Feuer und Weisheit gefunden haben.

0
jmort253

Ich fühle, wenn Sie feststellen, dass in einem Interview in Erfahrung Kandidat technisch gute Leistungen erbracht hat und er auch gerne codiert. So wird er nach einiger Zeit produktiver für Ihr Unternehmen, wenn er im Vergleich zum Erfahrungskandidaten richtig geschult wurde.

Wenn Sie essen möchten, testen Sie wissentlich weniger Essen, das von jemand anderem gekocht wurde. Schließlich liegt die Wahl bei Ihnen.

0
Mukesh Rathaur