Wie überlebt man als Nachwuchsentwickler an einem Arbeitsplatz, der keine Fehler toleriert?

Mein Freund ist ein Junior an einem Arbeitsplatz, an dem die Mitarbeiter zu 100 % Verantwortung für ihre Arbeit übernehmen müssen. In der Praxis bedeutet dies keine Code-Reviews. Etwaige Fehler, Irrtümer oder Ineffizienzen sind selbst zu identifizieren.

Während die Mitarbeiter ermutigt werden, um Hilfe zu bitten, wenn sie auf Probleme stoßen, weiß man nicht, was man nicht weiß, und mein Freund wird oft von Senioren (die auch Manager im Unternehmen sind) diszipliniert, wenn ihre Arbeit nicht passt ihre Erwartungen am Ende eines Projekts. Das ist für den betreffenden Nachwuchs eine große Belastung und zerstört das Vertrauen in die eigene Arbeit.

Während ich die Vorzüge einer „beim ersten Mal richtig machen“-Kultur an einem Arbeitsplatz voller erfahrener Entwickler sehe, scheint es ein feindseliges Arbeitsumfeld für Junioren zu sein, die es wirklich nicht besser wissen.

Kann jemand Techniken zur Überprüfung und Fehlerprüfung Ihrer eigenen Arbeit vorschlagen? Oder Strategien zur Kultivierung einer gesunden „Lernen-durch-Fehler“-Überprüfungskultur am Arbeitsplatz?

Ich sollte hinzufügen, dass dies anscheinend ansonsten ein freundlicher und angenehmer Arbeitsplatz ist und die Senioren in allen anderen Aspekten völlig vernünftig erscheinen, der Junior möchte nach Möglichkeit im Unternehmen bleiben.

Anscheinend wird Ihr Freund von Senioren diszipliniert ... die wahrscheinlich nicht der Manager oder Chef Ihres Freundes sind und nicht in der Lage sind, ihn zu disziplinieren ... was sagt der Chef Ihres Freundes?
In diesem Unternehmen sind die leitenden Entwickler auch die Manager
Es ist ein kleines, von Entwicklern geführtes Unternehmen. Obwohl sie einen Hauptmanager haben, dem sie Bericht erstatten, ist dieser Manager schuldig, diese Kultur aufrechtzuerhalten. Es gibt niemanden, der das Problem auch nach oben bringt, die direkte Konfrontation mit dem Problem ist leider die einzige Option.
@Bbbbbbbbb Also, dein Freund hat mehr als einen Manager? Hat er eine, auf die er reagiert? Mit anderen Worten, hat er Vorgesetzte, die nicht sein Vorgesetzter sind?
Warum haben sie einen Junior eingestellt, wenn sie keine Juniors wollen?
@solarflare vermutlich, weil sie nur für Juniors bezahlen wollen, aber die Qualität von Mid- oder Seniors erwarten. Das klingt einfach nach einer unglaublich giftigen Umgebung.

Antworten (3)

Während Ihr Freund beim Erlernen von Test Driven Development (TDD) viele gute Erfahrungen gemacht hat, bedeutet die Tatsache, dass er / sie von mehreren Managern wegen unzureichender Telepathie-Fähigkeiten diszipliniert wird, dass dies wie ein giftiger Arbeitsplatz aussieht. Die Person, die niemals Fehler macht, macht überhaupt nichts.

Mein Rat kann nur sein, mit schnellen Schritten auf den Ausgang zuzugehen. Es gibt bessere und stressfreiere Arbeitsplätze.

Verstehe, dass das Testen von Software Teil dessen ist, was ein Softwareentwickler ist

Die Aufgabe eines Entwicklers besteht darin, getesteten Code zu produzieren, nicht nur "Code".

Es liegt in Ihrer Verantwortung, sicherzustellen, dass der Code das tut, was er tun soll, und keine Änderungen vornimmt, für die er nicht vorgesehen ist.

Kann jemand Techniken zur Überprüfung und Fehlerprüfung Ihrer eigenen Arbeit vorschlagen?

Diese Frage lautet eigentlich: „Wie teste ich Software?“. Das ist natürlich eine große Frage. Lesen und verstehen Sie zumindest, was Einheiten-, Integrations- und Systemtests sind.

Selbst wenn es ein dediziertes QA-Team gibt, handelt es sich um eine Zweitlinienprüfung, sie sind kein Ersatz für Ihre Tests.

Für jede Änderung sollten Sie sich eine Art Testplan ausdenken, auch informell, und der Code ist nicht „fertig“, bis er bestanden ist. Sie können sich mit testgetriebener Entwicklung, Abhängigkeitsinversion und Mocking befassen; Obwohl diese spezifischen Konzepte oft übertrieben werden und zu einem schrecklichen Aufblähen des Codes führen können, ist es dennoch gut, sich mit ihnen vertraut zu machen.

Strategien zur Kultivierung einer gesunden „Lernen-durch-Fehler“-Bewertungskultur

Zum Zeitpunkt der Überprüfung und danach müssen Sie darüber nachdenken, warum Fehler gemacht wurden.

