Как я разнес код интегратора и поплатился
В период моей работы в агрохолдинге нам поставили задачу внедрить 1С:УПП. Экспертизы не хватало, пригласили внедренцев. Нашли крупного интегратора, заключили договор.
Довелось поработать с группой во главе с Надеждой — хороший специалист. С ней работал опытный разработчик и Александра — отличный аналитик, которая только начинала пробовать себя в разработке.
Мне поставили задачу контролировать код. Тогда в 1С не было тестов и devops. Всё ручками. Ну а я же максималист / правдоруб 🙂
Открываю конфигуратор и погнали. С первых строчек стало не очень... Открыл Word, начал добавлять замечания. Пункты перевалили за 20. Запросы в цикле, мёртвый код, обилие закомментированных кусков.
В конце написал:
Вы крупный интегратор, вы занимаетесь автоматизацией и обслуживаете крупных клиентов. Непозволительно использовать в продакшн такой код. Это непрофессионально.Сейчас бы я так никогда не сделал. Я бы встретился с руководителем, обсудил, поговорил. Попытался бы оценить насколько там вменяемый человек и после этого принял бы решение как быть дальше. Идти к руководству, или мы бы поговорили и они бы исправили все замечания — и дело с концом.
Но тогда я не видел проблемы. Искренне думал: раз наша компания платит (немалые деньги), то я, как представитель заказчика, имею полное право требовать от исполнителей качества.
Эх, что после моих последних строк началось! Надежда была в ярости:
Виталий! Александра написала заявление на увольнение — это она делала этот код! Зачем ты так написал?! Что теперь делать с внедрением? Человек плачет, хочет уволиться. Она преподавала, но решила пойти в разработку, а ты так унизительно отозвался о её профессиональных качествах.Я тоже не остался в долгу и спросил зачем они поставили писать код человека, который совсем нулевой? Почему опытный разработчик, который был с ними в команде, не провёл своё ревью? Мы разругались тогда с ней очень серьёзно. Вплоть до того, что потом не разговаривали.
А дальше опытный разработчик с их стороны всё поправил и проект поехал дальше. Но шёл с огромным скрипом. А через время я уволился.
Всё было бы просто, если бы это был конец истории. Но нет.
Супруга общалась с коллегой Ириной. Муж и жена — одна сатана, мы познакомились, завязалось общение. Через время Ира родила дочь и решила покрестить. Позвала меня крёстным. Спросил, кто будет крёстной — внятного ответа не получил. Чувствуете куда катится история? )))
День крещения — та-да-ам! Надежда будет крёстной! Стоим и смотрим друг на друга. Немая пауза: «ты что здесь делаешь?» 🙂
Всё обошлось. Время и неловкость сбили негатив.
К чему история? ИТ-мир тесный. Земля круглая. Сегодня разносишь чей-то код, а через пару лет стоишь с этим человеком у купели.
После той ситуации я стал по-другому подходить к ревью. Не то чтобы стал добрее — просто понял, что за каждым куском кода стоит живой человек. Можно написать "запрос в цикле, исправить" — и получить тот же результат. А можно написать "непрофессионально" — и получить заявление на увольнение и испорченные отношения на годы.
Если вижу слабый код от подрядчика, стараюсь сначала поговорить с руководителем. Обсудить, понять контекст. Замечания — к коду, не к человеку. Звучит банально, но мне потребовался скандал и случайная встреча на крестинах, чтобы это до меня дошло.
Post #79
134

- 🔥 4
- 👍 1