Взгляд архитектора софта на проблемы, которые не решаются кодом

Если бы мне лет 15 назад сказали, что я буду писать про корпоративную культуру и культуру управления, я бы сильно удивился. Скорее всего, подумал бы: «Какая ещё культура? Я разработчик софта в IT-компании. Нужно код шарашить и алгоритмы разрабатывать. А ещё нужно много размышлять и анализировать, потому что тогда код получается значительно лучше и алгоритмы эффективнее».
О культуре я тогда точно не думал. Теперь понимаю: это оттого, что я изначально попал в компанию с очень хорошим корпоративным климатом. И сравнивать этот климат мне тогда было не с чем. Однако позже я узнал, что может быть и по-другому: сильно по-другому и сильно хуже. Теперь я хоть и остаюсь во многом технарём, но считаю, что технологии разработки, инструменты разработки, алгоритмы – это всё вторично. Создайте здоровый корпоративный климат, создайте эффективную культуру разработки – и вы получите производительный понятный код без багов, причём вовремя. И при этом он будет ещё и правильную задачу решать (а не ту, которую кто-то додумал на основе того, что кому-то приснилось). Впрочем, будем откровенны: этих идеалов вы никогда не достигните, но хотя бы максимально приблизитесь к ним.
Итак, сегодня про культуру.
В этой статье не будет стройного последовательного изложения. Скорее, это будет набор «этюдов», несильно связанных между собой, но ложащихся на общую глобальную тему.
Мысли, которые немного – или сильно – в стороне от генеральной темы, буду убирать под спойлеры (разворачиваемые блоки).
Поехали!
Сотрудник – не собственность менеджера
Думаю, в любой крупной компании можно найти отдельных персонажей, которые считают себя «хозяевами» сотрудников, вверенных им в управление. Однако существуют компании, где собственничество по отношению к сотрудникам насколько распространено, что стало частью корпоративной культуры. Знаю даже одну транснациональную корпорацию, в которой работают десятки тысяч сотрудников и в которой была построена такая антикультура.
Вот реальная история из этой корпорации. Мне посчастливилось (или не посчастливилось) наблюдать её со стороны.
Подходит как-то один разработчик уровня «эксперт» к ещё одному разработчику уровня «эксперт» из другой команды, чтобы обсудить особенности реализации огромного монолитного приложения, от запутанности которого страдает примерно половина всей разработки софта в компании.
Эксперты
«Экспертами» я здесь называю технических специалистов, должность которых на ступеньку выше «старших» – то есть senior – инженеров
Минут через 10 в их разговор вмешивается менеджер второго разработчика, сидевший неподалёку. Причём это был менеджер второго звена, то есть «старший менеджер». И он обращается к первому «эксперту»:
— Не отвлекай его. Поговори, лучше, со мной. Он важным делом занят.
Помню, когда я это услышал, мне показалось, что я то ли сплю, то ли в злую сказку попал.
Первый разработчик, может, и рад был бы обсудить серьезные технические проблемы с тем менеджером, но тот ничего в них не понимал.
Менеджер будто заявил: «Его время ценно, а моё ничего не стоит». Впрочем, если бы он так прямо и сказал, то оказался бы близок к истине: в той компании было какое-то фантастическое количество директоров и прочих начальников на душу населения. Отношение количества директоров к общему количеству сотрудников, насколько мне известно, там и сейчас растёт.
Хороший менеджер знает, что сотрудник ему не принадлежит. Более того: менеджер не распоряжается временем сотрудника. Неужели два сотрудника уровня «эксперт» не смогут сообразить, как им правильно распорядиться своим временем?
У сотрудника есть согласованные с менеджером цели, и это дело сотрудника, как он будет их достигать. Дело менеджера – вовремя помогать, если этой помощи просят; давать людям понять, что они могут безопасно и с пользой обращаться за помощью; поощрять или наказывать по итогам выполненной или невыполненной вовремя работы. А вот водить сотрудников за ручку – идея плохая. Излишняя властность и гиперконтроль работают против эффективности и креативности.
Хороший самостоятельный разработчик сам решает, на что ему тратить свое рабочее время. Да, он не мгновенно обучается эффективно распоряжаться своим временем. В начале профессионального пути он может проболтать с коллегами неделю напролёт и не достичь каких-то краткосрочных целей. И он получит «втык» по факту невыполненной работы. Однако при этом он, в итоге, научится так использовать своё рабочее время, чтобы планы, согласованные с менеджером, выполнялись.

