Diese Frage wurde von diesem inspiriert . Obwohl diese andere Frage als lokalisiert angesehen wurde, glaube ich, dass das zugrunde liegende Problem in unserer Branche äußerst verbreitet ist. Ich weiß, dass es einige Entwickler gibt, die dies lesen und denken, ich erfinde das Zeug, und dann antworten sie vielleicht, wie sehr sich jeder um ihre Arbeit kümmert und lernen möchte, aber sie schauen sich nur andere Programmierer-SE-Beiträge an (ein typischer Fall ). Ich weiß, dass das nicht allgemeingültig ist.
Nehmen wir also an, Sie haben jemanden in Ihrem Team (oder vielleicht die Mehrheit), dessen Standardverfahren das Kopieren / Einfügen ist und der glaubt, dass alles gelöst werden kann, wenn Sie nur genügend Funktionsaufrufe und Variablen hinzufügen. Diese Person hat noch nie von TDD, DRY oder SOLID gehört und außerhalb von 40 Stunden bei der Arbeit, wenn sie beschäftigt ist, hat sie noch nie ein einziges Methoden- / Praxis- / Designbuch gelesen.
In der Vergangenheit habe ich (und andere) gefragt, wie Sie OOD unterrichten sollen . Aber jetzt denke ich, dass das nicht die richtige Frage ist. Die eigentliche Frage ist, wie Sie sich einer solchen Person / einem solchen Team nähern und sie neugierig machen, wie sie die Dinge besser angehen können. Wie inspirierst du sie zum Lernen? Ohne das scheint es, als wären alle Unterweisungen, Besprechungen, Vorträge und Diskussionen nutzlos, wenn sie vollkommen glücklich sind, an ihren Schreibtisch zurückzukehren und das zu tun, was sie immer getan haben.
Ich arbeite mit so vielen Leuten. Eigentlich sind sie ziemlich kluge Individuen, aber ich hasse es, wenn ich höre: "Ich bin mit dem Programmieren fertig, muss nur umgestalten und in mehrere Klassen aufteilen, um DXM glücklich zu machen." Sie werden nicht für saubereren, lesbaren und wartbaren Code umgestaltet, sondern nur, weil sie sonst gescholten werden. Ich weiß, dass sie lernfähig sind, es scheint nur, dass es an allgemeiner Motivation mangelt.
Wenn ich Arbeit liefere, hat es im Allgemeinen viel weniger Bugs und die Arbeit, die ich besaß, wurde nie zur Monstrosität einer Klasse mit 5000 Zeilen. Andere machen Kommentare wie "Ihr Code ist viel sauberer und lesbarer als unser Zeug", so dass sie den Unterschied sehen. Aber zur gleichen Zeit habe ich das Gefühl, dass sie glauben, für 40 Stunden bezahlt zu werden, unabhängig davon, was sie tun. Es macht ihnen also nichts aus, wenn sie 3 volle Tage in der Qualitätssicherung verbringen, um nach einem Fehler zu suchen, der nicht hätte eingeschleppt werden dürfen den ersten Platz. Oder dass sie eine Woche brauchen, um eine Klasse zu modifizieren, weil es so viele Abhängigkeiten gibt, die sie am Ende berühren. Die Frage "Vielleicht hätte diese Klasse anders geschrieben werden sollen" scheint jedoch nie zu laut zu werden.
Kann in diesen Situationen etwas unternommen werden? Hat es jemand geschafft? Oder ist es am besten, eine solche Einstellung auf nicht kritische Teile des Projekts zu beschränken und den Schaden zu minimieren?
HINWEIS: Wenn ich "mangelnde Motivation" sage. Ich glaube nicht, dass es an Motivation mangelt, zu arbeiten oder einen guten Job zu machen, weil sie einfach aufgehört haben, sich darum zu kümmern. Der Großteil unseres Teams ist genau das Gegenteil. Sie interessieren sich definitiv für das Produkt. Wir haben Leute, die Nächte und Wochenenden arbeiten werden. Der Teil, den ich versuchen durchzuhalten, ist mit verbesserten Gewohnheiten und Fähigkeiten, sie müssten tatsächlich nicht so viel arbeiten. Ich denke, dass "40 Stunden" dazu geführt haben, dass dieser Beitrag etwas zu negativ klang.