Die Beschreibung der Situation durch den OP ist wahrscheinlich einseitig. Das ist in Ordnung.
Ich bin ein alternder Entwickler (~54 yo), der in ein Unternehmen gebracht wurde, um nicht zu regieren, sondern um Erfahrung zu sammeln. (Der IT-Chef sagte tatsächlich “graue Haare”, lol.) Das Entwicklerteam war unterm Strich weit geschickter als jedes Team, mit dem ich zuvor gearbeitet hatte. Sie haben mir viel beigebracht, besonders über Bescheidenheit! Aber wir fanden Orte, an denen ihre technologische Zauberei die Probleme nicht löste, und in einigen Fällen versteckten sie diese Probleme und verschlimmerten sie letztendlich. Hier konnte ich wirklich etwas beitragen.
Ihre Führung klingt stark autokratisch. Es klingt, als hätte er ein Mandat vom Eigentümer erhalten. Der Eigentümer ist mit dem Entwicklungspersonal unzufrieden und hat diesen “hartgesottenen Draufgänger” hinzugezogen, um die Liefergeschwindigkeit zu verbessern.
Sehen Sie sich zunächst Ihre Mitarbeiter an. Haben Sie Schwächlinge - Entwickler, die nicht “die Matrix sehen”? Wenn ja, finden Sie für sie neue Positionen innerhalb des Unternehmens oder geben Sie ihnen eine gute Referenz für einen Arbeitgeber, der ihre einzigartigen Fähigkeiten benötigt.
Er hasst IDEs
Ich kenne einige, die das tun. Es bringt mich dazu, mit den Augen zu rollen, aber letztlich ist mir das egal. Wenn Menschen mit vi
produzieren, dann ok. Ich liebe meine IDEs.
Er nimmt kein Refactoring des Codes vor und kümmert sich nicht um den Stil (der in seinem eigenen Code inkonsistent ist)
Rote Flagge im ersten Teil. Ist er ein Copy-Paster? Ich bin auch schuldig, dass ich mich nicht um den Stil kümmere, aber das liegt daran, dass ich meine IDE benutze, um meinen Python-Code sofort PEP8-konform zu machen. Aber er benutzt keine IDE…
Als Randbemerkung: Der Stil wurde zuvor durch einen nächtlichen Build überprüft, der seit der Ankunft des neuen Lead zu scheitern begann.
Er lehnt die Idee eines nächtlichen Builds ab, ebenso wie automatisierte Tests. Seiner Meinung nach “testet jeder professionelle Entwickler seinen Code ohnehin von Hand, so dass es keinen Grund gibt, Zeit mit dem Schreiben automatisierter Tests zu verschwenden”. Auch der nächtliche Build ist seiner Meinung nach Zeitverschwendung.
Dies löst ebenfalls eine rote Flagge aus, aber aus anderen Gründen, als man erwarten würde. Wie oft wurde dem Besitzer vor der Einstellung dieses Mannes gesagt, dass er X nicht machen könne (eine Demo geben, das System benutzen usw.), weil der nächtliche Build fehlgeschlagen sei? Was ist, wenn der Eigentümer feststellt, dass der nächtliche Build das Problem ist? Was würde er dem Lead Ihrer Meinung nach sagen?
Aber ich habe Bedenken bezüglich der Haltung des Lead; automatisierte Tests sind erstaunlich. Wie zuvor versteht der Chef vielleicht nicht den Wert der Tests, aber er weiß sicher, dass Y% der Gehaltsschecks der Entwickler dafür bezahlt werden. Als ich in meiner jetzigen Firma ankam, hatte die “100% Testabdeckungs-Mafia” das Entwicklungspersonal übernommen und die Kosten in die Höhe getrieben. Einen faulen Apfel später schnurrte das Entwicklungsteam wieder…
Er denkt, dass Versionskontrolle meistens nutzlos ist…
Dies ist eine rote Flagge der höchsten Klasse. Er liegt so falsch wie möglich. Er geht unverantwortlich mit dem Geld des Eigentümers um.
Er übertreibt die Bedeutung der Code-Optimierung.
Früher konnte eine Code-Optimierung einen Unterschied machen. Heute sind Maschinen so schnell, dass sie weniger wichtig sind. Stattdessen müssen wir uns jetzt um die Datenbankleistung und den Netzwerkdurchsatz kümmern. Aber seine Gewohnheit der “Code-Optimierung” ist schwer zu durchbrechen, glauben Sie mir. Ich muss mich dazu zwingen, nicht vorzuoptimieren. Zumindest ist sein Verhalten in diesem Fall nicht destruktiv, abgesehen von der Zeit, die er benötigt. (Haben Sie Zahlen für seine “halbe Zeit” oder ist das übertrieben? Wenn Sie Ihren Vorgesetzten kritisieren, darf keine Übertreibung erlaubt werden. Sie müssen pathologisch objektiv sein).
Er schreibt alle SQL von Hand und lehnt die Idee eines ORM ab.
Schuldig im Sinne der Anklage! Ich verstehe die Angst der Menschen vor SQL nicht. Ich verstehe nicht, wie man SQL, das so einfach ist, unter Schichten von ORM vergraben kann, die sich verschleieren. Hier kann ich Ihnen nicht helfen :-D Aber bitte, werfen Sie all Ihr SQL an einen Ort - verteilen Sie nicht alles in Ihrem Code.
und zwei der fünf Entwickler haben SQL noch nie benutzt.
Das ist inakzeptabel. Wir haben das Jahr 2016. Sie müssen sich weiterbilden.
Er lehnt Frameworks und Bibliotheken von Drittanbietern ab, da es viel einfacher ist, Sachen von Grund auf neu zu schreiben.
Er könnte nicht falscher liegen. Ich bezweifle, dass Ihr Unternehmen so besonders ist, dass Ihre Dienstprogramme intern geschrieben werden müssen. Wir hatten ein paar Entwickler, die Tools von Drittanbietern übernommen haben - bis sie etwas auf eine Weise taten, die dem Entwickler nicht gefiel. Es war eine Ausrede, das Tool wegzuwerfen und ihr eigenes zu schreiben. Das erhöht nur die Belastung für die Entwickler und bremst sie weiter aus. Dieser wenig hilfreiche Code ist teuer zu schreiben, zu testen, zu debuggen und zu warten. Wir haben so viel Geld für -null-Nutzen ausgegeben. Diese Entwickler sind jetzt weg.
Er beschloss, alle JavaScript-Bibliotheken und Frameworks außer jQuery aufzugeben, mit der Behauptung, als er vor fünfzehn Jahren mit der Programmierung in JavaScript begann, gab es keine Frameworks, und das Leben war viel einfacher.
Dieser ist nicht so eindeutig. Der Grund dafür, dass das Leben vor 15 Jahren viel einfacher war, ist, dass war die Geschäftsanfrage viel einfacher. Daher rührt das Problem. Das Web wurde als Batchsystem erfunden (ein Formular ausfüllen, abschicken, eine Antwort erhalten, wiederholen), und jetzt versuchen wir, Webanwendungen zu schreiben, die sich wie Desktop-Anwendungen verhalten. Seine Beobachtung ist richtig, die Dinge sind jetzt schwierig. Aber er begreift nicht, warum. Die Komplexität der Tools ist eine Antwort auf eine kompliziertere Geschäftsanfrage. Daher trifft er schlechte Entscheidungen.
Wir verwenden AngularJS und es scheint anständig zu sein. Wie alle leistungsstarken Tools kann es für Gut und Böse eingesetzt werden.
Er glaubt, dass mobile Geräte (einschließlich Tablets) nur ein Hype sind, so dass es keinen Grund gibt, wertvolle Zeit zu verschwenden, um die Kompatibilität der Website mit diesen Geräten sicherzustellen und ein reaktionsfähiges Design zu entwerfen. Bei dem Produkt handelt es sich um eine öffentliche Webanwendung, von der man nicht erwartet, dass sie von mobilen Geräten viel genutzt wird.
Er irrt sich wieder. Sie sind kein Hype. Sie sind hier, um zu bleiben, weil sie nützlich sind. ABER das Unternehmen braucht sie nicht. Entwickeln Sie keine Dinge, die Sie nicht brauchen. Es ist teuer.
Ein reaktionsschnelles Design könnte jedoch sehr interessant für diese App sein,…
Ist es so interessant, dass Sie persönlich für die Entwicklung bezahlen würden? Wenn das eine gute Idee ist, sollten Sie die Idee an den Eigentümer verkaufen können. Ansonsten geben Sie keinen Cent dafür aus.
Er bittet das Team, das Internet (insbesondere StackOverflow) nicht mehr zu benutzen und sich auf ihren Verstand, die Offline-Dokumentation (ich wusste nicht einmal, dass Microsoft immer noch MSDN-CDs verkauft! Das Internet ist dafür hervorragend geeignet. Wenn die Entwickler-Mitarbeiter von Stackoverflow kopieren und einfügen, ohne zu verstehen, wie der Code funktioniert, dann irren sie sich auch. Gibt es Zeit für Schulungen und persönliche Verbesserungen im Entwicklungsplan? Es ist schwer, auf roboterhaftes Kopieren und Einfügen zu verzichten, wenn man ständig unter Druck steht.
Obwohl ich nur begrenzte Informationen habe, gibt es hier viele Probleme. Es klingt so, als hätte der Besitzer den Code, für den er bezahlt, nicht so schnell bekommen, wie er erwartet. Es klingt, als hätte er eine Menge Ausreden über Dinge gehört, die ihn nichts angehen; er konzentriert sich auf das Ergebnis. Wenn ich Recht habe, haben Sie eine selbst zugefügte Wunde, und Sie haben sie mehr als einmal wieder geöffnet. Dieses Lead ist die Lösung des Eigentümers für das Problem, das die Mitarbeiter der Entwicklungsabteilung aufgeworfen haben, und angesichts seiner begrenzten Informationen ist es verständlich.
Ich wette auch, dass Sie ein nicht adipöses Geschäft betreiben und eine schlechte Anforderungsdefinition haben, die sich mit dem Wind ändert. Es gibt keine Isolierschicht zwischen dem Entwicklungspersonal und dem Besitzer. Abgesehen von diesem Lead.
Nun, was können Sie tun?
1) Trainieren Sie den Lead, dass der Einsatz von automatisierten Tests und Code-Management der richtige Weg ist. Es kann einige Zeit dauern, bis man bei ihm Glaubwürdigkeit gewinnt - der Eigentümer hat ihm wahrscheinlich gesagt, dass das Personal defekt ist. Versuchen Sie, ihn daran zu hindern, pauschale Aufträge zu erteilen, wie z.B. “den ganzen nutzlosen Test-Mist zu löschen und den SVN-Server umzuprogrammieren”. Das gibt Ihnen Zeit, Wert zu zeigen.
2) Setzen Sie das Code-Management auf persönlicher Ebene fort. Zumindest dann können Sie sich von Ihren eigenen Fehlern erholen. Sagen Sie ihm nicht, dass Sie das tun, aber lügen Sie ihn auch nicht an.
3) Fahren Sie mit den automatisierten Tests (Unit-Tests, wenn schon nichts anderes) auf persönlicher Ebene fort. Wie zuvor, erwähnen Sie es nicht, verheimlichen Sie es aber auch nicht.
4) Arbeiten Sie mit der Leitung zusammen, um festzustellen, was die tatsächlich wahrgenommenen Probleme sind. Seien Sie aufgeschlossen; ich wette, es gibt echte Probleme mit dem Personal. Arbeiten Sie mit dem Leiter, um die Probleme anzugehen, nicht die Symptome.
5) Besprechen Sie mit dem Leiter verschiedene Entwicklungsthemen, z.B. die Vorteile von Wasserfall und Agilität. Keines von beiden ist perfekt. Stellen Sie ihm Fragen wie: “Unter welchen Umständen würden sich automatisierte Tests lohnen”? Wenn er eine fragwürdige Antwort gibt, fragen Sie ihn, wie erfolgreiche Unternehmen wie Google es geschafft haben, trotz allem erfolgreich zu sein.
Sie sehen also, dass es mir sehr darum geht, den Lead zu engagieren und zu sehen, wo sein Kopf steht. Vertrauen aufbauen. Sich auf Probleme und nicht auf Symptome einigen. Das ist nicht immer einfach, vor allem, wenn man das Gefühl hat, er sei wie Godzilla und zerreißt Ihre Arbeit.
Es besteht die Möglichkeit, dass er keine Kompromisse eingehen kann. Er wird automatisierte Tests zerschlagen. Code-Management ist für unvorsichtige Menschen. My Way or the Highway.
Wenn es jedoch so weit gekommen ist, wird es Zeit für Sie, zu gehen. Die Arbeit in einer werkzeuglosen Werkstatt - und ich meine Software und Software-Engineering-Werkzeuge - trägt nicht zu Ihrem Lebenslauf bei. Sie werden anfangen zu verrotten, so wie der Leiter verrottet ist. In diesem Fall sollten Sie weitermachen.