Ich habe einen Entwickler in meinem Team, der zwar qualitativ hochwertigen Code liefert, aber deutlich langsamer ist als die anderen Entwickler in meinem Team. Dies verursacht einen ziemlich ernsthaften Engpass, den ich zu lösen versuche. Mittel- bis langfristig wird es anderen Teammitgliedern ermöglichen, das Team funktionsübergreifend zu machen, um die Geschwindigkeit zu erhöhen, aber ich schaue nach jeder Möglichkeit, um die Leistung dieses bestimmten Entwicklers zu steigern (insbesondere, da das Projekt am Ende ist Risiko einer Budgetüberschreitung).
Dieser spezielle Entwickler programmiert immer noch gerne "old skool". Das heißt, er verwendet einen Texteditor zum Codieren, eine Befehlszeile für jede mögliche Situation, und wenn er die Möglichkeit hätte, seine Maus und alle visuellen Hilfsmittel zu entfernen, würde er es tun. Er ist ausdrücklich klar: Sie wollen nichts anderes tun als programmieren, am liebsten dort, wo sie keinen Kontakt zu anderen Menschen haben, und am liebsten zu Hause. Absolut keine Meetings, keine Diskussionen, er will die anfallenden Aufgaben selbst erledigen und erledigen. Der Versuch, Agile einzuführen, wird eine Herausforderung sein. Er hat nicht viele andere Aufgaben, 95 % seiner Arbeit ist Code.
Nun, ich bin nicht dagegen , dass Entwickler sich weigern, Schnittstellen, Mäuse und IDEs zu verwenden, wenn sie sich das Leben schwer machen wollen (persönlich denke ich, dass es nur ein Show-Off-Move ist und meiner Meinung nach die Entwicklungszeit erheblich verlangsamt), aber wenn Velocity ist unterdurchschnittlich betrachte ich dies als eine der Optionen, um die Leistung zu steigern.
Die Frage ist also, ist es fair und liegt in meiner Zuständigkeit, den Entwickler zu bitten, auf eine IDE umzusteigen, um die Geschwindigkeit zu verbessern? Meiner Erfahrung nach hat dies eine drastische Verbesserung der Zeit zur Erledigung einer Aufgabe zur Folge, aber ich habe das Gefühl, dass es ihn in eine Ecke zwingen und ihm etwas wegnehmen würde, das ihm wirklich Spaß macht, was der Motivation nicht helfen wird.
Für diejenigen, die sagen "es gibt mehr Flexibilität/Leistung!", Ich verstehe diesen Punkt, und die Befehlszeile ist immer für die 2% der Zeit da, die Sie brauchen. Für den Rest der Zeit wurden IDEs und visuelle Schnittstellen aus einem bestimmten Grund entwickelt: Geschwindigkeit und Benutzerfreundlichkeit. Ich glaube nicht daran.
Bearbeiten: Zur Verdeutlichung, ich bin ein neues Mitglied des Teams, das als Projektmanager eingestellt wurde, aber ich bin auch ein ehemaliger leitender Entwickler, der erheblich mehr Erfahrung hat als die anderen Entwickler im Team. Mir wurde freie Hand gegeben , Architektur- und Entwicklungsentscheidungen zu treffen, um dieses spezielle Projekt, das in ernsthaften Schwierigkeiten steckt und für den Erfolg des Unternehmens von entscheidender Bedeutung ist, wieder in Gang zu bringen.
Edit2: Ein häufiger Vorschlag hier ist, den Entwickler zu fragen, was seiner Meinung nach dazu beitragen wird, seine Geschwindigkeit zu verbessern. Ich habe das schon ein paar Mal gemacht, aber es kommt keine brauchbare Antwort: "Ich werde darüber nachdenken", was nicht passiert. Das ist einer der Gründe, warum ich auf relativ ungewöhnliche Routen schaue, um zu sehen, ob ich die Produktivität auf andere Weise steigern kann.
Edit3: Es ist klar, dass die gesamte IDE/CLI-Diskussion unlösbar ist; Beide Seiten haben ihre Standpunkte, und wie bei OSX/Windows oder Python/PHP oder ... gibt es keinen richtigen oder falschen Weg. Wenn Sie dazu etwas sagen möchten, gehen Sie zu dieser Diskussion , um weiter mit Ziegelwänden zu sprechen. Die Frage war nicht, ob IDEs besser sind als CLIs, sondern ob ich diesen Entwickler bitten kann, etwas Neues auszuprobieren, um zu sehen, ob es die Geschwindigkeit beeinflusst. Letztendlich können Entwickler mit Lochkarten oder in Minecraft programmieren, wenn sie möchten, solange die Geschwindigkeit vorhanden ist . Bitte beachten Sie, dass es eine viel längere und schwierigere Lernkurve hat, mit CLI effizient zu werden, als dies bei IDEs der Fall ist, und es ist möglich , dass dies hier der Fall ist.
Das Management muss messbare Ziele setzen.
Sie müssen dann bestätigen, dass der Entwickler diese Ziele erreicht. Wenn nicht, müssen sie handeln.
Wenn Sie mit diesbezüglichen Problemen konfrontiert sind und nicht der Vorgesetzte dieses Mitarbeiters sind, konzentrieren Sie sich auf die Geschwindigkeitsprobleme, wenn Sie mit Ihrem Chef sprechen. Wenn Sie der Manager sind, müssen Sie Ihre Erwartungen klarer formulieren.
Für den Rest der Zeit wurden IDEs und visuelle Schnittstellen aus einem bestimmten Grund entwickelt: Geschwindigkeit und Benutzerfreundlichkeit. Ich glaube nicht daran.
Argumentieren Sie nicht über den „Werkzeuge“-Ansatz, wie Sie es hier getan haben. Es wirkt kleinlich und ist letztendlich sinnlos - einige der besten Programmierer, die ich kenne, lieben/schwören auf vim und sind mit vim produktiver als ich es jemals sein werde. Es geht nicht um die Werkzeuge, es geht um die Gesamtproduktivität.
Jedes Mal, wenn Sie dies einem Manager gegenüber erwähnen, werden Sie mit ziemlicher Sicherheit die Wahrscheinlichkeit verringern, dass er Maßnahmen ergreift.
Wenn Sie sich auf die Tools konzentrieren, können Sie garantiert weder diesen Mitarbeiter noch das Management davon überzeugen, Maßnahmen zu ergreifen, da es sich um eine unbedeutende Anschuldigung handelt, die letztendlich irrelevant ist. Sie müssen sich auf die Ergebnisse (oder das Fehlen von Ergebnissen) konzentrieren.
Als Old-School-Entwickler, der Texteditoren und die CLI verwendet, kann ich sagen, dass es nicht unbedingt zu einer Geschwindigkeitssteigerung führt, wenn jemand gezwungen wird, andere Tools zu verwenden.
Das heißt, wenn Sie der Teamleiter sind, ist es im Allgemeinen unklug, das Mikromanagement so weit herunterzuschrauben, dass Sie verlangen, dass er bestimmte Tools gegenüber anderen verwendet.
Entweder er macht seinen Job oder er tut es nicht.
Wenn ja, lass ihn in Ruhe
Wenn dies nicht der Fall ist, beginnen Sie mit dem Prozess, um ihn zu beenden.
Das alte Sprichwort, dass die Verwaltung von Programmierern wie das Hüten von Katzen ist, ist keine Untertreibung der damit verbundenen Schwierigkeiten.
Dieser Teil sticht für mich besonders hervor:
Meiner Erfahrung nach hat dies eine drastische Verbesserung der Zeit zur Folge
Ja, deiner Erfahrung nach. Bei ihm kann es eine schrecklich schädliche Wirkung haben.
Argumentieren Sie niemals auf der Grundlage eines Tools.
Denken Sie daran, der Punkt ist, entweder er macht seinen Job oder er tut es nicht.
BEARBEITET ZUM HINZUFÜGEN::
Vermeiden Sie Mikromanagement um jeden Preis. Alles, was Sie tun, ist, Sie auf ein Scheitern vorzubereiten, da der Mitarbeiter auf drei Arten reagieren kann.
Ihre Aufgabe ist es einfach, zu beschleunigen. Stellen Sie sicher, dass Ihr Team über die Tools verfügt, die es benötigt, und beseitigen Sie alle Erfolgshindernisse. Wenn Ihr Ziel bei diesem Mitarbeiter Geschwindigkeit ist, dann setzen Sie sich mit ihm zusammen und besprechen Sie Geschwindigkeit, nicht die Tools. Fragen Sie ihn, wie er in kürzerer Zeit mehr produzieren könnte.
Erwähnen Sie, dass Sie denken, dass die neuen Tools nützlich sein könnten, aber bitten Sie ihn um seine Meinung. Wenn es seine Entscheidung ist, kann er die Werkzeuge freiwillig verwenden, ohne dass die Moral darunter leidet. Er kennt vielleicht andere Tools, die es ihm ermöglichen würden, ohne die IDE oder Tools, die Sie jetzt verwenden, auf den neuesten Stand zu kommen. Denken Sie daran: Das Ziel ist eine Leistungssteigerung, nicht "Verwenden Sie diese Tools oder etwas anderes".
Generally unwise to micromanage
: Ich werde manchmal zum Mikromanagement gerufen, aber in Situationen, in denen das Projekt hinter dem Zeitplan zurückbleibt und Aufgaben eine strenge Priorisierung erfordern, um maximalen Nutzen zu erzielen, ist das nicht manchmal notwendig?Wie andere angemerkt haben, ist das Erzwingen eines Werkzeugwechsels an und für sich möglicherweise nicht immer der beste Ansatz oder die beste Arbeit. Sie jedoch davon zu überzeugen, dass es in ihrem besten Interesse ist, ein Werkzeug zu wechseln, wird es tun.
Dabei wird ein zweigleisiger Ansatz verfolgt:
demonstrieren Sie ihnen greifbar, dass ein Wechsel des Werkzeugs ihnen hilft, ihre Produktivität zu steigern
Verwenden Sie Ihre Managementhebel, um sie davon zu überzeugen, dass sie ihre Produktivität verbessern müssen , damit sie motiviert sind, eine Antwort darauf zu finden, wie.
Nr. 2 ist eine Standard-Management-Frage, die etwas außerhalb des Rahmens Ihrer Frage liegt (dies ist Standard-Management 101).
Der Rest meiner Antwort wird sich darum drehen, wie man Stift Nr. 1 erreicht und sie davon überzeugt, dass ein Werkzeugwechsel ihnen helfen wird, wenn sie daran interessiert sind, ihre Produktivität zu verbessern.
Ein folgender Ansatz könnte zumindest bei einigen Entwicklern besser funktionieren als "Erzwingen": Beweise produzieren . Welchen speziellen Flavor Sie verwenden können, hängt von der Persönlichkeit des einzelnen Entwicklers und Ihrer/seiner Dynamik ab. Einige dieser Ansätze können (und sollten wahrscheinlich) gemischt und aufeinander abgestimmt werden.
Ansatz 1: Demo
Bitten Sie ihn, sich eine Demo (von Ihnen selbst oder einem anderen respektierten Entwickler) anzusehen, wie eine bestimmte Reihe von Aufgaben mit IDE/neuem Tool schneller erledigt wird.
Wenn sie ein guter Entwickler sind, würden sie zumindest etwas von Beweisen und Logik beeinflusst werden. Sie sind immer noch Fleischbeutel mit Fehlern in der Software (auch bekannt als Mensch), so dass dies aufgrund von Besonderheiten der Verhaltenspsychologie möglicherweise nicht immer so gut funktioniert wie gewünscht, also setzen Sie Ihre Erwartungen entsprechend.
Sie können dies entweder auf offensichtliche Weise tun (indem Sie es so formulieren: "Ich weiß, dass Sie IDEs nicht mögen, ich möchte Ihnen zeigen, wie sie Ihnen helfen können"); oder weniger offensichtlich ("Hier ist eine Demo für das gesamte Team, sehen Sie mir zu, wie ich in 15 Minuten XYZ mache, damit Sie alle so cool sein können wie ich" - nachdem er selbst einen Tag gebraucht hat, um dasselbe zu tun).
Ansatz 2: Herausforderung
Das funktioniert nicht mit allen Persönlichkeiten; und kann nach hinten losgehen; aber einige Leute sind intensiv wettbewerbsfähig.
Fordern Sie sie heraus, um zu sehen, wessen Annäherung schneller ist; entweder als Mutprobe; oder als Wettbewerb.
Als Anreiz; Sie können ihnen versprechen: "Wenn Sie die Herausforderung gewinnen, werde ich das Thema NIE wieder ansprechen und Ihnen eine Woche lang kostenlose Pizza kaufen; wenn Sie verlieren, verpflichten Sie sich, die IDE einen Monat lang zu lernen und auszuprobieren."
Ansatz 3: Überwältigen Sie sie mit den Vorteilen des neuen Tools
Mir persönlich geht es ähnlich wie dem von Ihnen beschriebenen Entwickler. Ich werde die Maus nur benutzen, wenn ich muss; Ich mache Dinge in der Befehlszeile (mit hoher Effizienz), von denen die meisten Leute nicht wissen, dass sie getan werden können; Ich habe meinen Teamkollegen CLI-Fähigkeiten in einem formellen Rahmen beigebracht. Früher habe ich Eclipse und andere IDEs gehasst.
Was die Dinge für mich verändert hat, war, dass mein Manager mich buchstäblich (oder ist das im übertragenen Sinne? :) zu Tode geritten hat mit "Oh, schau dir DAS coole Ding an, das ich in Eclipse machen kann!" (Einfaches Refactoring. Einfaches Debuggen. „Zur Definition springen“. „Wo wird dieser Bezeichner verwendet?“ suchen. etc...)
Ich verwende CLI immer noch, wenn dies gerechtfertigt ist; aber ich habe mich bemüht, die Lernkurve für Eclipse zu erklimmen und mit seinen Mängeln Frieden zu schließen, einfach weil der Manager objektiv bewiesen hat, dass es mein Leben als Entwickler besser/einfacher machen wird.
Ansatz 4: WICHTIG: Bieten Sie ihnen Hilfe bei der Lernkurve an
Ein Teil des Widerstands ist wahrscheinlich die Kombination aus Menschen, die Komfortzonen und objektive Schwierigkeiten beim Erlernen der Verwendung moderner IDEs mit einem beliebigen Grad an Kompetenz mögen .
Ihre Aufgabe als Manager ist es, Barrieren zu beseitigen, die Ihr Team beeinträchtigen; Als solches sind Sie in der Lage, mit letzterem umzugehen.
Bieten Sie ihnen alle Ressourcen an, die sie benötigen – Schulungsmaterialien; Klassen usw. Nach meiner langjährigen Erfahrung ist jedoch die Hilfe von Ihnen selbst oder von angesehenen Teammitgliedern am hilfreichsten und verlockendsten.
Wenn sie wissen, dass sie Fragen über die IDE an jemanden stellen können, der sie nicht auf die Art "eh, das ist eine n00b-Sache, du schwachsinniger Idiot" beurteilen wird; sie werden weniger widerstandsfähig sein.
Wenn sie die Freude erleben , dass ihnen jemand bei einem seltsamen IDE-Problem hilft, würden sie sich weit weniger besorgt fühlen.
edlin
?Einfach gesagt, Sie sind auf dem falschen Weg. Die Wahl der Tools wird einen Entwickler nicht produktiver machen. Wenn Sie jemanden zwingen, die Werkzeuge zu verwenden, mit denen er nicht gerne arbeitet, wirkt sich dies negativ auf seine Moral aus und macht ihn weniger produktiv. Ich verwende eine ausgezeichnete IDE, wenn ich unter Windows codiere, und Befehlszeilentools, wenn ich unter Linux codiere, und es gibt absolut keinen Unterschied in meiner Produktivität zwischen den Umgebungen - aber das liegt daran, dass ich beides mag.
Um den Entwickler produktiver zu machen, sprechen Sie mit ihm und fragen Sie, was ihn motivierter machen würde. Es ist wirklich ein HR-Problem, kein technisches.
Sie sind hier viel zu selbstbewusst in Ihrem Urteil.
Ich habe oft beobachtet, dass Leute, die mit Tastaturschnittstellen nicht fließend sind, dazu neigen, stark zu unterschätzen, wie effektiv eine gute Tastaturschnittstelle von jemandem verwendet werden kann, der es ist. Doppelt so, wenn die Schnittstelle erweiterbar ist und von jemandem verwendet wird, der sich mit der Konfiguration auskennt.
Sie klingen sehr nach einer solchen Person.
Erschwerend kommt hinzu, dass Ihr Posting ziemlich nachteilig wirkt.
Folglich halte ich es für äußerst unklug, zu versuchen, dieses Problem zu erzwingen.
Das heißt, Sie glauben eindeutig daran und sind daran interessiert, eine Konvertierung durchzuführen. Sie müssen sich daran erinnern, dass das Wechseln der von Ihnen verwendeten Werkzeuge eine ziemlich holprige Fahrt sein kann, insbesondere wenn das neue Werkzeug sich stark von dem unterscheidet, an das Sie gewöhnt sind.
Meiner Meinung nach ist der beste Weg, dies anzugehen, die Hindernisse zu beseitigen, um den Übergang zu glätten. Die Antwort von DVK geht darüber gut hinweg.
Aber Sie müssen bedenken, dass dieser Entwickler andere Erfahrungen hat als Sie.
Beispielsweise halten Sie es vielleicht für keine große Sache, ein neues Projekt in Ihrer bevorzugten IDE zu starten. Der neue Benutzer wird jedoch mit einer verwirrenden Reihe von Optionen konfrontiert, deren Auswirkungen er nicht versteht. Und wahrscheinlich vergleichen sie den Prozess ständig damit, einfach eine Tastenkombination zu drücken, um eine neue Datei in ihrem alten Tool zu öffnen, und fragen sich, warum das neue Tool die Dinge so kompliziert machen muss.
Beachten Sie, dass Sie andere potenzielle Optionen haben, um eine höhere Produktivität zu erreichen. Sie haben seine Arbeit als qualitativ hochwertiger eingeschätzt, also weisen Sie ihm Aufgaben zu, bei denen Qualität von größerer Bedeutung ist. Sie erzielen Ihre Produktivitätsgewinne, indem Sie Ihren schnellen Entwicklern erlauben, andere Aufgaben zu erledigen und schneller voranzukommen, anstatt sie in eine Aufgabe zu verstricken, die mehrere Iterationen durchlaufen muss, um ihren Code aufzupolieren.
You've judged his work as being of greater quality
- Die ursprüngliche Antwort nannte es "gut", was sich als angemessen liest. Es wird nicht als überlegen erwähnt.Stellen Sie sicher, dass diese Person langfristig kein besserer Programmierer ist. Er bringt Features vielleicht langsamer heraus, aber wenn sie von höherer Qualität sind, ist es schwierig, dagegen zu argumentieren.
Dinge nicht schnell genug zu erledigen, um das Budget einzuhalten, ist Teil seines Jobs. Jemand, der dafür verantwortlich ist, muss eingreifen und auf eine Korrektur hinarbeiten. Vielleicht muss er Hilfe zur Rechenschaft ziehen. Hoffentlich wäre jemand bereit, mit ihm zusammenzuarbeiten, um dieses Problem zu lösen, bevor drastische Maßnahmen ergriffen werden. Vielleicht ist es die Verwendung anderer Tools. Seien Sie nicht überrascht, wenn Sie ihn zu einem Wechsel zwingen, der seine Produktivität verringert. Diese Dinge brauchen Zeit und sind schlimmer, wenn die Person nicht glaubt, dass es hilft, und nicht motiviert ist.
Anscheinend ist sich dieses Problem jetzt einem Verantwortlichen bewusst oder er unternimmt nichts dagegen. Vielleicht haben sie das Gefühl, dass der Rest des Teams die Lücke schließen wird? Ich würde diese Person wissen lassen, dass Sie dies nicht beabsichtigen, insbesondere wenn sie keine Kompromisse eingehen und andere Tools verwenden wird.
Es gibt verschiedene Managementschulen:
Menschen sollten die Dinge tun, die das Management ihnen sagt, und sie so tun, wie das Management ihnen sagt, sie zu tun.
Menschen sollten Dinge tun, die dem Unternehmen helfen, und selbst herausfinden, wie sie das tun, denn sie sind Profis.
Die meisten Entwickler werden normalerweise nach dem zweiten Weg verwaltet und reagieren etwas schlecht auf den ersten. Ok, ich habe es stark vereinfacht und es gibt viel mehr als 2 Managementschulen, aber Sie sollten verstehen, worauf es ankommt. Wenn Sie möchten, dass ein Entwickler oder ein anderer hochqualifizierter Mitarbeiter etwas tut, gehen Sie normalerweise wie folgt vor:
Als Manager sind Ihnen die Tools, die Ihr Team verwendet, egal. Entscheidend sollte sein, ob das Team Zugang zu den benötigten Tools hat, angemessen in den verwendeten Tools geschult ist und ob es Tools gibt, die unnötige Reibung in den Teamprozessen verursachen. Denken Sie daran: Sie sind die Experten, sie wissen, wie man arbeitet, deshalb bezahlen Sie sie.
Was Sie tun können, ist, das Bewusstsein für Tools zu schärfen. Einige Möglichkeiten, das Bewusstsein und die Vertrautheit mit einer breiteren Palette von Tools zu schärfen, bestehen darin, Teammitglieder den Code des anderen beim Check-in überprüfen zu lassen, Programmiersitzungen zu zweit abzuhalten, zu besonderen Anlässen unterschiedliche Teamzusammensetzungen zu haben (z project Friday") und viele mehr.
Spezifischer Ratschlag für den IDE vs. Texteditor-Teil der Frage:
Wenn ein Entwickler, der jahrelang mit einem Texteditor gearbeitet hat, deutlich langsamer ist als andere Entwickler, die mit einer IDE arbeiten, wird dieser Entwickler durch den Wechsel zu einer IDE nicht plötzlich auf die gleiche Geschwindigkeit wie die anderen Entwickler kommen. Der Geschwindigkeitsunterschied liegt bei weitem nicht im Bereich "deutlich langsamer".
Ich stimme vielen dieser Antworten wirklich nicht zu, die darauf hindeuten, dass es immer schlecht ist, einen Entwickler zu zwingen, bei der Entwicklung ein bestimmtes Tool zu verwenden. Was ist zum Beispiel, wenn Sie in Java programmieren und Debugging durchführen müssen, aber einen Entwickler haben, der nur einen Texteditor und die Befehlszeile verwendet. Ich habe Leute getroffen, die jahrelang in der Branche waren, die nicht wussten, dass Sie den Code in Eclipse während des Debuggens ändern können und Ihre Änderungen sofort wirksam werden ... Ich meine, schauen Sie sich diese Frage zum Debuggen von Java in VIM an. https://stackoverflow.com/questions/545056/how-to-debug-java-application-using-vim-gvim. Die akzeptierte Antwort enthält einen Link zu etwas namens JavaKit, das zuletzt 2008 aktualisiert wurde. Wenn ich der Chef bin und einen Entwickler habe, der Stunden damit verbringt, Java in Vim zu debuggen, um einen Fehler zu finden, würde ich ihm zeigen, wie Ich kann diese Aufgabe in 5 Minuten in einer IDE erledigen. Danach werde ich ihnen mitteilen, dass sie dieses Spiel in ihrer Freizeit spielen können, und ich erwarte, dass sie in der Zwischenzeit die IDE verwenden. Aber auch hier müsste ich den Nutzen oder die geschäftliche Notwendigkeit für dieses Tool demonstrieren, um sicherzustellen, dass ich kein Mikromanagement bin, aber ich würde mich nicht einer Debatte darüber hingeben, ob ein Entwickler mit oder ohne IDE effizienter debuggt oder nicht. Wenn der Entwickler wirklich ein Zauberer mit Texteditoren und der Befehlszeile wäre, würden Sie nicht sehen, dass sie langsamer arbeiten ...
Wenn die einzige Sorge seine eigene persönliche Geschwindigkeit ist, dann stimme ich dem breiten Konsens zu: Schaff das. Lassen Sie ihn wissen, dass er möglicherweise Optionen zur Steigerung der Produktivität durch den Einsatz moderner Tools hat, aber ansonsten ist das seine Sache.
Wenn die Arbeitsweise Ihres Teams jedoch einige dieser Tools erfordert – ob Sie mit Projekten arbeiten, die zumindest das Öffnen von Visual Studio erfordern, um Prozessabläufe einzurichten, oder ob Sie das Team auf einem Code-Analysator ohne CLI standardisiert haben – dann ist die Verwendung dieses Tools eine Jobanforderung, und Sie sollten das klarstellen. Er arbeitet im Team und sollte die Produktivität des Teams generell nicht durch seinen persönlichen Arbeitsstil beeinträchtigen.
Alles, was sich in der Blackbox des Programmierers befindet, liegt in seiner Hand, solange er die Erwartungen an Produktivität und Qualität erfüllt oder übertrifft. Alles, was nach außen zum Team durchdringt und Auswirkungen auf andere oder das Team als Ganzes hat, folgt er Ihren Anforderungen oder er wird losgelassen. Das ist eine vernünftige Erwartung und eine vernünftige Aufteilung der Verantwortlichkeiten für einen Fachmann.
Wenn Sie entscheiden, wie einiges davon eine Voraussetzung für das ordnungsgemäße Funktionieren des Teams ist: Machen Sie einfach in einem Teammeeting deutlich, dass die Verwendung des Tools eine Voraussetzung (für alle) ist. Wenn er es weiterhin nicht verwendet und sich nicht ändert, nachdem er direkt darum gebeten wurde, eskalieren Sie bei Bedarf mit dem Management. Persönlich würde ich mich bemühen, ihm das zu "verkaufen", aber nicht zu viel, wenn es eine Voraussetzung ist - besonders wenn der Rest des Teams bereits davon überzeugt ist.
Ich habe kürzlich versucht, die Xcode-IDE mit einem sehr großen Projekt zu verwenden, an dem wir gerade arbeiten, auf einem 4 Jahre alten Mac: totale Katastrophe! Um die aktuellen hochmodernen IDEs auszuführen, benötigen Sie auch eine hochmoderne Maschine, ansonsten sehen Sie nur zu, wie die IDE ihre schicken Fenster oder noch schlimmere Ladeindikatoren zeichnet, anstatt zu codieren. Und hier kommt normalerweise das CLI zum Einsatz, da es immer mit sehr hoher Geschwindigkeit arbeitet, unabhängig von der Leistung Ihrer Maschine.
Vielleicht kannst du ihn also bestechen? Besorgen Sie ihm die schnellste Maschine, die Sie finden können, und er kann damit lernen, mit der IDE zu arbeiten. Wenn er sofort wieder auf die CLI umschaltet, geben Sie ihm die alte Maschine und die neue jemandem, der damit umgehen kann. Nicht als Strafe, sondern um die Ressource effektiv zu nutzen. Wenn er es wirklich lange versucht, lass ihn es vielleicht behalten. Kommt ganz auf dein Budget an.
Wie andere bereits erwähnt haben, muss er sehen, wie die IDE funktioniert, lassen Sie sich einfach von einigen Entwicklern anrufen und helfen, ein Problem zu debuggen. Sie werden die IDE automatisch wie beabsichtigt verwenden und all die coolen Sachen machen, und er wird in der ersten Reihe sein und es einfach beobachten und aufnehmen, weil er wahrscheinlich zu beschäftigt ist, nach dem Fehler zu suchen. Sie erleben viele Oh-ich-wusste-nicht-dass-Sie-das-können-Momente, wenn Sie jemand anderem beim Programmieren in einem anderen Editor zusehen. Oft sogar in derselben, also lassen Sie die Entwickler ihre bevorzugten IDE-Features in schnellen Präsentationen teilen.
Die Tools, die sie verwenden, sind nicht der limitierende Faktor.
Er ist ausdrücklich klar: Sie wollen nichts anderes tun als programmieren, am liebsten dort, wo sie keinen Kontakt zu anderen Menschen haben, und am liebsten zu Hause. Absolut keine Meetings, keine Diskussionen, er will die anfallenden Aufgaben selbst erledigen und erledigen. Der Versuch, Agile einzuführen, wird eine Herausforderung sein. Er hat nicht viele andere Aufgaben, 95 % seiner Arbeit ist Code.
Sie engagieren sich nicht mit anderen Mitgliedern des Teams. Keine Rückmeldung bekommen. Keine Codeüberprüfungen durchführen (was eine der besten Möglichkeiten ist, die Produktivität, Codequalität und Fähigkeiten von Entwicklern zu verbessern).
Erlauben Sie ihnen weiterhin, aus der Ferne zu arbeiten, aber nicht 100 % der Zeit (unser Büro übernimmt 10 %).
Führen Sie obligatorische persönliche Code-Reviews mit dem gesamten Team durch. Lassen Sie sie die Werkzeuge und Techniken der anderen Mitglieder sehen. Code, der nicht von einem anderen Teammitglied überprüft und abgezeichnet wurde, wird nicht an Master übergeben. Vielleicht wechselt ihr alle zu Vim, ich weiß es nicht, aber es wird euch allen besser gehen.
Dies ist eine Managementfrage. Der Punkt ist, dass der Entwickler nicht schnell genug für die Projektanforderungen arbeitet. Seine/ihre langsame Leistung muss vom Manager gemeldet werden und dann muss er/sie sie korrigieren. Wenn er/sie Fragen an den Rest des Teams hat, ist das eine andere Geschichte, aber das grundlegende Problem hier ist, dass der Entwickler für die Arbeit, die er/sie erledigt, nicht schnell genug arbeitet. Das Management muss die Situation mit dem Entwickler und vielleicht einem PIP bearbeiten, um die Dinge wieder in Gang zu bringen.
Bearbeiten Sie basierend auf Kommentaren: Ich hatte eine ähnliche Situation. Ich empfehle Team-"Trainings"-Aktivitäten zu Werkzeugen und anderen Dingen, die den Rest der Entwickler "erfolgreich" machen. Wenn Sie die Person nicht erschrecken möchten, müssen Sie das Team als Ganzes darin schulen, bestimmte Praktiken und Werkzeuge zu befolgen, um den Ansatz des Teams besser zu vereinheitlichen. Dies wird wahrscheinlich für das gesamte Team um einer Person willen umständlich sein, aber wenn Sie sie nicht speziell nennen möchten, müssen Sie es für alle allgemein machen. Sie können die erforderlichen Werkzeuge diktieren, sobald Sie den besten Weg gefunden haben, aber auch dies spricht das gesamte Team mit erzwungenem Verhalten an und nicht nur den Einzelnen. Sie können sich mit ihnen unterhalten, ohne einen PIP zu haben, aber ich sehe keinen Weg, ihnen zu sagen, dass sie nicht so schnell sind wie die anderen Entwickler. was dann in den gleichen Sound gerät, den Sie von vornherein vermeiden wollten. Ja, Tools können helfen, die Dinge zu beschleunigen, aber der Punkt ist, dass der Entwickler die Art und Weise mag, wie er/sie Dinge tut, was bedeutet, dass er die Tools nicht verwendet, was dann zu einem persönlichen Problem zurückkehrt. Vielleicht hilft ihnen die Schulung, neuere Tools zu verwenden?
Wenn es ein nützliches Werkzeug gibt, das er nicht verwendet, weisen Sie ihn darauf hin.
Ich bin sicherlich gegenüber Texteditoren voreingenommen und habe versucht, Scala in vim zu schreiben, aber ich wurde schnell auf IntelliJ hingewiesen, und obwohl es eine andere Denkweise und eine gewisse Lernkurve hat; Ich bin viel produktiver damit.
Weisen Sie ihn daher auf die besten Tools hin, die er Ihrer Meinung nach vermisst. Zwingen Sie ihn nicht, es zu benutzen, schlagen Sie ihm einfach vor, es zu versuchen. Wenn er sich weigert, es auch nur zu versuchen, ist das für mich ein Warnsignal, es sieht nach einer schwierigen Person aus, mit der man arbeiten kann. Wenn er es versucht, aber nicht produktiver damit ist, dann versteht man zumindest, warum er so "old skool" ist, manche Leute werden durch einfach zu bedienende Schnittstellen verwirrt, ich bin ein bisschen so. Vielleicht können Sie ihn für Aufgaben einsetzen, bei denen es eine Benutzeroberfläche gibt, mit der er arbeiten kann?
Eine Person, die schnell ein Skript für jede Aufgabe schreiben und schneller tippen kann, als Sie sprechen, kann mit der Befehlszeile viel produktiver sein als mit einer schrulligen IDE, unabhängig davon, wie professionell Ihre Vertriebsabteilung in Ihr Team gedrängt wird. Gehen Sie nicht davon aus, dass dies in irgendeiner Weise mit der Leistung zusammenhängt.
Außerdem bin ich nicht einverstanden mit dem allgemeinen Ansatz, dass jemand anderes über die Tools entscheidet, es sei denn, sie empfehlen ein neues Tool, von dem ich nichts weiß. Die Person, die das Tool täglich nutzt, ist kompetenter als irgendein „Entscheider“ weiter oben in der Hierarchie, der es nur schnell evaluiert oder vielleicht sogar einfach die gut aufbereitete Demo ohne Ecken und Kanten angeschaut hat.
Monika Cellio
Hakenz
Lilienthal
Michael Köhne
Jaspis
Brandin
CKM
Brandin
Benutzer1450877
Chloe
dKen
marxin
Blau Grün
RBarryYoung
Jim Balter
nein
Jo