Dziedzictwo może znaczyć wszystko, ale na podstawie „niezbyt dobrze napisanego” komentarza zakładam, że Dziedzictwo oznacza „złe” lub przynajmniej „nieaktualne” technologie i wzorce. Jeśli starszy kod jest dobry, nie wstrzymuj się i naucz się jego każdego wiersza.
Nie sądzę, aby były wystarczająco jasne ostrzeżenia przed pracą i projektami, które zmieniają twoją karierę i powodują, że utknąłeś w bezwartościowych dziurach w tym wątku.
Alert analogii sportowych: Czy uważasz, że zwolennik linii w NFL uczy się więcej i zyskuje na wartości, grając w drużynie z najgorszymi osiągnięciami lub najlepszymi? Moja odpowiedź: nie tylko są bardziej wartościowi, grając dla najlepszych drużyn, ale prawdopodobnie wybrali najlepsze praktyki i wiedzę oraz uniknęli praktyk i postaw kończących karierę.
Istnieje wiele okropnych kodów anty-wzorcowych, które faktycznie działają dla firmy i wypłacają wiele pensji dla programistów. Proponuję, aby programista, który nie widział wystarczająco dużo kodu wykonanego „we właściwy sposób”, może pomylić kod anty-wzorcowy z uzasadnionym rozwiązaniem problemu. Firma może powiedzieć, że to rozwiązanie działa, ale nie jest to takie, którego chcesz w CV, ani takie, którym możesz pochwalić się innym programistom. Ma to również znaczenie tylko wtedy, gdy twoja osobista ścieżka rozwoju obejmuje zdobycie szacunku wśród inżynierów, a nie tylko tymczasowe zwiększenie dochodu w jakiejkolwiek firmie, dla której pracujesz (Brzmi źle, ale ostatecznie najlepsza inżynieria absolutnie robi najwięcej pieniędzy IMO) .
Niestety, zanim ujawni się dług technologiczny, może upłynąć dużo czasu i dużo czasu. Dług technologiczny jest zwykle rozpoznawany dokładnie wtedy, gdy jest już za późno. Ktokolwiek próbował wcześniej powstrzymać dług technologiczny lub anty-wzorce, mógł zostać odsunięty na bok z powodu postrzeganego dodatkowego kosztu lub braku zrozumienia efektu skalowalności. Naszym obowiązkiem jako inżynierów jest natychmiastowe ujawnienie długu technologicznego. Projekty bez doświadczonych inżynierów są w pewnym momencie zagrożone uderzeniem w ścianę z cegieł, właściwie wszystkie projekty nawet z utalentowanymi twórcami. Większość firm uważa, że „w pewnym momencie” jest dużo czasu, aby to naprawić później. To sprawia, że wybór pracy dla przyszłych deweloperów jest bardzo skomplikowaną sprawą. Wskazuje także na zupełnie inne cele i sposób myślenia programistów i firm oraz na to, jak skomplikowane jest wypełnienie luki.
Celem inżynierów jest „uwzględnienie” prawdziwej pracy naukowej i rozważenie projektu, podczas gdy celem biznesu jest „wykluczenie” niepotrzebnych kosztów i czasu. Ponieważ inżynierowie często nie wiedzą, jaki jest poziom wysiłku i czasu, dopóki stan końcowy nie zostanie faktycznie osiągnięty, tworzenie oprogramowania przebiega jak każdy dobry dramat z postaciami zwinnymi, scrumowymi i kanban odgrywającymi główne role.
Jednym wyjściem może być trzymanie się z dala od złego kodu, dopóki nie zobaczysz wystarczającej ilości dobrego kodu, aby nie zostać „zepsutym”. Uwielbiam powiedzenie, że starsi programiści tworzą proste rozwiązania skomplikowanych problemów. Podobnie mądrzy, młodsi programiści średniego poziomu tworzą kompleksowe rozwiązania prostych i złożonych problemów.
Innym problemem może być to, że musisz pracować nad dobrym ORAZ złym kodem w różnych punktach, aby uzyskać zrozumienie. Jeśli tego nie zrobiłeś, to idź na całość i przygotuj się na oduczenie wszystkiego, gdy znajdziesz lepszy system. Myślę, że jest to prawdopodobnie bardziej powszechna trajektoria dla większości programistów.
W tym roku jestem stronniczy, ponieważ mam wrażenie, że wspinam się na niezwykle skomplikowaną górę „tajnego sosu”. Chociaż zwiększę moją zdolność do rozszyfrowywania niektórych z najgorszych wzorów, jakie kiedykolwiek widziałem, jest to tak „niestandardowe” i „jednorazowe”, że nie wierzę, że moja walka zwiększy moją zbywalność lub umiejętności przydatne w mojej przyszłości.
Aby zachować zdrowie psychiczne, po prostu chodzę w stałym tempie i akceptuję każdy blok drogowy jako normę dla kursu. Po przejrzeniu moich rocznych celów z moim szefem, które obejmują wykopanie tej dziury, myślę, że może to być wspinaczka ofiarna. Mógłbym przetrwać ten proces ze złymi recenzjami i odczuwaną powolnością. To realistyczne i przejmujące ostrzeżenie dla tych, którzy zastanawiają się, jaką pracę podjąć.
Uwaga: Ten post będzie istniał znacznie dłużej niż moje opinie, więc weź go z odrobiną soli. Jutro mogę pokochać starszy kod! (Wątpię).