Про своевременность «втыка»
Кстати, со втыком лучше не ждать до конца года и начала годовой аттестации, как это любят некоторые менеджеры. Втык желательно выдать по итогам «продолбанной» недели. А то есть менеджеры-любители молчать весь год, а потом в конце года обрушиваться на сотрудника, лишая его премии, повышения и прочих плюшек. Для таких горе-руководителей главное продемонстрировать власть, а не выстроить эффективную работу, от которой люди ещё и удовольствие будут получать. Если сотрудник не получает негативной обратной связи в течение года, он в праве предположить, что делает всё правильно. Поэтому если в конце года его менеджер заявляет, что хочет с ним расстаться, или лишает его премии, то расставаться – или лишать премии – нужно в первую очередь самого менеджера. Ибо с персоналом необходимо работать в течение всего года, а не мстить сотрудникам в самом его конце.
Знавал я даже одного директора, который не давал сотрудникам отрицательной обратной связи в течение года, а по итогам годовой аттестации ошарашивал некоторых из них лишением всех бонусов и повышений. Когда пострадавший сотрудник искренне удивлялся такому результату, директор говорил ему следующее: «Ну а что ты хочешь? Ты сам не просил у меня обратной связи в течение года. К тому же ни разу не рассказывал мне, как видишь свой карьерный рост в нашей компании».
Просто прелестно! Мне искренне жаль сотрудников, у которых такие управленцы. Так это не работает… Это обязанность управленцев инициативно давать обратную связь сотрудникам и помогать определяться с направлением их развития в компании. Сотрудник может даже и не до конца представлять – или вообще не представлять – как он видит свой ближайший карьерный путь. Задача управленца – помочь ему в этом разобраться.
Совет сотрудникам, которые неожиданно для себя получили подобную «месть» по итогам года: идите к HR-директору и менеджеру своего менеджера. Говорите, что впервые услышали о недовольстве своего руководителя только во время годовой аттестации. Хороший менеджер должен быть в состоянии доказать, что предоставлял вам негативную обратную связь в течение года. Например, он сможет документально подтвердить, что регулярно с вами общался, а после общения присылал вам письмо с кратким содержанием разговора и согласованным с вами планом действий по итогам этого разговора. Если менеджер таких артефактов предоставить не в состоянии, то здесь уже совет HR-ам и вышестоящему менеджменту: основательно поработать с такими «руководителями». Ибо это пока ещё не полноценные руководители, а властные мстительные «князьки»
В компаниях, где поощряются прямые горизонтальные связи между сотрудниками (а не через цепочку менеджеров, которые решают, на какую тему можно общаться, на какую – нет), новые успешные проекты часто рождаются за кофе в коридоре или во время разговоров у рабочих столов. А вот в той корпорации, пример которой я привёл выше, что-то новое рождается очень натужно и очень редко. Также там бешеная текучка кадров. Впрочем, высокопоставленный менеджмент – который там, кстати, не меняется десятилетиями – нашёл удобный для себя способ объяснить эту текучку: «Сейчас мир очень динамичный. Люди не сидят на одном месте. Сильная текучка – это нормально».
«И в дальний путь на долгие года»...
Ну или хотя бы на пару-тройку лет…
С одной стороны, верно то, что текучка кадров стала выше. До пенсии сейчас в одной компании не работают. С другой стороны, любой текучке есть предел – предел, ниже которого начинает сильно снижаться эффективность работы. Интерес компании-то всё-таки не в текучке. Компания заинтересована в противоположном. Ей выгодно выстраивание относительно долгосрочных отношений (слишком долгосрочные, кстати, могут быть уже невыгодны). Сотрудник приносит больше пользы, если хорошо осведомлён о нюансах бизнеса. А на их изучение нужно время. Также если сотрудник не намерен надолго оставаться в компании, то у него нет стимулов что-то делать хорошо и делать что-то на перспективу. «Буду делать только то, что можно продемонстрировать на аттестации в конце года. А через два года меня здесь, возможно, уже не будет». В итоге, люди меньше вкладываются, например, в автоматизацию. Автоматизация требует усилий и времени, которые окупятся в среднесрочной перспективе, а на горизонте нескольких месяцев может оказаться проще и быстрее поработать руками.
Ещё пример на тему менеджерского собственничества. Каждый раз, когда в одной транснациональной корпорации появляется новый сотрудник, его менеджер объявляет об этом с помощью e-mail рассылки по сотрудникам соответствующего департамента (а это сотни человек). Какой бы менеджер в каком бы департаменте ни написал такое письмо, в нём неизменно есть следующие слова: “Vasya Pupkin reports directly to me”. То есть «Вася Пупкин подчиняется напрямую мне». Ну или если вдруг не напрямую, то описывается тот способ подчинения, который справедлив в отношении Васи Пупкина. (Вася Пупкин – это имя нового сотрудника. Если его зовут не Вася Пупкин, то будет другое имя, конечно же).
Признаться, это единственная известная мне компания, где при найме каждого сотрудника делается акцент на том, кому он принадлежит подчиняется. В компаниях со здоровой корпоративной культурой про подчинение кого-то кому-то почти никогда не говорят. Вместо этого говорят о принадлежности к какой-то команде. Например, в рассылке о найме сотрудника будет сказано, что «У нас в такой-то команде появился Вася Пупкин. Прошу любить и жаловать. В ближайших планах Васи то-то и то. И т.д и т.п.» Узнать же менеджера Васи Пупкина или Люси Тапочкиной, если вдруг понадобится, всегда можно через корпоративные системы, в которых есть доступ к оргструктуре (Outlook, Workday и тому подобное).
«Бизнес хочет»
Обожаю эту фразу. Уверен, очень многие её неоднократно слышали.
Фраза из заголовка – это про ещё один симптом нездоровой корпоративной культуры – про манипулятивный менеджмент.

