Про инженерию
Давайте сдуем пыль с этой старой статьи про классификацию программистов: https://habr.com/ru/articles/135865/. С момента её публикации прошло 13 лет — технологии сменились, появился вайбкодинг, но статья до сих пор остаётся актуальной.
Листая джоб-борды, часто натыкаешься на вакансии с названиями вроде "Senior Django Developer". Звучит так, будто человек должен быть опытным, но только в рамках одной конкретной технологии и языка программирования. А если завтра будет другой стек или другой язык?
Компания, нанимая такого узкоспециализированного специалиста, начинает зависеть от выбранного стека, теряя гибкость. А специалист, зацикленный на одном инструменте, оказывается в профессиональном тупике и постепенно теряет свою ценность на рынке.
А еще я сталкивался с ситуациями, когда разработчик не реализует очевидный и важный функционал — например, связанный с безопасностью — просто потому, что его не описал системный аналитик в ТЗ. Разработчик в такой ситуации превращается в code monkey, бездумно переводящего текст ТЗ в код. В такие моменты становится особенно ясно, что в этом процессе что-то не так.
Инженерия — это не про фреймворки и не про бездумный набор кода по инструкции сверху. Это про способность видеть систему целиком, нести ответственность за результат и создавать решения под ключ. Настоящий инженер выходит за рамки «вот тебе ТЗ, делай»: он умеет задать правильные вопросы, спроектировать архитектуру, спланировать свою работу и работу команды, выбрать подходящие технологии и довести всё до работающего решения.
Сегодня ты используешь python и Django, завтра Go, послезавтра Rust. Если ты инженер — это не имеет значения.