Ich habe kürzlich bei einer neuen Firma mit einer Handvoll Programmierern angefangen. Es ist ein mittelständisches Unternehmen mit rund 70 Mitarbeitern, aber die IT hat nur 9 bis 10 Mitarbeiter, und neben mir stehen drei "Programmierer". Diese Jungs haben jedoch nur sehr begrenzte Erfahrung und machen eine Menge Sachen wirklich schrecklich. Eines unserer Projekte ist beispielsweise eine PHP-Website. Der Großteil des Codes wird in einem PHP-Controller mit 20.000 Zeilen gespeichert, wobei ~ 6000 Zeilen JavaScript in PHP eingebettet sind.
Ich mache hier und da immer wieder kleine Vorschläge, aber niemand hat zugehört. Alle sagen, dass sie zu beschäftigt sind, um meine Vorschläge umzusetzen. Die Sache ist, sie sollten nicht so beschäftigt sein und wären es auch nicht, wenn die Dinge richtig gemacht würden. Sie verbringen die meiste Zeit damit, Dinge zu reparieren, die immer wieder kaputt gehen. Wenn jedes Projekt richtig erstellt wurde, könnte ich alles selbst machen.
Wie sollte ich vorgehen, um diese Leute oder den Manager davon zu überzeugen, dass sich die Dinge ändern müssen und dass das Ändern von Dingen eine Menge Zeit spart? Sollte ich den Versuch überspringen, meine Mitarbeiter zu überzeugen, und mich direkt an den Manager wenden, mit einem geschäftlichen Vorschlag, wie das Unternehmen eine Menge Geld sparen kann, wenn sie anfangen, die Dinge richtig zu machen?
quelle
Antworten:
Ich habe festgestellt, dass die Hauptursache für schlampige Arbeit außerhalb des Programmierers, der sich einfach nicht darum kümmert, ein Mangel an Wissen ist. Leider wird in vielen Umgebungen auf mangelndes Wissen eher herabgesehen als offen diskutiert.
Einige Techniken, die ich mit Erfolg eingesetzt habe, um Diskussion, Wachstum und allgemeine Begeisterung für das Programmieren zu fördern, sind:
Lernen ist ansteckend. Wenn Sie eine Umgebung fördern, die zum Lernen anregt, produzieren Sie nicht nur bessere Entwickler, sondern zeigen anderen in Ihrem Team, dass sie Teil von etwas sind, das größer ist als eine Möglichkeit, einen Gehaltsscheck zu erhalten.
quelle
Nachdem ich gesehen habe, dass Sie als Sr. PHP-Entwickler eingestellt wurden und Ihre Aufgabe darin besteht, Dinge zu reparieren, schlage ich vor, dass es Zeit ist, Muskeln aufzubauen.
Wenn ich an Ihrer Stelle wäre, würde ich eine gute Übersicht über den Code erstellen und Fehler feststellen, die immer wieder auftreten. Blockieren Sie jede Woche die Besprechungszeit, um diese Dinge mit dem Team zu besprechen. Zeigen Sie nicht mit den Fingern oder Namen, sondern zeigen Sie nur, wie Sie diese Aufgabe richtig ausführen.
Erstellen Sie als Nächstes eine Liste, da Sie bereits festgestellt haben, dass Korrekturen erforderlich sind. Wenn es schnell und einfach geht, mach es. Wenn es Ihnen das Leben leichter macht, es zu tun ... tun Sie es. Machen Sie eine Liste aller Dinge, die getan werden müssen, und machen Sie Tickets für sie und sehen Sie, wann die Leute Zyklen haben, um sie zu tun. Wenn jemand einen Fehler in einem Problembereich behebt, führen Sie ihn durch die richtige Behebung.
Wenn eine große Änderung erforderlich ist, setzen Sie sich mit dem Team und den Stakeholdern zusammen und besprechen Sie die Optionen.
Haben Sie eine Politik der offenen Tür, in der Sie Menschen helfen. Sei jemand, der erzieht und nicht einschüchtert. Nein, "du musst es so machen" und mehr "es wäre besser, wenn es so gemacht würde". Erklären Sie die Vorteile, wie Sie es vorschlagen, und die Nachteile, wie es gemacht wurde. Die Leute werden eher bereit sein, es richtig zu machen, wenn sie das Gefühl haben, etwas gelernt zu haben, anstatt zu erfahren, dass ihr Weg falsch ist, und es anders zu machen, b / c, wie Sie es sagen.
quelle
Problemperspektive des Managements Wenn sie den Zeitpunkt der Entwicklung in Bezug auf die Anzahl der Mängel akzeptiert haben, warum sollten sie dies riskieren? Wenn langfristige Vorteile kurzfristigen Zielen widersprechen, verlieren sie normalerweise. Sie bitten sie, einen kurzen Schritt zurückzutreten. Sie können denken, dass dies eine lange Verzögerung verursachen wird. Sie müssen sie davon überzeugen, dass dies nicht mit den zusätzlichen Vorteilen einhergeht. Wenn sie nicht glauben, dass sie ein Durcheinander haben, bitten Sie sie zu erklären, warum es so lange dauert, mit jedem "Fix" schnell neue Fehler einzuführen.
Die Codequalität hängt von vielen Umständen und Situationen ab. Vertrieb, Marketing und Manager lassen Sie glauben, dass jede versäumte Frist bedeutet, dass das Unternehmen diesen einen Schuss auf den Mega-Millionen-Risikokapitalinvestor verpassen wird. Die Realität ist, dass sie die schlechten Nachrichten nicht an 1% Ihrer Kunden weitergeben möchten, die die Funktion sowieso nicht wirklich brauchten. Ich bin extrem und normalerweise liegt es irgendwo dazwischen, daher müssen Entwickler lernen, was ein tatsächlicher Notfall ist. Dann ist es einfacher, sie davon zu überzeugen, sich die Zeit zu nehmen, es richtig zu machen, als Zeit zu brauchen, um es noch einmal zu machen. Sie müssen die Risiken verstehen.
Wie ein großartiger Roman ist Code beim ersten Mal nicht gut geschrieben, wird aber leider immer noch zu oft veröffentlicht. Beginnen Sie mit etwas Grundlegendem wie der Festlegung eines Codierungsstandards. Jeder hat einen, aber viele mögen es in Ihrer Situation, sie wurden weder formalisiert noch sind sie sehr streng. "Mach was du willst." ist ein Standard, der sehr einfach zu pflegen ist. Der nächste Schritt besteht darin, festzulegen, wie Sie Ihre Standards beibehalten möchten.
Sie haben eine große Aufgabe vor sich. Vielleicht haben einige großartige Programmierer ihre Fähigkeiten und Gewohnheiten so weit entwickelt, dass sie niemals Kompromisse bei der Qualität ihres Codes eingehen oder technische Schulden machen müssen, aber warten Sie ab, was passiert, wenn dieser Angel-Investor verspricht, dass jeder reich wird.
quelle
Setzen Sie sich und schreiben Sie den Prototyp (oder ein Modul, wenn das gesamte Projekt zu groß ist), der nach Belieben wirklich gutes Design verwendet. Dann präsentiere / diskutiere es mit dem Team. Es kann einfacher sein, mit gutem Beispiel zu überzeugen.
In diesem Prozess stellen Sie möglicherweise auch fest, dass einige Tools, Bibliotheken, Ansätze oder dergleichen nicht so gut sind. Bewerten Sie immer zuerst und bitten Sie Ihr Team, dies später zu verwenden. Hüten Sie sich vor billigem Marketing für minderwertige Tools.
quelle