Legacy может означать что угодно, но на основании вашего «не очень хорошо написанного» комментария, я собираюсь предположить, что Legacy означает «плохие» или, по крайней мере, «устаревшие» технологии и шаблоны. Если унаследованный код хорош, не сдерживайтесь и изучайте каждую его строку.
Я не думаю, что есть достаточно четких предупреждений против видов работ и проектов, которые отвлекают вашу карьеру и заставляют вас застрять в бесполезных провалах в этой теме на сегодняшний день.
Предупреждение о спортивной аналогии: Как вы думаете, покровитель в НФЛ учится больше и становится более ценным, играя в команде с худшим результатом или лучшим? Мой ответ: они не только более ценны, играя за лучшие команды, но, вероятно, они подобрали лучшие практики и знания и избежали выбора методов и подходов, заканчивающих карьеру.
Существует множество ужасных анти-шаблонных кодов, которые действительно работают для бизнеса и платят много зарплат разработчиков. Я предлагаю, чтобы разработчик, который не видел достаточного количества кода, сделанного «правильным» способом, мог принять код анти-паттерна за законное решение проблемы. Компания может сказать, что решение работает, но это не то, что вам нужно в вашем резюме, или то, чем вы бы похвастались перед другими разработчиками. Это также актуально только в том случае, если ваш личный путь роста включает в себя завоевание уважения ваших коллег-инженеров, а не только временное увеличение дохода любой компании, в которой вы работаете (звучит плохо, но, в конце концов, лучший инжиниринг абсолютно приносит больше денег IMO) ,
К сожалению, есть много кода и много времени, которое может пройти, прежде чем технический долг будет выявлен. И этот технический долг обычно признается именно тогда, когда уже слишком поздно. Кто бы ни пытался остановить технологический долг или анти-паттерны раньше, он мог оказаться в стороне из-за предполагаемых дополнительных затрат или отсутствия понимания масштабируемости и т. Д. Наш долг как инженеров состоит в том, чтобы немедленно разоблачить технологический долг. Проекты без опытных инженеров в какой-то момент находятся под угрозой удара кирпичной стены, фактически все проекты даже с талантливыми разработчиками. Большинство компаний рассматривают «некоторую точку» как достаточно времени, чтобы исправить это позже. Это делает выбор работы для начинающих разработчиков очень сложным делом. В нем также указываются совершенно разные цели и установки между разработчиками и предприятиями, а также то, насколько сложно преодолеть этот разрыв.
Задача инженеров - «включить» реальную научную работу и дизайн, а цель бизнеса - «исключить» ненужные затраты и время. Поскольку инженеры часто не знают, каков уровень усилий и времени, пока конечное состояние фактически не будет выполнено, разработка программного обеспечения разыгрывается как любая хорошая драма с такими персонажами, как agile, scrum и kanban, играющими главные роли.
Один из вариантов может заключаться в том, чтобы держаться подальше от плохого кода, пока вы не увидите достаточно хорошего кода, чтобы не быть «испорченным». Мне нравится высказывание, что старшие разработчики создают простые решения сложных проблем. Как и прежде, разработчики младшего и среднего уровня создают сложные решения для простых и сложных задач.
Другим недостатком может быть то, что вам нужно работать над хорошим И плохим кодом в разных точках, чтобы получить понимание. Если вы не сделали ни того, ни другого, тогда сделайте это и будьте готовы отучиться от всего этого, когда столкнетесь с лучшей системой. Я думаю, что это, вероятно, более распространенная траектория для большинства разработчиков.
В этом году я предвзят, потому что чувствую, что взбираюсь на чрезвычайно сложную гору «секретного соуса». В то время как я увеличу свою способность расшифровывать некоторые из худших паттернов, которые я когда-либо видел, это настолько «обычай» и «один раз», что я не верю, что моя борьба увеличит мою конкурентоспособность или мой полезный набор навыков в моем будущем.
Чтобы сохранить свое здравомыслие, я просто пыхтаю в устойчивом темпе и обнимаю каждый блок дороги как нормальный курс. Я только что рассмотрел мои ежегодные цели с моим боссом, которые включают в себя выкопание из этой дыры в наследство, я думаю, что это может быть жертвенное восхождение. Я мог бы пережить этот процесс с плохими отзывами и ощутимой медлительностью. Это реалистичное предупреждение для тех из вас, кто интересуется, какую работу выбрать.
Отказ от ответственности: Этот пост будет жить намного дольше, чем мое мнение, поэтому возьмите его с собой. Завтра я могу полюбить старый код! (Сомневаюсь).