Вообще говоря, в некоторых манипуляциях нет ничего плохого. Очень много хорошего в мире происходит благодаря манипуляциям. Но для этого манипуляции должны быть в интересах всех вовлечённых сторон или, как минимум, в интересах тех, кем манипулируют. Причём эти интересы должны быть открытым текстом декларированы. Не должно быть такого, что кто-то один решил, будто он «несёт всем добро», и начал это добро активно «причинять», даже не удосужившись узнать чего хотят остальные. Так вот: хорошие руководители практикуют только позитивные манипуляции.
Но есть манипуляции «грязные», которые совершаются исключительно в интересах манипулятора и противоречат интересам остальных сторон. В некоторых конторах такие манипуляции – обычное дело. Начинаются они с менеджмента высокого звена, но постепенно спускаются ниже, «узакониваясь» как часть негласной корпоративной культуры. Приведу несколько примеров.
В последнее время во многих крупных компаниях стали привычными фразы «бизнесу надо», «бизнес хочет». Так вот… у этого «бизнеса», который «хочет», всегда есть имя и фамилия. Почти всегда это один-единственный человек. Чаще всего из маркетинга или продаж. Например, старший директор или вице-президент по продажам. Соответственно, в компаниях, где хорошо прижилась фраза «бизнес хочет», позиции сэйлов и маркетологов неоправданно сильны, а позиции разработчиков наоборот чрезмерно слабы. Ибо если старший директор по продажам объявил себя «бизнесом» (и все вокруг в это поверили), то подразумевается, что всем остальным надо бежать и беспрекословно исполнять то, что он скажет/закажет. Потому что это «бизнесу» надо. То есть масштабной структуре, а не одному-единственному человеку.
Если же во фразе «бизнес хочет» всегда заменять слово «бизнес» на имя конкретного человека – «Вася Пупкин хочет» – то получатся совсем другие дискуссии. Из них пропадёт оттенок безапелляционности. Потому что когда «бизнес хочет», то здесь вообще не до оценок и не до дискуссий; надо просто пулей нестись и исполнять, иначе бизнесу капец…
Если Вася Пупкин в контексте конкретного обсуждения становится «бизнесом», то получается, что все остальные, вроде как, не имеют к бизнесу вообще никакого отношения. В этом и есть суть данной манипуляции: придать вес интересу Васи Пупкина, а все другие интересы вынести за скобки – они уже, вроде как, не от «бизнеса» получаются.
«Бизнес хочет» – это хоть и грязная манипуляция, но достаточно умелая. Поэтому она и прижилась так широко. А вот пример грязной, но менее умелой манипуляции.
Попросили меня как-то помочь одному проекту. В одном из подразделений компании, в которой я тогда работал, трудились над запуском нового продукта. Два года сотрудники этого подразделения делали экспериментальную версию этого продукта. Как и полагается экспериментальной версии, сделана она была из говна и палок. Это нормально, так и должно быть с экспериментальными версиями. Вот только параллельно не велось никаких работ по архитектуре конечного продукта.
И получилось так, что всего за полгода до выхода конечного продукта в природе существовала только экспериментальная версия, а для продуктовой версии не было даже высокоуровневого дизайна. Меня позвали, чтобы разработать детальную архитектуру конечного решения. То есть даже не то, чтобы позвали… Я на тот момент работал в другом подразделении и над другими продуктами. Так вот: мне предписали поставить на паузу мои текущие работы и прикомандировали к подразделению, разрабатывавшему тот самый новый продукт.
Полгода – это был срок, за который предстояло выработать конечную архитектуру, согласовать со всеми заинтересованными сторонами, а потом ещё и проследить, чтобы она успешно дошла до реализации в продакшене. Когда я взглянул на состояние дел, у меня челюсть отвисла. Я попытался убедить руководителя разработки в новом для меня подразделении выторговать у вышестоящего начальства ещё хотя бы пару дополнительных месяцев на всё про всё. Никуда торговаться он, конечно, не пошёл. Потому что он уже два года занимался новым продуктом, и ему просто-напросто сказали бы, что раз у него за это время созрело только экспериментальное решение, то это его собственные проблемы. Ещё бы и добавили, что двух лет для параллельного проектирования конечного продукта было предостаточно. И поспорить с этим было бы сложно…
И вот на мои возражения о том, что за полгода спроектировать и реализовать конечный продукт почти нереально, руководитель разработки заявляет:
— Слушай, есть немасштабируемое решение [это он имел в виду экспериментальную версию, сильно зависящую от ручных операций]. В чём проблема сделать из него масштабируемое решение [то есть полностью автоматическое, с пропускной способностью в сотни тысяч раз выше, чем ручное]?
Действительно, в чём проблема? Где здесь манипуляция? Звучит так, будто всё уже есть. Остаётся только внести «маааалюсенький» такой штрих. Но есть одно маааалюсенькое «но».
Думаю, не ошибусь, если скажу, что львиная доля IT-проектов в коммерческих компаниях так или иначе связаны с масштабированием бизнес-операций. Даже создание или внедрение современной системы управления базами данных можно рассматривать как масштабируемое решение на замену ручным записям в общую табличку в общей тетрадочке. История любой успешной компании – это история масштабирования бизнеса. В той компании, в которой я тогда работал, первые заказы руками заносились в электронные таблички, а затем вручную же исполнялись на производстве. С тех пор масштаб бизнеса увеличился в десятки тысяч раз. И конечно же, такое колоссальное расширение бизнеса никогда бы не случилось с тем ручным процессом, с которого всё когда-то началось. Успех был построен на множестве автоматизированных систем, интегрированных друг с другом. А на разработку этих систем ушли десятки лет. Так что масштабирование операций – это вовсе не простая задача. И это, кстати, справедливо не только для ручных операций, но часто также для тех, которые были автоматизированными изначально, однако не были рассчитаны на высокую пропускную способность.
Как бы там ни было, проект надо было спасать. И мы вместе со многими хорошими людьми его спасли ценой своих ночей и выходных. Однако уже с первых дней в том подразделении мне постоянно приходилось сталкиваться с манипулятивным и довольно агрессивным стилем общения их директора по разработке. Поэтому я довольно оперативно договорился со своим постоянным руководителем (напомню, у меня был другой начальник, и приписан я был на постоянной основе к совсем другому подразделению), что после того, как пожар будет потушен и решение устаканится в продакшене, я с тем директором никогда больше работать не буду. На что было получено однозначное «добро».
Пожары в том подразделении, куда меня временно прикомандировали, случались часто, а квалифицированных сотрудников вечно не хватало. Оно и понятно почему…
«Продакшен», «сэйл», «запушить» и пр.
В личной переписке некоторые читатели ругают меня за использование англицизмов в тексте. Однако это осознанный выбор. Некоторые англицизмы в IT-компаниях стали частью профессионального сленга. А сленг служит не только ёмкой и чёткой передаче смысла, но ещё и передаче эмоций. Если в тексте использовать вместо англицизмов русские переводы, то эмоциональная окраска будет потеряна, также как и лаконичность.
Манипулятивный менеджмент, с которым невозможно конструктивно обсуждать проблемы – большой стресс для сотрудников. Вот ещё один пример.
В одной известной компании один директор по разработке (кажется, даже старший директор) любит использовать очень «интересный» аргумент в дискуссиях с техническими специалистами. Сам он техническим специалистом никогда не был, но веское мнение по техническим вопросам всегда имеет. Аргументирует своё мнение он почти всегда одинаково:
— Вы вот софт делаете, а я делаю на нём бабки!
К этому аргументу он любит присовокупить историю о том, как когда-то продал какой-то свой IT-стартап за якобы баснословную сумму. Видимо, с тех пор он и стал «экспертом во всём». Остаётся неясным только одно: почему такой гений бизнеса работает наёмным сотрудником в «чужой» компании? Вспоминается вот этот давний мем:

