Ich war vor ungefähr drei Monaten mit einem Projekt befasst, das bis dahin von einem einzelnen, neu eingestellten Entwickler entwickelt wurde, weil es ins Hintertreffen geriet. Um fair zu sein, das Projekt ist eine Schnittstelle zu einem Medizinprodukt, das viele Feinheiten aufweist und relativ komplex ist. Daher war es aus Managementsicht wahrscheinlich eine schlechte Entscheidung, eine Person in das Projekt einzubeziehen, die keine Erfahrung im Unternehmen hatte.
Wie auch immer, als ich anfing daran zu arbeiten, wurde mir klar, dass ... nun, es hat überhaupt nicht funktioniert. Die Benutzeroberfläche sah gut aus, aber sie hat eigentlich nicht viel getan, und was sie tat, war, dass sie falsch gemacht wurde. Um ehrlich zu sein, war ein Großteil davon auf die Tatsache zurückzuführen, dass dieser Entwickler nicht richtig darauf vorbereitet war, eine Schnittstelle zu unserem Gerät zu schreiben. Ich stellte jedoch auch schnell fest, dass der vorhandene Code spröde und äußerst schwierig zu warten war.
Jetzt behaupte ich nicht, der beste Programmierer der Welt zu sein. Ich arbeite mit vielen sehr intelligenten Leuten zusammen, die bessere Entwickler als ich sind. Ich versuche jedoch sehr, Code zu schreiben, der so einfach wie möglich und robust ist. Ich teste meine Checkins. Wenn ich sehe, dass mein Code unordentlich wird und sich schlecht verarbeiten lässt, ändere ich ihn. Ich habe ein paar Gespräche mit meinem Kollegen geführt, um ihm zu helfen, besseren Code zu schreiben. Das ist etwas schwierig, weil a) er über 20 Jahre Erfahrung auf dem Gebiet hat und ich nur 5 Jahre, und b) er als sogenannter "UX-Experte" angestellt wurde und andere ihn als einen erfahrenen Menschen ansehen.
Das heißt, ich sehe es einfach nicht. Er ist ein sehr netter Kerl und vernünftig, prüft aber immer wieder fragilen Code, arbeitet nur in den optimistischsten Fällen, und 9 von 10 Fällen behebe ich Fehler in seiner Arbeit. Sein Code wirkt nur amateurhaft und er hat offensichtlich nicht die Erfahrung, die er angeblich hatte, als er eingestellt wurde. Es ist zu einem Zeitpunkt gekommen, an dem die zusätzlichen Stunden, die ich damit verbringe, seinen Code zu überarbeiten und seine Fehler zu beheben, mich gefordert haben. So wie ich es sehe, habe ich zwei Möglichkeiten:
- Tu nichts, mach meinen Hintern kaputt, um sicherzustellen, dass dieses Produkt pünktlich und robust ist, und warte darauf, dass er in Zukunft versagt (ich werde nach der ersten Veröffentlichung nicht mehr mit ihm an diesem Projekt arbeiten.)
- Erzählen Sie meinem Chef von seiner Leistung. Mein Chef ist ein vernünftiger Mann, aber ich finde es einfach unangenehm, diesen Ansatz zu wählen. Ich mag es nicht (mangels eines besseren Ausdrucks), meine Mitarbeiter zu "verprügeln", und ich weiß nicht, wie er es nehmen wird.
Also, das war es auch schon. Ich habe versucht, dies mit meinem Kollegen durchzuarbeiten, indem ich erklärte, warum seine Implementierung nicht funktioniert oder wie sein Code wartungsfreundlicher gemacht werden könnte, aber er macht weiterhin dieselben Fehler. Ich bin sehr interessiert zu hören, wie andere mit ähnlichen Situationen umgegangen sind, insbesondere die derzeit im Management tätigen Personen. Vielen Dank im Voraus für alle Ratschläge, die Sie mir geben können.