Neuer Job und unmögliche Deadline [geschlossen]

Was ist, wenn Ihr Vorgesetzter Sie nach einem Monat Beitritt auffordert, bei der Veröffentlichung eines Projekts zu helfen, das ohne Verlängerungsoption nahezu unmöglich erscheint?

Hintergrund:

Ich bin in einen neuen Job eingetreten, wo der einzige Entwickler an einem Projekt arbeitet und behauptet, dass es fast fertig ist. Es ist sein erster Job und sein Programmier- und Codierungsstil entspricht nicht den Industriestandards und ist produktionsreif.

Aktuelles Szenario:

Weder mein Kollege noch das Management wollen, dass ich die Codebasis bereinige, weil sich dadurch das Veröffentlichungsdatum verzögern würde, also erwarten sie, dass ich meine Arbeit an der beschissenen Codebasis fortsetze.

Mir wurde auch gesagt, dass die Finanzierung für das Projekt bereits abgeschlossen ist und sie das Projekt so schnell wie möglich abschließen müssen.

Ich möchte wirklich Gutes tun, aber dies ist mein erster Job, bei dem das Management gegen eine Überarbeitung oder Umschreibung des Codes ist. Ich erwäge, mich nach einer anderen Stelle umzusehen, möchte aber andere Optionen prüfen, bevor ich gehe.

Bearbeitet, keine Notwendigkeit, Ihren Kollegen schlecht zu machen.
@FrankFYC "nicht nach Industriestandards" klingt wirklich edel, aber glauben Sie mir, beschissen ist Realität, und ich sage das nicht gerne, ich meine, Sie können nicht einmal die Variablennamen verstehen.
Verwendet Ihr Kollege SE?
@FrankFYC glaube nicht, selbst wenn er es benutzt, glaube ich nicht, dass er es wissen wird, weil diese Art von Geschichte üblich ist :)
Wenn Sie die Beleidigungen einbeziehen, sehen Sie schlecht aus, nicht sie ... Nur zur Information. Respekt zu zeigen hat nichts mit der Person zu tun, die Sie respektieren, sondern mit der Person, die Sie sind.
"Was ist, wenn...?" ist nicht gerade ein Ziel, das wir ansprechen können. Wenn Sie den Job aufgeben möchten, können Sie das gerne tun, aber wir können Ihnen diese Entscheidung nicht abnehmen. Haben Sie Ihrem Vorgesetzten gesagt, dass Sie glauben, dass die Frist nicht eingehalten werden kann? Obwohl Probleme mit der Frist seltsamerweise in Ihrer Frage fehlen, scheint es nur so, als würden Sie darauf bestehen, eine Neufassung vorzunehmen, die vermutlich viel länger dauern wird, als nur das zu tun, was Ihnen gesagt wird. 99,99 % der Unternehmen wären gegen einen neuen Mitarbeiter, der mit einer Umschreibung beginnt, insbesondere bei einer sich abzeichnenden Frist.
Dies ist ein wirklich klassischer Kompromiss bei der Arbeit am Code eines anderen. Leider werden viele Entwickler versuchen, den vorhandenen Code neu zu schreiben, anstatt zu versuchen, die Codebasis zu verstehen, aber es könnte tatsächlich eine schlecht entworfene Software sein. Sie können Ihre Bedenken gegenüber Ihrem Management äußern, insbesondere darüber, warum die Software schlecht konzipiert ist (Wird sie nicht leistungsmäßig skaliert? Wird es schwierig sein, neue Funktionen hinzuzufügen?) Und es liegt am Management, zu entscheiden, was als nächstes zu tun ist.
@Dukeling Sie klingen so, als wäre es in Ordnung, wenn 99% der Unternehmen keine Codeüberprüfung durchführen? und ist es für 99% unternehmen in ordnung, ein großes projekt von einem frischeren abwickeln zu lassen? Ich weiß, dass Sie sich nicht in der gleichen Situation befinden, aber versuchen Sie, solche allgemeinen Aussagen zu vermeiden, die in manchen Fällen wenig oder gar keinen Sinn machen. Denken Sie auch daran, dass OP auch etwas Erfahrung haben muss. Wenn er hier Fragen stellt, muss er nicht dumm sein oder so. In Ihrem ganzen Kommentar rieche ich, dass Sie nicht an die aktuelle Situation glauben, es ist ok, aber verallgemeinern Sie die Dinge nicht.
@OnetimeOnly Ich bin nicht gegen groß angelegte Umschreibungen (eigentlich das Gegenteil), aber sie sind aus geschäftlicher Sicht schwer zu verkaufen - das ist eine ganze Menge Entwicklerzeit, die für nichts aufgewendet wird, das dem Unternehmen Geld einbringt (die Idee ist natürlich, dass es auf lange Sicht vorteilhaft ist, aber dieser Kompromiss ist vorher schwer zu messen). Wenn Sie erst seit einem Monat dort sind, ist es für sie unvernünftig, Ihnen zu vertrauen, dass Sie diesen Kompromiss verstehen (aber Sie können sie vielleicht dazu bringen, es zu verstehen). Ich habe keine Meinung dazu, neue / frisch graduierte Mitarbeiter zu bitten, an großen Projekten zu arbeiten, außer "es passiert".

