Der Chef akzeptiert, ignoriert dann aber die von den Mitarbeitern vorgeschlagene Unternehmensrichtlinie

Ich arbeite in einer kleinen Softwarefirma. Wir sind ziemlich klein mit nur 3-4 Vollzeit-Entwicklern. Ich habe dort vor ca. 8 Jahren als studentische Hilfskraft angefangen und nach meinem Masterabschluss in Informatik Vollzeit gearbeitet.

Meine Kollegen und ich haben mehr als einmal verschiedene Richtlinien vorgeschlagen, wie wir denken, dass wir den Entwicklungsprozess verbessern könnten (z. B. Codestil, Codeüberprüfungen usw.). Wir haben diese Vorschläge im Team diskutiert und uns geeinigt. Auch unser Chef, der ab und zu auch Entwicklungsarbeit leistet, hatte sich darauf geeinigt und es als offizielle Firmenrichtlinie eingeführt. Allerdings ignoriert er diese Richtlinien dann oft. ZB wird Code ohne Codeüberprüfung übergeben, der mehr als einmal einen Build-Break verursacht hat. Darauf angesprochen sagt er entweder, es sei keine große Sache und nimmt die Beschwerde nicht ernst oder er ist beleidigt (wir haben eine recht familiäre Atmosphäre in der Firma).

Das stört mich sehr, weil ich finde, dass Softwareentwicklung nicht so funktionieren sollte und finde es auch respektlos. Schließlich ist er aber der Boss. Außerdem sieht es so aus, als ob ich der Einzige bin, der das wirklich nervig findet. Ab und zu beschweren sich auch meine Kollegen über ihn, aber sie sprechen selten mit ihm darüber. Für ihn könnte es also so aussehen, als ob ich der Einzige bin, der sich beschwert. Ich denke auch, dass es nicht möglich ist, meine Kollegen davon zu überzeugen, mit ihm darüber zu sprechen, da es für sie keine so große Sache zu sein scheint.

Was könnte ich dagegen tun? Ist es mein Chef, der sich falsch verhält oder bin ich zu wählerisch?

Du bist nicht zu wählerisch. Ich habe solche Dinge immer wieder in kleinen Softwareläden gesehen. Wenn Ihr Chef, der auch Softwareentwickler ist, nicht mit an Bord ist, um den Entwicklungsprozess zu stärken, wird es wirklich nie passieren. Du kannst noch einmal versuchen, mit ihm zu sprechen, und wieder wird er entweder akzeptieren, was du zu sagen hast, oder sich aufregen. Wie auch immer, selbst wenn er akzeptiert, was du zu sagen hast, wird er wahrscheinlich weiterhin dasselbe tun. Also würde ich vorschlagen, dass Sie sich woanders nach einer neuen Stelle umsehen. Jetzt haben Sie tatsächlich eine Vorstellung davon, worauf Sie achten müssen, wenn Sie sich für eine Stelle bei einem anderen Unternehmen bewerben.
1 Wort für dich: Gated Checkins.

Antworten (3)

Versuchen Sie, das Problem anders zu betrachten.

1: Dir fehlt an manchen Stellen Code-Review. 2: Sie wissen, dass jemand Ihre Builds beschädigt, indem er die Codequalität ignoriert.

In meinem Team haben wir automatische Builds eingerichtet und viel mehr getestet. Dies gibt uns das visuelle grüne Feedback „Alle Tests bestanden“ und rot, wenn jemand etwas vermasselt hat. Dies löst 1. in den meisten Fällen, weil jeder die nicht bestandenen Tests lösen möchte.

Für 2. können Sie damit beginnen, Commits automatisch abzulehnen, die einen Build beschädigen. Wenn dies ein Problem für den Chef ist, haben Sie Argumente für gespartes Geld bei der Entwicklungsgeschwindigkeit und stabilere Dienste für Ihre Benutzer.

