Wird jemand wegen schlechten Codes gefeuert? [geschlossen]

Letzte Nacht habe ich meinen Lebenslauf aufpoliert, der Erinnerungen an meine früheren Arbeitsumgebungen wachrief. Ich bin jetzt seit 10 Jahren in der Softwarebranche tätig, vom Datenanalysten (ich habe keinen Informatik-Abschluss) - zum Junior-Programmierer - zum Softwareentwickler - zum Senior-Entwickler - zum technischen Leiter (immer noch programmieren und es mögen), hauptsächlich C & C++ mit ein paar Botengängen in verschiedene Bereiche. Und hier ist, was mir keine Ruhe lässt:

Ich kann mich an niemanden erinnern, der wegen schlechten Codes gefeuert wurde.

Niemand. Außerdem kenne ich niemanden, der davon gehört hat , dass jemand wegen schlechten Codes gefeuert wurde.

Ich betone schlechten Code, weil ich miterlebt habe, wie Leute gefeuert wurden (oder zumindest unter Druck gesetzt wurden zu gehen), weil sie keinen Code hatten – Typen, die einfache Aufgaben überhaupt nicht lösen konnten; egal wie viel Zeit gegeben wurde, nichts funktionierte auch nur aus der Ferne.

Aber sobald jemand in der Lage ist, etwas zu schreiben, was per Handbewegung als „fertig“ oder „erledigt“ bezeichnet werden kann, scheint ihn ein Kraftfeld zu umgeben. Und es spielt keine Rolle, ob der "erledigte" Code von leicht zu vermeidenden Fehlern wimmelt, die uns in der QA oder von verärgerten Kunden zurückbeißen, oder Routinen, die in der Standardbibliothek vorhanden sind, ständig neu erfinden, oder grob überkompliziert ist ( SeitenCode, der auf ein paar Dutzend Zeilen reduziert werden könnte, keine Übertreibung), oder sich nicht die geringste Mühe gibt, häufig verwendete Routinen auszuklammern (nur Textbausteine ​​zu kopieren und einzufügen), oder Variablennamen hat, die nichts mit den Werten zu tun haben Sie halten. Selbst wenn einige der oben genannten Personen zahlreiche Manntage aus einem Projekt für die Fehlerbehebung, zusätzliche QA-Zyklen, zusätzliche Stunden für das Debuggen, weil andere Teammitglieder es nicht herausfinden, zusätzliche Stunden für das Refactoring, weil ein Teammitglied herausfinden möchte , verbrauchen raus - keine Köpfe rollen.

Um es klar zu sagen, ich bin kein Fan davon, Waffen auf Leute zu richten, weil sie einen Fehler gemacht haben. Jeder macht sie, selbst die besten Entwickler, die ich gesehen habe, stolpern oft am Anfang (selten später). Ich spreche von ausgewählten Fällen, die diese Art von Fehlern immer wieder machen, obwohl sie in Code-Reviews darauf hingewiesen werden. Und ich lasse "Kleinigkeiten" wie das Nichtbefolgen von Code-Konventionen bewusst beiseite, um mich auf Dinge zu konzentrieren, die echten Schaden anrichten.

Das verwirrt mich. Bei jedem Projekt, an dem ich beteiligt war, wurde immer Wert auf Zeit, Qualität und damit auf Rentabilität gelegt, aber Personen, die alle drei immer wieder behindern, wurden nicht eliminiert. Zuerst dachte ich, das liegt daran, dass technisches Wissen normalerweise am unteren Rand des Organigramms verteilt ist, aber ich bemerkte, dass schlechte Äpfel nicht nur beim Schreiben von Code versagen. Sie schreiben oft unleserliche Dokumentation, erstellen minderwertige Fehlerberichte (fehlende Grundlagen wie Softwareversionen oder sogar, was das Problem war), haben schlechte E-Mail-Kommunikationsfähigkeiten – sind insgesamt schlechte Arbeiter. Das Management kann es also sehen und diese Informationen sickern weiter nach oben (während des Smalltalks wurde oft angedeutet, dass sie wissen, wer „nutzlos ist“).