Antworten (4)

Weder mein Kollege noch das Management wollen, dass ich die Codebasis bereinige, weil sich dadurch das Veröffentlichungsdatum verzögern würde, also erwarten sie, dass ich meine Arbeit an der beschissenen Codebasis fortsetze.

Daher müssen Sie Ihre Arbeit an der beschissenen Codebasis fortsetzen, es sei denn, Sie finden einen Weg, die Codebasis zu bereinigen und trotzdem das Veröffentlichungsdatum einzuhalten. Die Art und Weise, wie Sie Ihre Frage geschrieben haben, lässt dies unwahrscheinlich erscheinen.

Mir wurde auch gesagt, dass die Finanzierung für das Projekt bereits abgeschlossen ist und sie das Projekt so schnell wie möglich abschließen müssen.

Daher müssen Sie sich bemühen, das Projekt so schnell wie möglich abzuschließen. Stellen Sie sicher, dass Sie verstehen, was Ihr Chef mit „so schnell wie möglich“ meint.

Ich möchte wirklich Gutes tun, aber das ist mein erster Job, wo alle dagegen sind. Ich möchte wirklich weglaufen, aber ich möchte nicht zu oft wechseln. Was kann man in solchen Situationen tun?

Nun, Sie könnten weglaufen - aber das ist keine großartige Lösung.

Sie könnten Ihre beste Schätzung für die Fertigstellung abgeben und um eine Verlängerung bitten. Aber es hört sich so an, als hätten Sie das getan und wurden abgelehnt.

Sie könnten um weitere Hilfe bitten, wenn Sie der Meinung sind, dass dies das Fertigstellungsdatum bringen würde. (Manchmal macht das späte Hinzufügen von Leuten zu einem Projekt die Sache noch schlimmer.)

Sie könnten fragen, ob Funktionen gekürzt oder das Projekt auf andere Weise überarbeitet werden könnten, um das gewünschte Veröffentlichungsdatum erreichbar zu machen.

Sie könnten fragen, ob das Projekt einfach abgebrochen werden kann. Ich vermute, das ist nicht machbar.

Wenn ich mit einer unmöglichen Deadline konfrontiert werde, lasse ich meinen Chef wissen, dass ich das Zieldatum nicht für erreichbar halte. Ich lasse meinen Chef auch wissen, dass ich mit allem, was ich bekomme, mein Bestes geben werde. Ich aktualisiere meinen Chef mit meinen Schätzungen, während das Projekt voranschreitet.

Ich lasse dann meinen Chef die Entscheidung treffen, das Projekt fortzusetzen, Ressourcen hinzuzufügen und es zu überarbeiten. absagen oder den Termin verlängern.

Wenn die Entscheidung lautet, ohne Terminverlängerung weiterzumachen, dann gebe ich einfach mein Bestes. Am Ende ist das alles, was jeder vernünftigerweise erwarten kann.

Ich bin glücklich, in der beschissenen Codebasis zu arbeiten, weil ich weniger Arbeit machen muss und mit „Flow“ sein muss, aber das Problem ist, dass das Projekt jetzt auch meinen Namen hat, und wenn etwas passiert, dann würde es auch auf mir liegen. Außerdem bin ich in der Probezeit und ein gescheitertes Projekt kann ein schlechtes Licht auf mich werfen. Ich sagte fehlgeschlagen, weil die Art und Weise, wie Code geschrieben ist, sicher fehlgeschlagen wäre.
Ich verstehe, dass alles zum Verständnis des Chefs kommt, er ist derjenige, der die Wahrheit kennt, und er sollte sehen, dass ich bestrebt bin, Gutes zu tun, aber zu einem schlechten Zeitpunkt. Ich hatte nur Angst, dass es meine Probezeit nicht beeinflussen sollte.

Du wurdest dem Team zugeteilt, also sei ein Teammitglied.

Das Beste, was Sie tun können, ist, einfach Aufgaben von ihnen anzunehmen, sich auf Ihre Aufgabe zu konzentrieren, Ihre Aufgaben rechtzeitig und effizient zu erledigen und mit der nächsten Aufgabe fortzufahren.