Финишируем
Финишируем со статьёй, но не с темой. У меня есть ещё чего сказать о корпоративной культуре и её «поломках». Так что впереди ещё одна статья на эту тему. В следующий раз поговорим про капризных разработчиков, самодурство и корпоративные интриги…
Спасибо всем читателям! До встречи в эфире!
Также эта статья доступна на английском (ибо коллеги частенько просят английский перевод): [ссылка на перевод появится в течение одного-двух дней]
Комментарии (7)

Reposlav
15.05.2026 07:44Что-то я не понял про экспериментальную версию. Кто параллельно ведёт разработку основной версии, если ещё не доказана эффективность эксперементальной? Ну и выделять два года на разработку экспериментальной версии в современном мире - это что-то странное

TechThink Автор
15.05.2026 07:44Спасибо за интерес! С удовольствием отвечу.
Я здесь не стал вдаваться в полную историю того продукта. Полный жизненный цикл там, конечно же, был довольно сложный. Более того, первые наработки по тому продукту появились за 8 лет до релиза, но затем на 5 с лишним лет разработка была заморожена по определённым причинам, которые я не могу здесь озвучивать (но кое-что скажу ниже, в следующем комментарии...) В общем, там и concept proof был, и иследование потребительского спроса, и многочисленные изменения в концепции, и отработка отдельных технологических этапов... Но это всё совсем другая история, которая увела бы нас в сторону от основной. Главное, что разработка на любых этапах велась в отрыве от финального вИдения продукта даже за 6 месяцев до релиза. Более того, финального вИдения вообще не существовало. Да, там идеально были отработаны отдельные технологические операции (которые по большей части осуществлялись софтом). Но вопросы интеграции, вписывания в существующую инфраструктуру, взаимодействия с клиентом и т.д. и т.п. не были проработаны совсем.
Конкретно я считаю, что разработка даже concept-proof версий не должна происходить совсем уж в вакууме. Всегда должно быть какое-то вИдение финальной архитектуры. Да, оно может быть неполным, может изменяться хоть каждый день, но оно должно быть. И разработка на любом шаге (возможно, кроме самого-самого начального) должна соответствовать общей архитектурной канве. Там могут быть отсутствующие "куски", могут быть упрощенные, но общая архитектура должна выдерживаться (даже если она периодически изменяется). И вопросы связывания отдельных "блоков" решения в общую картину должны прорабатываться так же, как и сами блоки/операции по отдельности. Именно в такой парадигме мне посчастливилось всегда работать вплоть до описанного случая.

