Andere Kommentatoren haben bereits einige wichtige Punkte behandelt - ich spreche von der Position eines Mitarbeiters, der eine Weile in einem Entwicklungsteam gearbeitet hat, das speziell mit der Wartung des ausgelieferten Codes beauftragt ist. So ziemlich alle Ihre Fragen tauchten immer wieder auf.
Es gibt viele Dinge, die passieren könnten. Sie haben darauf hingewiesen - der ursprüngliche Entwickler hat möglicherweise das Unternehmen verlassen. Eine andere Möglichkeit besteht darin, dass der ursprüngliche Entwickler, während er noch im Unternehmen ist, längst zu anderen Dingen übergegangen ist und diese Dinge nicht mehr im Arbeitsspeicher hat (insbesondere, wenn sich der Code seit seiner Arbeit erheblich geändert hat darauf).
Wir mussten uns zum Beispiel damit befassen, dass das Produktteam sehr aggressive Zeitpläne für die Lieferung der nächsten Versionen des Produkts hatte. Wenn sie auch an Fehlern in den vorhandenen Versionen arbeiten müssten, wären sie zumindest nicht in der Lage gewesen, ihre Zeitpläne einzuhalten. Ich denke, dieser Punkt könnte argumentiert werden, aber die Realität in der Welt der Unternehmenssoftware ist, dass das Herausholen von Dingen alles andere übertrumpft, einschließlich der jederzeitigen Einhaltung aller Best Practices des Software-Engineerings. "Kompromisse" ist der vage Begriff, unter den all die unangenehmen Kompromisse fallen, die wir Entwickler früher oder später in diesen Umgebungen eingehen müssen.
Auf der anderen Seite müssen Sie jedoch viel über die Codebasis lernen, um nicht triviale Fehler zu beheben. Es ist schmerzhaft, manchmal demoralisierend und oft überwältigend. Aber wie genau denken Sie, werden Sie Fachexperte für ein Softwareprojekt? Sie können Tage damit verbringen, den Code für Ihre Erbauung zu lesen, aber diese Art der Code-Durchsicht bleibt nicht so gut, als dass Sie mit dem Code "kämpfen" mussten, um ein Problem zu beheben. Forschungen übertreffen immer wieder das Motto, das wir dabei lernen. Wenn Sie nicht in einem Startup oder einem neuen Team sind, bedeutet dies leider, dass Sie normalerweise einem Softwareprojekt beitreten, das es schon seit mehreren Releases gibt, und echte Kunden mit echten Beschwerden haben, die angegangen werden müssen. Dies bedeutet, dass Sie zuerst Fehler beheben, bevor Sie
Was wirklich wichtig ist, ist, regelmäßig mit Ihrem Manager zu kommunizieren und auszudrücken, was Sie aus dem Job herausholen möchten, und zu prüfen, ob das Unternehmen im Moment tatsächlich Ihren Zielen gerecht werden kann. Hoffentlich lautet die Antwort ja. Bleiben Sie eine Weile und sammeln Sie alle Erfahrungen, die Sie von Ihrem aktuellen Team machen können. Wenn sich herausstellt, dass die Antwort Nein lautet und Sie ein guter Entwickler sind, haben Sie viele Möglichkeiten. Aber lassen Sie die Erfahrung, die Sie durch das Beheben von Fehlern sammeln, nicht außer Acht - ich bin jetzt in meinem dritten Software-Job und muss Tonnen von Code schreiben. Glücklicherweise funktioniert vieles von Anfang an, weil ich so viel Zeit damit verbracht habe, Fehler zu identifizieren, zu beheben und zu versuchen, sie zu verhindern.