Stellen Sie diese Fragen zu Ihrem Lead.
- Sind sie es gewohnt, alleine oder in einem sehr kleinen Team zu arbeiten?
- Haben sie meistens in diesem einen Laden codiert?
- Sind sie es gewohnt, Entscheidungen zu treffen?
- Sind sie es gewohnt, "es einfach zu erledigen"?
- Haben sie den größten Teil des Codes geschrieben?
Wenn die Antworten "Ja" lauten, male ich ein Bild von einem bestimmten Programmierertyp. Wenn es mit dem übereinstimmt, was Sie erlebt haben, hilft es vielleicht, in den Kopf zu geraten. Wenn nicht, ignorieren Sie diese Antwort .
Dies ist jemand, der vom ersten Tag an dabei war, Jahre im selben Job an derselben Codebasis gearbeitet hat, es gewohnt ist, sich zu behaupten, und nicht viel Erfahrung mit anderen Methoden hat.
Sie berücksichtigen beim Schreiben von Code keine anderen Personen, da für sie alles einen Sinn ergibt. Natürlich, sie haben es geschrieben oder sie haben Jahre damit verbracht, es zu verstehen.
Sie betrachten den Codierungsstil als eine persönliche Präferenz, nicht als ein Werkzeug zur Reduzierung von Wartung und Fehlern. Wenn sie über den Codierungsstil streiten, werden sie Schwierigkeiten haben, Ihre Argumente zu hören, weil sie sich wahrscheinlich noch nie Gedanken darüber gemacht haben, warum sie die Dinge auf ihre Weise tun. Was sie hören werden, ist "Ich möchte es auf meine Art tun" oder "Ich möchte es auf die neue, schicke, trendige Art tun".
Sie sind auf ihre Art und Weise festgelegt. Weil sie es seit so langer Zeit auf die gleiche Weise machen, sind alle Werkzeuge und Editoren und das Gehirn genau auf ihren Stil mikrokonfiguriert. Jede Abweichung von diesem Stil widerspricht dieser sorgfältig arrangierten, aber sehr spröden Arbeitsweise. Bei Änderungsversuchen wird es zu Beschwerden über den Editor, die Tools, die Art und Weise, in der sie arbeiten, oder über die Schwierigkeit des Lesens kommen. Sie lehnen Veränderungen ab, weil sie sich in den Status Quo vertieft haben, den sie nicht ändern können.
Dies ist jemand, der Software-Engineering und Software-Architektur noch nie richtig gelernt hat. Sie schlagen einfach irgendwie zusammen, was auch immer funktioniert.
Sie haben ein Menschenproblem, kein technologisches.
Sie müssen Ihre Führung neu trainieren, oder Sie müssen aufhören.
Das Management ist der letzte Ausweg . Sowohl aus den Gründen, auf die @JaredSmith hingewiesen hat, als auch, weil Sie verlieren werden. Dieser Typ hat Jahre damit verbracht, Geld für sie zu verdienen. Er schrieb ihre Firma. Er ist in zahlreichen Bränden gelöscht. Für Sie ist er ein Cowboy-Koch, der Spaghetti macht. Für sie ist er ein Held, der die Firma aufgebaut und gerettet hat.
Um wieder zu trainieren, müssen Sie ...
- Gewinnen Sie sein Vertrauen.
- Finde heraus, wie er denkt.
- Gehen Sie auf seine Ängste vor Veränderungen ein.
- Erleichtern Sie das Wechseln.
- Zeigen Sie, wie das für ihn besser ist .
Nimm seinen Stil ernst und gehe in seinen Kopf. Fragen Sie ihn danach. Warum macht er die Dinge so wie er? Was sieht er, wenn er es liest? Wie interagiert es mit seinen Werkzeugen? Wie bewegt er sich durch den Code? Wenn Sie all diese Dinge kennen, können Sie seine Einwände verstehen und ansprechen.
Finden Sie die objektive Wurzel seiner subjektiven Einwände, machen Sie sie umsetzbar. "Es ist schwer zu lesen" ist subjektiv und gibt Ihnen keine Informationen. Daran kann man nichts ändern. "Ich bin farbenblind und Syntaxhervorhebung funktioniert nicht" ist objektiv, gibt Ihnen Informationen und Sie können etwas dagegen tun. Ich würde ein Buch mit dem Titel Getting To Yes empfehlen, um mehr darüber zu erfahren.
Sobald Sie das eigentliche Problem gefunden haben, können Sie prüfen, ob Sie es beheben oder abmildern können. Dann ist das kein Problem. Sie werden wahrscheinlich immer noch emotionale Probleme mit Veränderungen haben, aber zumindest können sie nicht länger behaupten, dass es sich um ein tatsächliches Problem handelt.
Mach es ein bisschen nach dem anderen. Das ist jemand, der es seit Jahren genauso macht. Er ist es gewohnt, bestimmte Muster im Code zu sehen und sie zum Verstehen zu verwenden. Das plötzliche Ändern all dieser Muster wird verwirrend sein. So frustrierend es auch sein mag, sie mit bewährten Methoden langsam auf den neuesten Stand zu bringen, Sie müssen ihn durch die Übung führen.
Für einen Standard-Community-Stil eintreten. Dies beseitigt das Argument, dass es um persönliche Vorlieben geht, und übt den Druck auf sie aus, zu rechtfertigen, warum ihr unterschiedlicher Stil so viel besser ist. Wenn Sie eine Einstellung planen, wird die Integration von Neueinstellungen erleichtert.
Fürsprecher für automatisierten Codestil. Machen Sie das Befolgen des richtigen Stils zum Knopfdruck. Verwenden Sie ein Tool, das mit einem Standardstil beginnt, mit dem Sie es nach Ihren Wünschen konfigurieren und den Code per Knopfdruck neu formatieren können. Wenn es so einfach wie möglich ist, dem Stil zu folgen, werden viele Argumente dahingehend beseitigt, wie schwierig es sein wird, dem Stil zu folgen. Sie können programmieren, wie sie möchten, und wenn sie fertig sind, drücken sie einen Knopf und es folgt einem Stil, den andere lesen können.
Da diese Person nicht an andere denkt, müssen Sie zeigen, wie diese Änderungen für sie von Nutzen sind. Es kann so einfach sein wie "da dies der Standard ist, müssen Sie diesen Kampf nicht noch einmal mit der nächsten Person, die Sie einstellen, durchmachen". Oder es kann sein, "wenn wir Tests haben, können Sie aggressiver beim Ändern des Codes sein und sich weniger Gedanken über das Ändern von Dingen machen". Oder "Wenn es gute Dokumente gibt, müssen sich die Leute nicht ständig mit Fragen zur Funktionsweise des Codes beschäftigen". Damit dies effektiv ist, müssen Sie wissen, was sie wollen - manche Menschen mögen es, belästigt zu werden, es gibt ihnen das Gefühl, wichtig zu sein.
Es ist ein langer, langer Weg. Sie müssen sich entscheiden, ob Sie die Geduld haben, Ihren Chef zu managen und neu zu schulen. Betrachten Sie sich eher als ihren Lehrer als als ihren frustrierten Untergebenen, und Sie fühlen sich vielleicht besser dabei.