TechThink Автор
15.05.2026 07:44Теперь немного философии не тему "сколько по времени может вестить экспериментальная разработка"...
Да сколько угодно! Есть множество причин, которые влияют на сроки.
1) Продукт может быть объективно технологически сложным. Например, космическая ракета или микропроцессор. Здесь на эспериментирования могут уйти многие годы. Одна очень известная микропроцессорная корпорация годами вела экспериментальные разработки, которые иногда полностью сворачивались
2) Продукт может опираться на технологию, которая пока ещё не дозрела. Например, пока нейронки не стали уверенно распознавать изображения, разработки, которые полагались на технологию распознавания, могли топтаться на месте в попытках доработать другие методы. Но как только нейронки взлетели - сразу много ещё чего взлетело. Что касается конкретно моего опыта, то могу сказать про системы хранения данных. Бывало, что обещана какая-то "магическая" железка, на базе которой начинается софтверная разработка. Но аппаратчики могут переносить сроки появления этой железки, менять концепцию железки или вообще никогда её не родить
3) Компания уже может иметь какой-то супер-успешный продукт, который приносит кучу денег. Поэтому новые разработки может вести вяло и небольшими силами
4) Основной продукт компании может быть прикрыт сильными патентами. И поэтому компания не заинтересована сильно продвигать экспериментальные решения до того, как начнёт истекать срок патента
5) Иногда компания может решить, что слишком сильно педалировать новые разработки невыгодно или даже опасно. Например, в прошлом или позапрошлом году одна фармкомпания была оштрафована на миллиарды долларов, потому что было показано, что у неё были доказательства эффективности нового продукта, но она не выводила его на рынок, потому что успешно продавала старый, который был защищён патентом. Соответственно, компания ждала, когда истечет патент, чтобы вывести новый продукт. Компанию обвинили во множестве смертей, которые могли бы не случиться, если бы более эффективное лекарство вывели на рынок сразу. Так что если бы компания затягивала с экспериментальным продуктом, то исков удалось бы избежать. Это, на мой вкус, звучит кощунственно, но фармкомпании могут думать иначе. Там каждый новый продукт требуетс вложений миллиардов баксов. Поэтому компании стремятся максимально отработать инвестиции в старый продукт, прежде чем выводить новый
В общем, мотивов или объективных сложностей может быть много... Это неисчепаемая тема...
panzerfaust
Что самое страшное - сегодня к тезису "бизнес хочет" добавился "ИИ сказал, что это легко делается". Дуракам дали даже не гранату, а сразу атомную бомбу.
TechThink Автор
Ого! Даже такое бывает?
Если учесть, что нейросетки в целом "склонны" льстить, подчёркивать правоту и мотивировать, то вырисовывается так себе картинка... Это если руководитель опирается исключительно на "мнение" сетки или ставит его выше всего...
В целом, думаю, нет ничего зазорного спросить что-то у нейронки. Но надо держать в уме, что нейронка может льстить, ошибаться, что нужно посоветоваться с экспертами-людьми и что если есть расхождения, то неплохо бы запросить аргументацию и у тех, и у других :)
Akon32
Это всегда было - "добавь фичу по-быстрому, там всё просто".