Не инженер, если просто закрываешь таски

#dev
#engineer

Термин «инженер» со временем стал размытым. Часто им называют человека, который просто стабильно закрывает задачи в {task_tracker_name}. Грань между senior разработчиком и инженером проходит там, где человек начинает видеть за кодом систему и деньги бизнеса.

TL;DR

Инженер не боится говорить «нет» лишним фичам, думает о рисках, стабильности и цене решений для бизнеса. Чем выше предотвращаемые риски, тем выше ценность и зарплата.

p.s можете скипнуть пост, далее тоже самое но чуть подробнее

ТЗ — иллюзия определенности

Senior разработчик существует в мире определенности. Его работа — трансляция требований на язык машины. Если в требованиях заложена логическая бомба, разработчик её реализует.

Инженер иногда решает проблему бизнеса вопреки "хотелкам" самого бизнеса. Проблема в том, что бизнес часто сам не знает, что ему нужно. Умение сказать «нет» бессмысленной фиче — это скилл, который экономит компании сотни тысяч долларов на поддержку того, что вообще не должно было существовать.

Часто лучшее инженерное решение — не писать код вовсе, а изменить процесс или отказаться от фичи, если она противоречит физике системы.

Про техдолг и какой инструмент "круче"

Senior разработчик часто ищет "серебряную пулю" и заложник "лучших практик". Он будет пихать clean architecture и паттерны в код, который проживет недолго или вообще не дойдет до продакшена. Формально всё правильно, но по факту — лишняя сложность без реальной ценности.

Бизнесу всё равно на чистоту кода по книжке и на самую модную либу с красивым лендингом. Бизнесу важно, чтобы новые фичи доставляли как можно быстрее не ломая старые, вопрос масштабирования и целостность данных.

Любая написанная строка кода — это технический долг. Инженер думает, как минимизировать ущерб от внедрения решения и честно объясняет бизнесу, за что придётся платить. Чем более дорогие и фатальные риски вы способны контролировать, тем выше ваша ценность.