TL;DR: Der Mitbegründer des Unternehmens möchte „richtige Arbeit“ leisten, schadet aber mehr als er nützt.
Das Unternehmen ist ein Softwarehaus mit Sitz in Großbritannien, beschäftigt rund 20 Mitarbeiter, macht stabile Gewinne, zahlt gut und bietet hervorragende Arbeitsbedingungen (freundliche Atmosphäre, Sozialleistungen usw.).
Sie haben mich vor 3 Monaten eingestellt, um ein neues, ehrgeiziges und langfristiges Projekt zu starten. Derzeit sind insgesamt 3 Personen an dem Projekt beteiligt: ein weiterer Spezialist und ein Senior Manager (Mitbegründer des Unternehmens). Es gibt keine Managerrollen – wir alle machen die „richtige Arbeit“ und wir sind alle gleich (z. B. Entscheidungen werden durch Abstimmung getroffen).
Das Problem ist, dass der Mitbegründer kein erfahrener Programmierer ist. Vielleicht war er das einmal, aber wahrscheinlich hat er im Laufe der Jahre, in denen er nicht als Softwareentwickler gearbeitet hat, an Zugkraft verloren. Er diskutiert gerne Dinge von geringer Bedeutung (z. B. Programmierstil), aber wenn es ums Programmieren geht, macht er schreckliche Fehler. Ich bin es leid, jedes Stück seiner Arbeit doppelt zu überprüfen.
Ich kann mich über ihn als Person nicht beschweren (z. B. zeigt er keine Anzeichen von Unhöflichkeit, Eifersucht usw.), es fehlt ihm einfach an Fähigkeiten. Deshalb behebe ich seine Fehler normalerweise heimlich während Merges, aber ich vermute, dass dies auf Dauer keine richtige Lösung ist.
Da ich offensichtlich NICHT in der Lage bin, ihn zu beraten, wie soll ich vorgehen? Soll ich mit ihm reden? Oder besser loslassen und auf die Katastrophe warten? Wenn das wichtig ist, sprechen wir über einen eng spezialisierten Bereich der Softwareentwicklung und der betreffende Typ ist etwa 10 Jahre älter als ich. Er ist auch ein CS-Absolvent.
EDIT: Beantwortung der Fragen in Kommentaren: Wir arbeiten in einer Nische, ziemlich schwierige Technologie. Erwähnte Fehler sind einfache Fehler, wie die Verwendung nicht initialisierter Variablen.
Das Gute ist, dass Dinge von geringer Bedeutung normalerweise automatisiert werden können, insbesondere der Codierungsstil. Sehen Sie, wie viel davon von Ihrem Build-System verarbeitet werden kann. Die Einführung eines Codequalitätsmonitors (z. B. Sonarqube oder ähnliches) wird sich auf der ganzen Linie auszahlen , insbesondere in einem jungen Projekt wie Ihrem.
Zeigen Sie, dass der Code gebrochen ist. Indem du das Zeug im Geheimen reparierst
Sie sind nicht in der Position, ihm Ratschläge zu erteilen, aber Sie können auf das Problem hinweisen und das Gespräch dorthin lenken, wo Sie es möchten.
Für kleine Dinge wie nicht initialisierte Variablen ist ein Codequalitätsmonitor oder ein statischer Analysator äußerst hilfreich. Einmal eingerichtet, müssen Sie sich nur noch auf das Niveau der Codequalität einigen, das Sie für das Projekt wünschen.
Bei größeren Problemen würde ich für jeden Fehler, den ich finde , einen Komponententest oder ein Ticket erstellen. Sobald ich einen Haufen davon habe, würde ich auf den wachsenden Haufen hinweisen und fragen, wie wir planen, damit umzugehen. Jetzt ist ein guter Zeitpunkt, um Scrum vorzustellen, wenn Sie ein Fan sind.
Abhängig von der Beziehungsdynamik können Sie die meisten Reparaturen immer noch selbst vornehmen, aber er wird sich des Problems bewusst sein und Sie können den Zeitaufwand abschätzen, wenn Sie dies jemals tun müssen.
Schließlich, um ehrlich zu sein, klingt er wie ein Typ, der Kritik vertragen kann, also würde ich das auch untersuchen. Integrieren Sie Pull-Requests und Peer-Review in Ihren Workflow und sehen Sie, wie es läuft.
Nicht jeder denkt, dass er Codequalitätsmonitore braucht. Wenn Sie es nicht direkt verkaufen können, müssen Sie möglicherweise einige Überstunden machen, um es einzurichten, und dann darauf hinweisen, was für eine große Hilfe es war, und vorschlagen, es zu übernehmen. Auch hier wird Ihre Laufleistung je nach Ihrem Chef variieren; Meiner Erfahrung nach ist Demonstrieren immer besser als Verkaufen (aber ich bin ein schlechter Verkäufer).
Rotes Schild
Erik
AakashM
Neuromagier
Sonneneruption