Часть 1 >> Часть 2 >> Часть 3 >> Часть 4 >> Часть 5 >> Часть 6 >> Часть 7 >> Часть 8 >> Часть 9 >> Часть 10 >> Часть 11 >> Часть 12 >> Часть 13 >> Часть 14 >> Часть 15 >> Часть 16 >> Часть 17 >> Часть 18 >> Часть 19 >> Часть 20 >> Часть 21 >> Часть 22 >> Эпилог
Сегодня речь у нас пойдет о всякого рода отчетах и индикаторах. Из этой главы вы узнаете, насколько страшно это зло. А также поймете, почему оно неизбежно, если вы работаете в софтварном подразделении «железной» конторы.
Бастарды и нелюбимые дети
Все свои 22 года в Интел я проработал в Software Solutions (Services) Group — подразделении, которое занималось экосистемным программным обеспечением. И все это время меня преследовал некий дуализм бытия. C одной стороны, залогом величия Интел стали последовательные инвестиции в экосистему программного обеспечения. Компания одной из первых осознала ее значимость для продвижения процессоров на рынке. Интел построил очень разумную организацию, занимавшуюся software enabling. Часть людей (Developer Products Division) работала над программными инструментами: компиляторами, библиотеками, отладчиками, профилировщиками и т.п. Другая часть (Development Relаtions Division) отвечала за взаимодействие со сторонними разработчиками софта. Его сотрудники (application engineers) помогали производителям программных продуктов оптимизировать их под интеловое железо. Когда было осознано значение Open Source, OTC (Open Source Technology Center) также выделился в отдельное подразделение и вывел Интел на лидирующие позиции по модификациям ядра Linux. Благодаря многолетним усилиям всех этих людей x86 стала самой востребованной архитектурой среди программистов и еще долгое время ей останется.
С другой стороны, разработчики этого самого экосистемного софта (операционные системы, инструменты, приложения) очень долгое время оставались в компании на положении «бастардов и нелюбимых детей», как говорил известный персонаж «Игры престолов». Начальство (а первые СЕО Интела были выходцами из разработки железа или производства) на нас, софтовиков, посматривало косо. Рассуждало оно примерно так. «Вот возьмем продажников — от них понятная польза. Они продают чипы и приносят в клювике денежку в контору. Рабочие на фабрике эти чипы производят. Разработчики железа — проектируют. Тут тоже все ясно. А от программистов этих какая польза?» Неудивительно, что жизнь наша была далеко не сахар. Но справедливости ради отметим, что были люди, которым жилось еще хуже. Это ученые из Intel Labs. Они занимались долгосрочными фундаментальными исследованиями, напрямую не связанными с продуктовой линейкой. Intel Labs был, наверно, самой интеллектуальной частью конторы. Но как только в квартальных отчетах что‑то не ладилось, попадал под безжалостный нож бухгалтерии первым (чуть подробнее об этом будет в следующей главе). Очередь SSG была сразу за ними.
Впрочем, бывали праздники и на нашей улице. Они случались тогда, когда вся остальная контора погружалась в траур. ? Первый «золотой век софта» в Интел пришелся на начало нулевых. В «погоне за гигагерцами» фирма выпустила на свет божий архитектуру Netburst c ее сверхдлинным конвейером и доступом к памяти через «северный мост». Вышедший следом AMD Opteron быстро показал всю утопичность этой затеи. Интел начал проигрывать сделку за сделкой и стремительно терять долю рынка. Продукт АМD, обладавший существенно более коротким пайплайном и инновационным (на тот момент) интегрированным контроллером памяти, оказался значительно лучше «приспособленным» к существующему набору приложений. Netburst же столкнулся с целым ворохом проблем. При неправильном предсказании ветвлений полная очистка конвейера могла занимать до сотни тактов. Промах в кэш оборачивался длительным походом в память (через North Bridge!). Это приводило к тому, что железка вхолостую молотила на бешеной частоте и безбожно грела Вселенную.
И вот тут‑то на арену и вышли софтовики, прикрывая просчеты в дизайне железа. Приходилось «распрямлять код» (уменьшать количество ветвлений), заботиться о локальности данных (процент попаданий в кэш), уменьшать количество обменов с памятью и тп. Работы было навалом, но это позволяло Интел держаться на плаву и по крайней мере делать хорошую мину при плохой игре. Видимо, именно в этот момент интеловый менеджмент впервые осознал, что от софтовиков тоже есть определенная польза. И на фоне общего падения финансовых показателей конторы SSG начал стремительно расти. Такой вот пир во время чумы. Однако продолжался он недолго. Сначала Israel Development Center выкатил Merom — первый чип семейства Core, куда больше похожий на Pentium 3. А в 2006 Ронак Сингал выпустил Nehalem — первый серверный чип от Интел с интегрированным контроллером памяти. Контора вернула технологическое лидерство и рост SSG прекратился. Однако, этот кризис, кажется, научил интеловое начальство слушать не только маркетологов кричавших «Gigahertzs sell themselves!», но и скромных «тружеников клавиатуры», говоривших, что legacy software в одночасье не переделаешь.
Впрочем, подобные «минуты славы» выпадали на долю SSG довольно редко. Netburst был первым золотым веком, сейчас мы, возможно, наблюдаем второй, связанный с технологическим отставанием Интел от AMD и NVidia. В остальное же время софтовикам приходилось иметь дело с неприятной дилеммой. Вроде бы польза от вложений в экосистему программного обеспечения есть, но как можно это доказать? В бесплодных попытках измерить собственную значимость мы плодили всевозможные типы отчетов и индикаторов. Их у нас было больше, чем у железячников. И иногда мы сами в них тонули. С этим у меня связано несколько веселых историй.
Трехгрошовая опера или сага о 9 долларах
Одну памятную попытку предприняли руководители Developer Products Division во главе с Биллом Сэвиджем. Они поставили перед собой амбициозную задачу — определить, как наличие инструментов разработки влияет на отпускную цену процессора. Поначалу над ними все смеялись: задача представлялась неразрешимой даже для экономистов, не говоря уже об инженерах. Вспоминали известную пословицу «Никто не сделал денег на инструментах разработки. Даже Майкрософту это не удалось» ? Но Сэвиджа, известного своим упрямством, это не останавливало. Длительное время десять очень неглупых мужчин и женщин из его прямого подчинения пытались построить модель расчета стоимости. Я поначалу следил за их усилиями, а потом бросил, сочтя попытку бесперспективной. Но инженерную мысль не остановит даже пуля ? Спустя полгода они вернулись и выдали вердикт: для определенной модели серверного процессора (не помню какой уже) с ценой примерно 1000$ наличие компилятора позволяет продать его на 9 долларов дороже. Ну то есть наличие компайлера повышает цену камня примерно на один процент. Это смелое заявление имело некоторый резонанс внутри конторы. Я по крайней мере внимательно ознакомился с построенной DPDшниками моделью. Не буду сильно вдаваться в детали, но предложенный ими метод показался мне оригинальным и остроумным. Некоторые предположения были конечно немного притянуты за уши, но большинство выглядело стройно и логично. Очень жалею, что этот документ был для служебного пользования и у меня не сохранился — он мог бы послужить хорошей основой для диссертации по экономике. ?
Воодушевившись, Сэвидж сделал следующее далеко идущее заявление: 1% от цены процессора Интел должен вкладывать в содержание и развитие компиляторной команды. Это, конечно, было гораздо проще сказать, чем легитимизировать. С этой целью Билл решил заручиться поддержкой Sales and Marketing Group и послал им свои расчеты. Увы, продажники в расклад не вписались. Прочитав документ, они прислали Савагу короткое резюме «Спасибо, Билл. Давно так не смеялись». ? Мечта Сэвиджа так и осталась мечтой. А идея‑то была хорошая. ?
Важнейшие задачи менеджмента
Я в то время работал в Developer Relations Division и занимался технической поддержкой продаж в области High Performance Computing. Схема была такая: кто-то из клиентов покупал большую распределенную вычислительную систему (кластер). Обычно это были университеты, исследовательские институты и другие правительственные организации. В таких случаях объявлялся тендер и публиковался документ под названием RFP (Request for proposal). Он специфицировал желаемые физические размеры системы, вес, давление на пол, энергопотребление и тп. И среди прочего содержал набор бенчмарков, который будет использован для измерения производительности системы. Игроками в этих тендерах были OEMы (IBM, Dell, SGI, HP…), а Интел входил как субподрядчик с теми из них, кто использовал наши процессоры для построения системы. В задачу нашей команды Сompetitive Response Team (CRT) входило предоставить данные о производительности этих бенчмарков на интеловом железе и, по возможности, (не во всех сделках это разрешалось) оптимизацию их с точки зрения производительности. СRT, вероятно, ближе всех в SSG подошел к идеалу — измерить влияние софта на бизнес в честных долларах. Нас оценивали по количеству сделок, в которых мы поучаствовали, проценту выигранных и суммарной выручке. И пусть это был indirect revenue, никто в SSG близко не имел даже этого. Но сказать, что проблема отчетов и индикаторов полностью обошла нас стороной, нельзя. Их у нас тоже было выше крыши. Более того, число их все время росло, и каждый новый вызывал всеобщее возмущение.
В тот раз нам добавили новый индикатор, что‑то вроде посчитать diversity ratio в команде — отношение diversity members (latin, afroamerican, sexual minorities) к общей численности. Но даже эта пустяковая задача вызвала бурю негодования. Выразителем народного гнева в тот раз выступил Ланс Шулер.
— Доколе они будут подсыпать нам все новые и новые метрики? — вопрошал он нашего начальника Пареша Паттани. — У меня и так половина рабочего времени уходит на эти отчеты и индикаторы. — Паттани по прозвищу Царь покачал головой и ответил так:
— Все понимаю, Ланс. Но ты забываешь о важнейшей задаче менеджмента.
— Это о какой же?
— Приоритизация. Давай подумаем, что из твоих индикаторов можно деприоритизировать. Или, проще говоря, забить.
— Давай...
— Вот смотри, — начал загибать пальцы Паттани. Месячный отчет — это святое, потому что из ваших я собираю свой. Отчет по сделкам СRT тоже надо, потому что его я отправляю в SMG. Индикаторы по стратегическим вендорам программного обеспечения (ISV) с меня требует Христос. Отчет по OEM Win Rooms (по сути та же самая СRT‑ статистика, только разбитая по OEMам, которых мы поддерживали) Дон Харберт... — и, порассуждав в таком духе еще некоторое время, Пареш пришел к неутешительному выводу. — Получается, что все это нужно мне. А значит идет с приоритетом 1. Точнее, даже с приоритетом 0.
— Вот видишь? — торжествовал Шулер.
— Все так, Ланс, — ответствовал Паттани, — но ты забываешь о второй важнейшей задаче менеджмента.
— ??
— Делегирование. Теперь давай смотреть, что из своих индикаторов ты можешь поручить кому‑то из подчиненных. Вот мог бы ты поручить месячный отчет, скажем Резе Рахману?
— Резе? Да он там такую фигню напишет, что мне неделю краснеть придется. Нет, уж лучше сам.
— А статистику по стратегическим ISV может сделать Лео Борхес?
— Лео? Наверно, может. Только я с этим за час управляюсь, а Лео провозится целый день. Так что и тут лучше сам.
— А отчет по Dell Win Room может Нарен Наяк осилить?
— Хмм.. А это идея.
— Ну вот видишь, — теперь уже торжествовал Паттани. — Не все так уж плохо, Ланс. Иди, рисуй индикаторы по diversity… ?
Наследие Энди Гроува
Последние годы в Интел я провел, руководя разработкой VTune в Developer Products Division. Моим прямым начальником был Шринивас, который помимо VTune отвечал еще за ряд продуктов: Advisor, Inspector и тд. Шри был невысокого роста лысоватым индусом с маленькими бегающими глазами. Имидж пройдохи и жулика, видимо, прилип к нему с детства. Но это тот случай, когда внешность обманчива: Шринивас был нормальным парнем, и у меня всегда были с ним хорошие отношения. Боссом Шри был Санжив Шах, которого я почитаю наряду с Паттани одним из лучших начальников в своей карьере. Санжив обладал хорошим чувством юмора и любил пошутить, но вот шутки его далеко не всегда были безобидными.
В конце 2019 на общем собрании начальства нашей организации мы подводили итоги года по IMBO. Эти «имбосы» (Intel Management by Objectives) были придумкой третьего СEO Интел Энди Гроува. В начале года мы придумывали себе цели (objectives) а потом раз в квартал отчитывались о их выполнении. Понятно что парадигма «сам придумал — сам сделал — сам отчитался» появилась задолго до Гроува, но в Интеле ее ввел в моду именно Энди. У моей команды в том году было 8 целей, и все мы смогли достичь к концу отчетного периода. О чем Шри бодро отрапортовал Санживу.
— Прекрасно, прекрасно... — отреагировал Санжив. — А я помню, в третьем квартале у вас 7 из 8 было сделано? — Он всегда отличался хорошей памятью и вниманием к деталям.
— Да, вроде бы... — замялся Шринивас.
Он‑то как раз в детали своих продуктов особо не лез и тонкостей таких, конечно, не помнил.
— А какой имбос вы добили в четвертом квартале?
— Cанжив, разреши я отвечу, — влез ваш покорный, чтобы разрядить обстановку. — В четвертом квартале мы сделали...
— Молчи, — оборвал меня Санжив. — Ясно, что ты знаешь. Но я хочу, чтобы ответил Шри.
Видимо, Шринивас сумел где‑то проштрафиться перед Санживом, и тот решил устроить ему показательную выволочку.
— Эээ... Mмм...Ну... — Шринивас аж покраснел и бешено вращал глазами. А Санжив пристально смотрел на него с хитрым прищуром. Спас положение Пол Питерсон (из параллельной организации), которого я пихнул ногой под столом.
— Так это же, наверно, был Processor Trace?
Дело в том, что это был наш единственный совместный проект с Полом. И завершился он как раз в четвертом квартале.
— Вот видишь, Шри, — усмехнулся Санжив. — Даже Пол знает. А ты — нет. Но я тебя понимаю и где‑то даже сочувствую. Как человек, который постоянно врет, ты должен помнить, что соврал, кому, где и когда. Просто чтобы не проколоться. Но удержать в голове такой объём информации практически невозможно...
Вот оказывается, в чем был смысл выволочки. Шри чуть не плакал. Мне было его искренне жаль. Но его растерянный ответ заставил меня просто зарыдать...от хохота.
— Так а что делать-то?
После этого нашу аудиторию целую минуты сотрясали раскаты исступленного истерического смеха. Наконец, отсмеявшись и утерев выступившие слезы, Санжив подытожил.
— Может, все‑таки правду говорить? Глядишь, и жизнь твоя немного легче станет...