Wenn Sie diese Schritte umgesetzt haben und immer noch scheitern, gibt es viele andere Jobs für Sie da draußen. Verbringen Sie Ihre Energie nicht dort, wo Ihre Stimme keine Rolle spielt.

Ihre Minderung für 2. oder ähnliche Techniken wurden bereits vorgeschlagen. Mein Chef und auch meine Kollegen mögen keine Tool-Unterstützung, die sie dazu zwingt, bestimmte Dinge zu tun/nicht zu tun. Sie argumentieren zB, dass man manchmal kaputten Code pushen muss , um Dinge schnell zu erledigen.
Die Notwendigkeit, fehlerhaften Code in die Produktion zu pushen, hängt stark davon ab, wie kritisch Ihr System ist. Das System, an dem ich derzeit arbeite, verarbeitet 4 Suchanfragen pro Sekunde, und wenn das zusammenbricht, verliert das Geschäft eine beträchtliche Menge an Einnahmen. Abgesehen davon denke ich, dass es an sich wirklich schlecht ist, absichtlich kaputten Code in die Produktion zu schieben. Das reine Konzept von defekt sollte jeden Zweifel beseitigen, dass dieser Code in Produktion gehen muss. Ich denke, dies deutet auf größere zugrunde liegende Probleme an Ihrem Arbeitsplatz hin.
Wir bieten keine Continuous Delivery an. Allerdings verstehe ich deinen Punkt. Und ich stimme zu.

Du bist nicht zu wählerisch, du hast Recht, aber er ist der Boss. Ihr Entwickler tragt die Hauptlast der Arbeit, aber unterm Strich ist es seine Sache, wenn es Probleme gibt. Sie tun also, was Sie können, um dagegen vorzugehen, Sie wiederholen die Wichtigkeit. Und wenn er es missachtet, reparierst du es. Das ist dein Job.

Die Aufgabe des Chefs besteht darin, sicherzustellen, dass Sie an jedem Zahltag bezahlt werden.

Ein zusätzliches Problem ist, dass ich der Projektmanager des aktuellen Projekts bin, in dem er arbeitet. Wenn das Projekt nicht rechtzeitig geliefert wird, bekomme ich keine Bonuszahlung, die sonst mein Jahresgehalt um ~12% erhöhen würde.
Dann sollten Sie besonders wachsam sein, das ist ein GROSSER Bonus. Haben Sie Backups und alles andere, alles, was kaputt geht, beheben Sie es sofort. Bereinigen Sie seinen Code, wann immer es nötig ist, oder beauftragen Sie jemand anderen damit. Normale Dinge, um sicherzustellen, dass ein Projekt die Fristen zufriedenstellend einhält.

Wenden Sie sich mit dem Problem an den Chef und erklären Sie, dass Sie versuchen, es zu beheben, und weitere Informationen benötigen. Stellen Sie viele Fragen, damit Sie seine Motivation für das Schreiben des Codes verstehen, auch wenn Sie wissen, wie man ihn behebt. Vielleicht erfahren Sie ein oder zwei Dinge darüber, warum er das so gemacht hat. Und dann den Fehler beheben. Und dokumentieren Sie es dann in Ihrem Wochenbericht.

Wenn sich der Chef wirklich um die Teamleistung kümmert, wird er erkennen, dass seine Prozessverletzungen dazu führen, dass Sie zusätzliche Zeit damit verbringen, seine Fehler zu beheben, anstatt Ihre eigene Arbeit zu erledigen, und dass er seine Zeit damit verschwendet, Ihnen seinen Code so zu erklären dass Sie seinen Fehler beheben können. An diesem Punkt wird er wahrscheinlich entweder weniger programmieren oder dem Prozess besser folgen.

Wenn er sich nicht um die Teamleistung kümmert, dann machen Sie zumindest einige Fortschritte, indem Sie seine Sachen reparieren, anstatt wegen kaputter Builds keine Fortschritte zu machen.