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