Du bist der Neue, du wirst das hübsche Projekt nicht bekommen, weil du dich noch nicht bewiesen hast. Dieses Projekt kann scheitern und Sie können trotzdem erfolgreich sein. Sie tun dies, indem Sie Ihr Bestes geben, um es zu erledigen. Geben Sie alle Hoffnungen auf, dass das Chaos, an dem Sie arbeiten, ein gutes Projekt sein wird, arbeiten Sie einfach daran, den ursprünglichen Entwickler zu unterstützen.

Zu keinem Zeitpunkt sollten Sie Ihren Kollegen herablassen oder ihn für das Chaos kritisieren, das er hat. Es ist möglich, dass sie dieses Chaos geerbt haben und tun, was sie können, damit es funktioniert. Und selbst wenn nicht, bist du der Neue. Sie brauchen nicht, dass Sie hereinkommen und dem ursprünglichen Entwickler ein schlechtes Gewissen machen, wegen dem, was er tut oder getan hat. Das wird dem Geschäft nicht nützen.

Wenn Sie irgendwann in der Zukunft nach dem Projekt und der Codebasis gefragt werden, ist es in Ordnung, objektive Kritik an bestimmten Entscheidungen oder Problemen zu äußern, aber nicht in Ordnung, allgemeine Angaben zu machen. * Sein Programmier- und Codierungsstil ist erbärmlich und glauben Sie mir, wenn ich das sage erbärmlich, weil ich über ausreichende Erfahrung verfüge* - Machen Sie genaue Angaben zu den problematischen Programmierentscheidungen und dazu, wie die von Ihnen gewählten Lösungen die Probleme gelöst hätten.

Aber tun Sie vorerst Ihr Bestes, um als Teammitglied zum Projekt beizutragen, indem Sie der Führung des vorhandenen Entwicklers folgen. Manchmal bedeutet ein gutes Teammitglied zu sein, ein guter Programmierer auf Sparflamme zu sein und einfach das zu tun, was einem gesagt wird, wie man es einem sagt.

Lassen Sie sie die Anerkennung und Schuld für das Vorantreiben des Projekts auf sich nehmen, während Sie alles in Ihrer Macht stehende tun, um ein großartiges Teammitglied zu sein. Beweisen Sie sich bei diesem Projekt und hoffen Sie beim nächsten Mal auf ein besseres. Wenn dies das letzte Mal in Ihrer Karriere ist, dass Ihnen ein Mistsandwich gereicht wird und Ihnen gesagt wird, dass es nächste Woche wie Prime Rib schmecken muss, werden Sie wirklich gesegnet sein.

„Das Beste, was Sie tun können, ist, einfach Aufgaben von ihnen anzunehmen, sich auf Ihre Aufgabe zu konzentrieren, Ihre Aufgaben rechtzeitig und effizient zu erledigen und mit der nächsten Aufgabe fortzufahren.“ Wie? Als ich das letzte Mal versuchte, mein Bestes zu geben, war der einzige Kommentar, den ich bekam, "Sehen Sie, Sie verzögern Dinge, die nicht umgestaltet werden müssen". Sie haben mir gesagt, ich solle ein Teammitglied sein, aber ich möchte ein gutes Teammitglied sein. Ich glaube, Sie haben nicht gelesen, dass ich viel Zeit damit verbracht habe, das Handwerk des guten Programmierens zu lernen.
@OnetimeOnly - Manchmal bedeutet ein gutes Teammitglied zu sein, ein guter Programmierer auf Sparflamme zu sein und einfach das zu tun, was Ihnen gesagt wird, wie es Ihnen gesagt wird. (Ich habe dies übrigens in die Antwort bearbeitet) - Schreiben Sie einfach den Code, den Sie schreiben sollen, um das zu tun, was Ihnen gesagt wird. Kämpfen Sie nicht gegen das System oder hoffen Sie auf ein Refactoring, sondern erledigen Sie einfach die Arbeit und lassen Sie das Projekt auf den Schultern Ihrer Teamleiter scheitern. Das heißt nicht, dass Sie keine Vorschläge machen sollen, aber kämpfen Sie nicht dafür, etwas zu ändern, nur weil es falsch ist.
Tut mir leid, wenn ich vergessen habe, es dir zu sagen, es gibt keine Spur. Da war dieser eine Typ und ich sollte jetzt der Anführer sein, da ich mehr Erfahrung habe, klingt lustig, aber wahr. Also sagt mir niemand, ich solle Code schreiben, nur es sind noch ein paar Features übrig, und das wurde mit meiner Hilfe abgeschlossen.
@OnetimeOnly - Er ist jetzt die Führung ... lassen Sie ihn die Führung übernehmen, zwingen Sie ihn, die Führung zu übernehmen, und nehmen Sie seine Richtung ein. Dies ist die beste Vorgehensweise für Sie. Nimm dieses beschissene Sandwich und würge es mit einem Lächeln im Gesicht herunter und tu so, als wäre es wunderbar. Niemand wird sich in einem Jahr an Ihren Anteil an diesem gescheiterten Projekt erinnern. Aber wenn Sie ein gutes und positives Teammitglied sind, können Sie in Zukunft zu einem besseren Projekt eingeladen werden.
Ja, du klingst richtig und das dachte ich auch, obwohl es sich ein bisschen peinlich anfühlt, aber die gute Seite ist, dass mich hier niemand kennt. Mal sehen, was wir nach der Veröffentlichung tun, denn ich glaube nicht, dass ich jetzt länger hier sein werde.
@OnetimeOnly - Es ist Ihre Wahl, aber wenn Sie jedes Mal von einem Job weglaufen, wenn Sie auf ein Mist-Sandwich-Projekt gesetzt werden, werden Sie viel weglaufen.

