Удивительное количество проблем с качеством, масштабируемостью и нагрузкой возникло в приложении, которое я в настоящее время поддерживаю и которое я изначально не писал. К счастью, у меня есть новые проекты, которые я делал с нуля, чтобы сохранить некоторое подобие моего здравомыслия.
Первоначальная команда состояла из 20 разработчиков (большинство из них с устаревшими наборами навыков), без документов о требованиях к бизнесу или с тестерами по обеспечению качества, и с самого начала плохо управлялась водопадным способом. Первые дни производства были неловким кошмаром, который включал исправление хрупкого процедурного кода с еще более хрупкими исправлениями. Позже были добавлены функции, которые были забиты кувалдой в модель данных, которая никогда не предназначалась для их поддержки, и нередко можно увидеть, как один и тот же код дублируется 10 раз, и увидеть, как ресурсы не закрываются безопасным образом, и запросы ORM, которые выбирают десятки тысяч объектов, просто выбросить все, кроме горстки.
Теперь только я, и каждый раз, когда возникает новая проблема, я переписываю модуль в соответствии с более высокими стандартами и делаю его НАМНОГО более стабильным, но руководству необходимо надлежащее объяснение того, почему все это происходит.
Они кажутся шокированными и озадаченными тем, что это приложение некачественное и затягивает технические долги. К счастью, они понимают концепцию технического долга и поддерживают меня в моем стремлении искоренить его, и они очень меня поддерживают и благодарят, но мне кажется, что я просто продолжаю обвинять оригинальную команду (которая все оставила, чтобы разрушить другой проект в другом проекте). деление).
Суть в том, что я не хочу быть «тем парнем», который всегда жалуется на разработчиков проекта до него. Я видел такое отношение раньше от людей в моей карьере, которые лично я чувствовал, что они неосведомлены и не учитывают обстоятельства и влияние дизайна, которые побуждают вещи быть такими, какими они были.
Обычно я вижу такую позицию обвинения предыдущей команды в плохом дизайне и реализации со стороны идеалистических младших разработчиков, у которых не было жизненного опыта, который был у более старших членов и которые были им полезны.
Считаете ли вы, что есть лучший способ, возможно, более мягкий способ сообщения о таких проблемах руководству без ущерба для репутации человека / команды до вас?
bad-code
потому что код действительно вызывает ошибки и проблемы. Я назвал это, bad-programmer
потому что я боюсь, что я становлюсь единым целым, обвиняя предыдущую команду, усталое и штампованное оправдание, которое мы все слышали раньше. Что касается первых трех абзацев, возможно, мне не нужно было описывать это, но я хотел нарисовать точную картину моей непосредственной ситуации и рассказать историю того, что я собрал до сих пор.