In all meinen 10 Jahren Erfahrung wurden Programmierer, die schlechten Code schreiben, ständig von Kollegen daran erinnert (und sich über sie lustig gemacht), dass das, was sie tun, weh tut, sie wurden vom mittleren Management ermutigt und gerügt, es besser zu machen, aber sie wurden nie gefeuert. In Fällen, in denen geringe Qualifikationen mit Konfliktbereitschaft gepaart sind, stagnierten ihre Karrieren manchmal. Aber wenn sie oberflächlich kooperativ sind, geht es ihnen gut und sie werden manchmal in Senior- und Architektenpositionen befördert.

Ist es branchenweit normal, dass Leute nicht gefeuert werden, weil sie schlechten Code schreiben? Wenn ja warum? Und was noch wichtiger ist, wie geht man mit Wiederholungstätern um, wenn ihre Eliminierung keine Option ist?

Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da "ist X normal" oder "passiert X jemals" vollständig meinungsbasierte / anekdotische Antworten haben wird.
Wenn kein Korrekturverhalten hilft, müssen Sie wahrscheinlich nur entscheiden, ob ihr Code "gut genug" ist oder ob Sie sie feuern sollen. Je nachdem, in welchem ​​Land Sie leben, kann es einfacher oder schwieriger (oder fast unmöglich) sein, jemanden zu feuern, wenn er ein realistisches, quantifizierbares Ziel erreichen kann, das Sie sich vorstellen können.
Ich kann niemanden feuern, der technische Leiter ist ein leitender Programmierer/Designer, keine Managerposition in meiner aktuellen Firma.
Kann nur hoffen, dass du trollst. -1 VTC
Wenn Leute, die schlechten Code schreiben, nicht gefeuert werden können, können sie immer noch ins Management versetzt werden. Dies ist im Volksmund als das Dilbert-Prinzip bekannt. Suchen Sie nach weiteren Einzelheiten. :)
Die meisten wissen, dass sie in eine schlechte Lage geraten und gehen, bevor sie gefeuert werden. Aber ja, ich habe Leute gesehen, die wegen schlechten Codes gefeuert wurden.
Es hängt vom Unternehmen ab, aber leider wird die Entscheidung in vielen Unternehmen dem Manager ohne technische Erfahrung überlassen.

Antworten (2)

Ich habe auch schon Leute gesehen, die durchweg schlechten Code geschrieben haben. Obwohl sie in diesem Job nicht auf dem Laufenden für HR / Management waren, wurden sie am Ende eines Projekts im Allgemeinen entlassen, weil „keine Arbeit verfügbar war“. Alle produktiven Teammitglieder waren mit neuen Projekten beschäftigt, aber wenn Sie sich den Ruf erarbeitet haben, nutzlos zu sein, wird Sie kein PM zu seinem Projekt nehmen wollen, also "keine Arbeit verfügbar".

Das. Exakt. PMs reden untereinander, und wenn Sie den Ruf haben, tot zu sein, werden Sie rausgecoacht.

Leute werden gefeuert, weil sie schlechte Programmierer sind. Es passiert ständig. Das Schreiben von schlechtem Code ist nur eines der Symptome dafür, ein schlechter Programmierer zu sein. Andere Symptome dauern ewig, um selbst einfache Aufgaben zu erledigen, und eine anhaltende Unfähigkeit, ohne strenge Überwachung zu arbeiten. Häufiger sind die Worte, die verwendet werden, um das Loslassen zu rechtfertigen, „unterdurchschnittliche Leistung“ oder „Erwartungen nicht erfüllen“.

Die meisten Orte werden eine oder beide von zwei Optionen ausprobieren, bevor sie jemanden loslassen. Erstens werden sie versuchen, eine Arbeit innerhalb des Unternehmens zu finden, die ihren Fähigkeiten besser entspricht, und die Person ermutigen, sich in diese Richtung zu bewegen. Zweitens werden sie sie über ihre unzureichende Leistung informieren und sie auffordern, sich entweder informell oder formell durch einen sogenannten Performance Improvement Plan (PIP) zu verbessern. Im Allgemeinen wird ein PIP als das letzte Stück Beweismittel angesehen, das vom Unternehmen gesammelt wird, daher haben sie eine Papierspur, die besagt, dass sie versucht haben, den mangelhaften Arbeiter zu rehabilitieren, aber erfolglos waren. Dann ließen sie die Person gehen, weil sie keine Besserung zeigte.