Bleiben Sie sachlich und realistisch, berücksichtigen Sie die Fakten des Projekts und präsentieren Sie es so, dass keine Brücken brechen.

Wenn Sie mit einem unbeweglichen Objekt konfrontiert sind, identifizieren Sie die Tatsache, dass es sich nicht verändert, und bieten Sie Lösungen an. Wenn Sie das nicht können, seien Sie direkt und sagen Sie, dass es unrealistisch ist.

Was nicht geändert werden kann:

  • Finanzierung
  • Verlängerung
  • Code-Revision

Mein Vorschlag ist, zurück zum Reißbrett zu gehen und zu identifizieren, welche Funktionen sprichwörtlich über Bord geworfen werden müssen, damit Sie retten können, was übrig bleibt, um die Frist einzuhalten. Mit der Idee, dass es besser ist, gut ausgefeilten Code für einige Funktionen zu haben, als einen fehlerbehafteten Code, der alle angeforderten Funktionen abdeckt. Sobald es mit einer Fliege umwickelt ist, erklären Sie, wie Sie mit mehr Geld die fehlenden Funktionen angehen können.

Ihr Kollege, obwohl er unerfahren ist, verhält sich nicht böswillig. Dies ist sein/ihr erster Job und wurde einem Ein-Mann-Entwicklerteam ohne Mentor zugewiesen. Klingt so, als könnten Sie diese Rolle jetzt ausfüllen. Wenn Sie vorwärts gehen und ihn/sie für ihre Fehler reiten, sind Sie jetzt im Unrecht. Sie sind sich des Grundes für die schlechte Qualität bewusst, aber Sie entscheiden sich dafür, mit Bosheit zu handeln. Dies ist eine Gelegenheit, für Sie beide zu wachsen, Sie als Führungskraft und er/sie als besserer Programmierer.

Ich habe das nach ein paar Wochen versucht, aber das Problem ist, dass mein Kollege frischer ist und es sehr schwer ist, ihn zu überzeugen, manchmal kann ich nicht mit ihm kommunizieren, weil er wenig oder gar keine Kenntnisse hat. Er sagt immer, dass nichts falsch ist, wir können dies oder das tun, was keinen Sinn ergibt.
Du musst ihn nicht überreden. Sie müssen den Projektleiter überzeugen. „Ich habe mit X über die Probleme A, B und C gesprochen. X antwortete, a, b und c. Ich würde aufgrund von D, E und F nicht zustimmen. Ich bringe Ihnen dies zur Entscheidung.“ Sobald eine Entscheidung getroffen wurde, liegt sie nicht mehr in Ihrer Hand.
Heute dachte ich daran, die Ausdrucke der Codes vor und nach dem Refactoring zu nehmen und ihm die drastische Änderung in Lesbarkeit und Komplexität zu zeigen, aber der Kommentar des Managers bezüglich der Finanzierung hält mich zurück.
Die Finanzierung liegt außerhalb Ihrer Kontrolle. Sie vertreten Ihre fachliche Meinung und überlassen die Entscheidungsfindung dem Vorgesetzten. Wenn sich Ihr Vorgesetzter gegen Ihre Empfehlung entscheidet, nehmen Sie es nicht persönlich, sondern tun Sie, was Sie können, mit dem, was Sie erhalten haben. Dieses Projekt wird kein Weltuntergang sein.

Mach dir keine Sorgen, es ist die Regierung. Gescheiterte Projekte sind an der Tagesordnung. In vielen Abteilungen geht es nur darum, Finanzmittel zu bekommen, und all ihre Ressourcen gehen dafür, das eigentliche Projekt ist weniger wichtig, oder sie hätten Ihren Vorgänger gar nicht erst dabei gehabt.

Sie konzentrieren sich bereits auf die nächste Finanzierungsquelle.

Also tu einfach, was du kannst.