Nicht nur „was habe ich in meiner Entwicklung falsch gemacht“ (denn jeder macht Fehler), sondern „warum hat mein Testen diesen Fehler nicht gefunden“.

Denn wenn sich Ihre Tests verbessern, verbessert sich auch Ihr Code. Und Senioren werden mit der Zeit mehr Vertrauen in die Qualität Ihrer Ergebnisse haben.

Wenn das OP so viel Zeit damit verbringt, seine Tests jeden Grenzfall zu erfassen, werden die Manager ihn nur für niedrige Codeausgabe bestrafen. Entwicklertests sind wichtig, aber ich denke nicht, dass sie ausreichen, um die Erwartungen zu erfüllen, die das OP für dieses lächerliche Unternehmen formuliert hat.
Wir haben keine Möglichkeit zu wissen, wie unvernünftig die Senioren sind oder wie schlecht der Code des OP-Freundes tatsächlich ist. Jeder ist der Held seiner eigenen Geschichte, und auf der anderen Seite des Tisches könnte es anders aussehen. Wenn es wirklich null Toleranz für Fehler und null Support gibt, würde ich zustimmen, dass der Freund des OP laufen sollte.
Ich habe noch nie an einem Projekt gearbeitet, bei dem TDD praktisch war. Niemand möchte auf den Code warten oder dafür bezahlen, dass Sie stundenlang Tests schreiben. Wenn Sie normalerweise vorschlagen „Ich würde gerne einige Zeit damit verbringen, Unit-Tests zu schreiben, die sicherstellen, dass sich dieser Code richtig verhält“, werden Sie normalerweise mit „Das klingt großartig, aber zuerst haben wir eine lange Liste von neuen Funktionen, die wir gerne hätten Sie zu implementieren ..."

Kann jemand Techniken zur Überprüfung und Fehlerprüfung Ihrer eigenen Arbeit vorschlagen? Oder Strategien zur Kultivierung einer gesunden „Lernen-durch-Fehler“-Überprüfungskultur am Arbeitsplatz?

Zunächst muss ich sagen, dass ich Philips Kommentar teilweise zustimme; Wenn diese ungesunden Erwartungen und Disziplinierung der Standard sind, könnte Ihr Freund vielleicht in Betracht ziehen, sich einen anderen Job mit einem besseren Arbeitsumfeld zu suchen. Aber das sollte als letzter Ausweg getan werden.

Einige Strategien, die hier helfen könnten, sind:

  • Arbeiten Sie mit anderen Junior-Entwicklern zusammen und lassen Sie Ihren Code von Kollegen überprüfen . Da andere Junior-Entwickler höchstwahrscheinlich in einer ähnlichen Position sind (lernen noch, neigen dazu, Fehler zu machen), ist es ein guter Weg, sich gegenseitig zu helfen. Es wird nicht nur ihre Beziehung und Arbeitsdynamik stärken, sondern ihnen auch dabei helfen, qualitativ hochwertigeren Code zu liefern und zu lernen, wie man besser codiert.

  • Bitten Sie früher um Hilfe, warten Sie nicht bis zum Ende des Projekts . Da Ihr Freund am Ende von Projekten diszipliniert wird, wäre es eine gute Idee, früher um Hilfe zu bitten, damit er die Möglichkeit hat, Fehler vor der Lieferung zu korrigieren und dabei zu lernen.

  • Machen Sie eine Pause oder wechseln Sie zu einer anderen Aufgabe, bevor Sie sie überprüfen . Manchmal kann man verwirrt oder ausgebrannt sein, wenn man kontinuierlich an einem Projekt arbeitet. Dies erhöht meiner Erfahrung nach manchmal die Wahrscheinlichkeit, dass man ein wichtiges Detail übersieht oder einen Fehler nicht finden kann. Es hat mir sehr geholfen, zu anderen Aufgaben zu wechseln oder eine Pause einzulegen, bevor ich nach Fehlern suche, da man es dann mit einer frischen Einstellung sehen kann.


Es ist erwähnenswert, dass Sie angeben, dass diejenigen, die Ihren Freund disziplinieren, seine leitenden Mitarbeiter sind und nicht sein Chef / Manager. Wahrscheinlich sind die meisten von ihnen nicht in der Lage, Ihren Freund zu disziplinieren, da dies eine Rolle wäre, die der Chef übernehmen sollte .

Ältere Mitarbeiter können Vorschläge machen oder betreuen , aber sie sollten nicht disziplinieren, es sei denn, dies ist Teil ihrer ausdrücklichen Verantwortlichkeiten. Ich notiere dies, weil die Chancen bestehen, dass die älteren Mitarbeiter, die nicht der Chef Ihres Freundes sind, versuchen, ihn abzuschrecken oder ihn auf diese Weise aus unbekannten Gründen zu entmutigen ...

Mir ist bewusst. Wenn Sie sorgfältig lesen und nicht nur einen Teil, sagte ich: "Die älteren Mitarbeiter , die nicht Ihr Chef sind, versuchen ..."