Кто виноват в посредственности софта? В мире разработки царит странный парадокс. Программы становятся больше, технологии — сложнее, а вот результат всё чаще разочаровывает. Функционал нарезан по принципу «минимально жизнеспособного продукта», интерфейсы кривые, а пользователи с ностальгией вспоминают софт нацатитилетней давности. В чём же причина? Всё просто: власть над кодом и архитектурой тихой сапой перешла от тех, кто создаёт, к тем, кто контролирует и управляет. до того как все хотели войти в АйТи Было время, когда программиста не окружал сонм рыбок прилипал, программист был инженером, архитектором и художником в одном лице. Он получал задачу «сделать» и сам решал, какой протокол использовать, как организовать базу данных, как выстроить архитектуру для масштабирования. Результатом были монолиты, может, и не идеальные, но цельные, мощные и с богатым функционалом. Сегодня эта модель объявлена устаревшей и неэффективной.

диктатура Багов Тестировщик из помощника, находившего узкие места, превратился в надзирателя. Его главный и часто единственный KPI — количество найденных багов и процент «успешных» проходов тест-кейсов. Приоритет стабильности над инновациями. Любое нетривиальное решение, любая попытка использовать новую библиотеку или подход упирается в стену из сотен тест-кейсов. «Это ломает 15 регрессионных тестов, — говорят тестировщики. — Верните как было». Культ «Зелёного билда». Сборка должна быть «зелёной» любой ценой. Программист тратит дни не на то, чтобы сделать умную фичу, а на то, чтобы уговорить автоматические тесты пропустить его код. Вместо элегантного решения пишется костыль, который «проходит тесты», но от которого потом будут плавать все, кто будет поддерживать код. Отсутствие видения продукта. Тестировщик мыслит категориями «соответствия спецификации», а не «удовольствия пользователя». Ему всё равно, что фича бесполезна — главное, чтобы кнопка была именно 40х40 пикселей и проходила контрастность по WCAG. Код становится безопасным, предсказуемым и абсолютно безликим. В нём нет души, потому что на душу нет тест-кейса.

тиски Бюджета и Сроков Project Manager, Product Owner, Delivery Manager — их власть абсолютна и основана на таблицах Excel и графиках в Jira. Декомпозиция до абсурда. Задача разбивается на 50 микрозадач: «создать модель A», «написать API метод B», «добавить кнопку C». Программист превращается в винтик, выполняющий одну микрооперацию. Ему не видна общая картина, не понятна цель. Он просто ставит галочку. MVP как приговор. Minimum Viable Product — прекрасная идея, извращённая до неузнаваемости. Теперь это оправдание для того, чтобы выпустить «сырой» и урезанный продукт. «Это попадёт в версию 2.0», — обещает менеджер. Но версии 2.0 никогда не будет, потому что все ресурсы уйдут на поддержку и латание дыр версии 1.0. Фетишизация дедлайнов. «Выкатываем в пятницу, без вариантов». Под этим лозунгом в код вливаются тонны «временных решений», которые становятся постоянными. Архитектурные долги копятся, технический долг растёт, а программисту запрещают тратить время на рефакторинг — «это не видно бизнесу». Продукт выходит в срок. Ровно в тот срок, когда он уже морально устарел. болото посредственности Когда творцов заставляют работать по инструкциям контролёров и бухгалтеров, результат предсказуем. Падение качества архитектуры. Программист, лишённый права голоса, перестаёт «чувствовать» код. Он не отстаивает красивые решения, потому что это «долго» и «рискованно». Он пишет как велят. Исчезновение нужного функционала. Пользователь хочет одним кликом решить свою проблему. Но менеджер видит, что для этого нужно делать 5 задач по 20 спринтов, и решает, что проще добавить ещё одно поле ввода в существующую форму. Полезность продукта стремится к нулю. Демотивация и выгорание. Талантливые разработчики уходят из таких проектов. Остаются те, кого устраивает роль «кодера на конвейере». Исчезает магия созидания, а с ней и гениальные прорывы. #it