Vermächtnis kann alles andere bedeuten, als basierend auf Ihrem "nicht so gut geschriebenen" Kommentar. Ich gehe davon aus, dass Vermächtnis "schlechte" oder zumindest "veraltete" Technologien und Muster bedeutet. Wenn der alte Code gut ist, halten Sie sich nicht zurück und lernen Sie jede Zeile davon.
Ich denke nicht, dass es genug Warnungen gegen die Art von Jobs und Projekten gibt, die Ihre Karriere ablenken und Sie bisher in wertlosen Löchern in diesem Thread stecken lassen.
Sportanalogie-Alarm: Glaubst du, dass ein Unterstützer in der NFL mehr lernt und wertvoller wird, wenn er in der Mannschaft spielt, die die schlechteste oder die beste Bilanz hat? Meine Antwort: Sie sind nicht nur wertvoller, weil sie für die besten Teams gespielt haben, sondern sie haben wahrscheinlich auch Best Practices und Wissen aufgenommen und es vermieden, Praktiken und Einstellungen zum Karriereende aufzunehmen.
Es gibt eine Menge schrecklicher Anti-Pattern-Codes, die tatsächlich für das Geschäft funktionieren und eine Menge Entwicklergehälter bezahlen. Ich schlage vor, dass ein Entwickler, der nicht genügend Code auf die „richtige“ Weise gesehen hat, Anti-Pattern-Code für eine legitime Lösung eines Problems hält. Das Unternehmen kann sagen, dass die Lösung funktioniert, aber es ist keine, die Sie in Ihrem Lebenslauf haben möchten, oder eine, mit der Sie anderen Entwicklern prahlen würden. Dies ist auch nur dann relevant, wenn Ihr persönlicher Wachstumspfad darin besteht, den Respekt Ihrer Kollegen im Ingenieurwesen zu erlangen und nicht nur vorübergehend das Einkommen des Unternehmens zu erhöhen, für das Sie arbeiten. .
Leider gibt es eine Menge Code und eine Menge Zeit, die vergehen kann, bevor die technischen Schulden aufgedeckt werden. Und diese technischen Schulden werden normalerweise genau dann erfasst, wenn es zu spät ist. Wer schon einmal versucht hat, Tech Debt oder Anti-Patterns zu stoppen, könnte aufgrund der wahrgenommenen zusätzlichen Kosten oder des Mangels an Verständnis für die Skalierbarkeit ect. Aus dem Ruder gelaufen sein. Es ist unsere Pflicht als Ingenieure, technische Schulden sofort aufzudecken. Projekte ohne erfahrene Ingenieure laufen Gefahr, irgendwann gegen eine Mauer zu stoßen, eigentlich alle Projekte auch mit talentierten Entwicklern. Die meisten Unternehmen sehen "irgendwann" genügend Zeit, um es später zu beheben. Dies macht die Jobauswahl für aufstrebende Entwickler zu einer sehr komplizierten Angelegenheit. Es zeigt auch die völlig unterschiedlichen Ziele und Einstellungen zwischen Entwicklern und Unternehmen auf und wie kompliziert es ist, diese Lücke zu schließen.
Es ist das Ziel der Ingenieure, echte wissenschaftliche Arbeit und Entwurfsüberlegungen einzubeziehen, während es das Ziel der Unternehmen ist, unnötige Kosten und Zeit „auszuschließen“. Da Ingenieure oft nicht wissen, wie viel Aufwand und Zeit erforderlich sind, bis der Endzustand tatsächlich erreicht ist, spielt die Softwareentwicklung wie jedes gute Drama mit Figuren wie Agile, Scrum und Kanban eine Hauptrolle.
Eine Möglichkeit besteht darin, sich von schlechtem Code fernzuhalten, bis Sie genug guten Code gesehen haben, um nicht "beschädigt" zu werden. Ich liebe das Sprichwort, dass erfahrene Entwickler einfache Lösungen für komplexe Probleme erstellen. Nachwuchsentwickler des mittleren Niveaus erarbeiten ebenso komplexe Lösungen für einfache und komplexe Probleme.
Eine weitere Möglichkeit besteht darin, dass Sie an verschiedenen Stellen an gutem UND schlechtem Code arbeiten müssen, um ein besseres Verständnis zu erlangen. Wenn Sie beides nicht getan haben, versuchen Sie es und seien Sie bereit, alles zu verlernen, wenn Sie auf ein besseres System stoßen. Ich denke, dass dies für die meisten Entwickler eine häufigere Methode ist.
Ich bin dieses Jahr voreingenommen, weil ich das Gefühl habe, auf einen extrem komplizierten Berg mit geheimer Sauce zu klettern. Ich werde zwar meine Fähigkeit verbessern, einige der schlimmsten Muster zu entschlüsseln, die ich je gesehen habe, aber es ist so „gewohnheitsmäßig“ und „einmalig“, dass ich nicht glaube, dass mein Kampf meine Marktfähigkeit oder meine nutzbaren Fähigkeiten in meiner Zukunft verbessern wird.
Um meine geistige Gesundheit zu bewahren, tuckere ich nur mit gleichmäßigen Schritten und nehme jede Straßensperre als Par für den Kurs an. Nachdem ich gerade meine jährlichen Ziele mit meinem Chef besprochen habe, zu denen das Ausgraben dieses alten Lochs gehört, denke ich, dass es ein Opferanstieg sein könnte. Ich könnte den Prozess mit schlechten Bewertungen und der wahrgenommenen Langsamkeit überleben. Dies ist eine realistische und ahnungsvolle Warnung für diejenigen, die sich fragen, welchen Job sie übernehmen sollen.
Haftungsausschluss: Dieser Beitrag wird viel länger als meine Meinung, nehmen Sie es mit einem Körnchen Salz. Morgen könnte ich alten Code lieben! (Bezweifel es).