Когда изучаешь, как делать код, как строить проекты, ты всегда изучаешь лучшие практики. Красивая структура, соблюдение солид, все дела.



Но на реальной работе, реальные проекты - там все не так. Обычно там страшное говно и легаси.



Это нормально, так и должно быть.



Тут как с политическими идеями. Нужен идеал, к которому следует стремиться, но настоящий проект никогда не будет идеальным.



Вот условно, у меня на работе сейчас есть проект мобильных приложений на Xamarin. Там страшный говнокод, хотя мы делаем его всего год.



Я сам обычно перфекционист, и по идее, мог и должен был приложить все усилия, чтобы выдержать высокий градус чистоты кодовой базы.



Но я сознательно забил хуй. У нас стартап, мы делаем по сути МВП, всё постоянно меняется, большие куски проекта выкидываются или переписываются.



В таких условиях писать высококачественный код - сизифов труд.



Проблемы начнутся, когда и если мы выйдем на рынок, и продукт выстрелит. Тогда я, как самый главный технический чувак, продавлю идею, что нам все надо переписать, и тогда все будет супер. А если не продавлю - нам пиздец. Все, кто потом будут работать над этим проектом - утонут.



Но у нас-то маленький стартап. Наш проект действительно можно будет нормально переписать за пару месяцев.



Но самые мощные проекты в индустрии - они не такие. Это фейсбуки, амазоны, Windows и всё такое.



Их не перепишешь. В итоге, самая амбициозная работа в индустрии - это всегда работа с адовейшим легаси.



Типа, по-другому и быть не могло. И настоящий скил программиста - это, зная все лучшие практики, работать именно над таким вот говнокодом. И работать хорошо.