Игорь Савчук Отъявленный программист: лайфхакинг из первых рук

Игорь Савчук Отъявленный программист: лайфхакинг из первых рук

Серия «Библиотека программиста»

Заведующая редакцией Ю. Сергиенко

Ведущий редактор Н. Римицан

Литературный редактор А. Жданов

Корректоры О. Андросик, С. Беляева

Верстка Л. Соловьева

ББК 32.973.2-018

УДК 004.42

Савчук И.

С13 Отъявленный программист: лайфхакинг из первых рук. — СПб.: Питер, 2016. — 272 с.: ил. — (Серия «Библиотека программиста»).

ISBN 978-5-496-01806-7

Сделать карьеру программиста намного тяжелее, чем просто быть им. Специфического склада ума, умения мыслить абстрактно, развитой логики мало, главное — сознавать, что работа —это не только способ зарабатывания денег. Не так уж много людей соответствуют всем условиям, и именно об этом меньшинстве пойдет речь.

Перед вами — сборник откровенных бесед с известными программистами, системными администраторами и другими «айтишниками». Герои книги исповедуют разные взгляды, относятся к разным социальным группам, могут оперировать миллионами долларов, быть героями гламурных тусовок или простыми офисными трудягами-программистами. Объединяет этих людей умение использовать свои увлеченность, страсть и любовь к профессии как рычаг, позволяющий достигнуть принципиально новых вершин в развитии себя и своего бизнеса.

Мы постарались найти самых ярких «звезд» компьютерно-сетевой субкультуры и донести до вас максимально разнообразные мнения, дабы читатель, какие бы ни сложились у него личные вкусы, не скучал в этом пестром калейдоскопе персонажей.

12+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)

ISBN 978-5-496-01806-7

© ООО Издательство «Питер», 2016

© Серия «Библиотека программиста», 2016

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги.

ООО «Питер Пресс», 192102, Санкт-Петербург, ул. Андреевская (д. Волкова), 3, литер А, пом. 7Н.

Налоговая льгота — общероссийский классификатор продукции ОК 034-2014, 58.11.12.000 —  Книги печатные профессиональные, технические и научные. Подписано в печать  Формат 70 10.07.15. ?100/16. Усл. п. л. 21,930. Тираж 1500. Заказ 0000. Отпечатано в ОАО «Первая Образцовая типография». Филиал «Чеховский Печатный Двор». 142300, Московская область, г. Чехов, ул. Полиграфистов, 1. Сайт: www.chpk.ru. E-mail: marketing@chpk.ru. Факс: 8(496) 726-54-10, телефон: (495) 988-63-87

Оглавление

Введение .................................................7

Глава 1.

«Я не имею отношения к Open Source» ......................13

Личный выбор свободы .....................................16

Linux без GNU — ничто ....................................18

Настоящее FSF ............................................20

Сохрани планету — убей себя ..............................24

Столлман ест свои ноги ...................................28

Послесловие ..............................................32

Глава 2.

Крис Касперски — Евангелие от Мыщъха .....................33

Рестон ...................................................33

Про работу ...............................................34

Про ФБР и тренды ИБ ......................................39

Собеседования ............................................47

Образование и карьера ....................................53

Оружие и армия ...........................................59

Послесловие ..............................................63

Глава 3.

Андрей Чернов — сущности контроля ........................65

Глава 4.

Сеть через прицел DPI — анатомия  китайского Интернета ...89

Послесловие .............................................102

4 Оглавление

Глава 5.

Джастин Франкель — альфа-гик из Аризоны .................104

Продажная шкура .........................................105

Заваливание системы .....................................110

Альфа-гик ...............................................113

Горькое послесловие .....................................117

Глава 6.

Сергей Кищенко — программист-кочевник ...................118

Timelapse-видео в качестве бонуса........................144

Глава 7.

Терри Дэвис — Господь сказал: иди и программируй ........145

Власть абстрактного .....................................145

Куда приводит программирование ..........................146

Кросс-компиляция пограничных смыслов ....................147

Пророк рекреационного программирования ..................148

Для «ниггеров» или нет ..................................151

Приложение: несколько технических фактов о TempleOS .....153

Глава 9.

Чемоданные построения: Blue Card для айтишников .........217

Подводя итоги ...........................................225

Краткий алгоритм действий ...............................226

Дополнительные практические рекомендации.................228

Учеба и работа ..........................................232

Вместо заключения .......................................234

Глава 10.

История одного программиста:  ruby «rock star» мистер _why 238

Знакомство ..............................................239

(poignant) Guide to Ruby ................................240

Маленькое программистское затруднение ...................242

Неожиданная концовка ....................................244

Вместо заключения .......................................245

Глава 11.

История Рона Авицура: секреты  нематериальной мотивации .247

Медленное программирование ..............................248

Проникновение в Apple ...................................249

Смотреть сквозь пальцы… .................................250

Остаться или уйти? ......................................251

Жизненный принцип .......................................252

Глава 12.

Фейсом об тэйбл: приключения Intel в России .............255

Вдыхая благоприятный инвестиционный климат ..............255

Но что-то пошло не так ..................................257

Бьют — значит уважают ...................................258

Велика Россия, а инвестиции пристроить некуда ...........259

«На его месте мог бы быть я» ............................260

Глава 13.

Молчание гуглят, или Гроздья народного гнева ............262

Э, че происходит? На работу опаздываю ...................263

«Гаденыш» ...............................................266

Но подождите, кто этот парень? ..........................268

Секретный «план Б» ......................................269

Молчание гуглят .........................................270

Секретный «план В» ......................................271

Послесловие .............................................272

Посвящается дорогим папе и маме,  а также любимой жене и детям. Вместе навсегда

Когда программисты придут к власти, они заменят все правительство одним небольшим скриптом. Айтишный фольклор

Введение

В американской бизнес-среде есть хорошо известная и старая как ассемблер шутка о том, что английское слово job («работа») на самом деле акроним, который расшифровывается как just over broke («немногим лучше банкротства»). Бизнес любит подшучивать над своими работниками, тут уж ничего не поделаешь.

К сожалению, для большинства обычных людей это правда — жить нужно, «чтобы оплачивать свои счета». В этом нет ничего плохого или постыдного, к тому же бесконечные «крысиные гонки» нравятся многим по молодости амбициозным и уверенным в себе людям. Эти люди постоянно на виду, стремятся добиться большего, вкалывают допоздна и руководствуются популярной нынче стратегией «хватай и беги». Modus operandi для всей этой «круговерти» — конечная и единственная компенсация всех потраченных усилий, возможность заработать «хорошие деньги».

Если же говорить применительно к отрасли ИТ, в которой в последнее время наблюдается большой поток случайных людей, прослышавших о больших зарплатах айтишников, то это настоящая беда. Такой случайный для профессии человек будет искать обходные пути и чудесные серебряные пули в виде могущественных книг и курсов, освоив которые, как ему кажется, он сможет стать истинным программистом, чтобы наконец начать грести деньги лопатой. Плохая новость для заблудших в ИТ ковбоев заключается в том, что сделать карьеру программиста намного тяжелее, чем просто быть им. Здесь потребуется специфический склад ума, редкое нутро интроверта и умение мыслить абстрактно, развитый логический аппарат и много чего еще, в том числе и чугунная пятая точка. Хорошо если в характере изначально присутствует хотя бы часть этих характеристик, в противном случае придется ломать себя и постоянно «прогибаться под изменчивый мир», бездумно торчать у монитора днями напролет со вскинутыми к небесам руками.

Впрочем, мы снова вернулись к ироничному определению слова «работа», на которой то самое большинство занято сохранением status quo в бесконечном и изнуряющим процессе «зарабатывания денег».

Но что мы знаем о меньшинстве, которое поступает иначе?

Именно об этом «чудаковатом» меньшинстве и пойдет речь в книге. Герои интервью могут исповедовать разные взгляды и иметь разные социальные статусы, быть долларовыми миллионерами, известными и публичными людьми, а также простыми офисными трудягами-программистами, но всех их объединяет нечто общее. Большинство интервью в книге — это истории реальных айтишников, работа которых построена на принципах нематериальной мотивации и отрицания уже привычного мотива «делания денег» как центральной доминанты человеческой деятельности.

Прошу понять меня правильно: речь вовсе не о том, чтобы вообще отказаться от денег или материальных благ современной цивилизации. Речь на самом деле о другом: использовать свою увлеченность, страсть и любовь к профессии как рычаг, позволяющий достигнуть принципиально новых вершин в развитии себя и своего бизнеса (даже если это программирование по найму). В многочисленных интервью и жизненных ситуациях я пытаюсь показать на реальных примерах: эта мотивация работает вопреки всему и привносит в нашу офисно-пластиковую жизнь радость творчества.

Я не делал ставку на общение исключительно с известными людьми (хотя пару героев из списка, безусловно, всемирно известны), но старался отбирать собеседников по степени их «гиковости» и «драйвовости», чтобы посредством их вдохновляющего примера заставить читателя как минимум задуматься, как максимум — взглянуть на привычный мир ИТ другими глазами, тем самым побудив подняться на качественно иную ступеньку своего профессионального роста, прочно оседлав формулу «just for fun». Даже если вам и неинтересен этот мотивационный подтекст, которым насквозь пропитана книга, вы можете воспринимать ее просто как собрание забавных и поучительных историй, над которыми можно посмеяться или взгрустнуть, с интересом вглядываясь в архетип «типичного программиста».

Так, говоря о фокус-группе книги, мы постепенно подошли к центральному вопросу: для чего эта книга была вообще написана?

При огромном количестве мотивационной литературы, которая достаточно успешно педалирует тему позитивного образа мышления, в России нет практически ни одной аналогичной книги, целиком и полностью посвященной ИТ. Я диву даюсь, что при сегодняшнем количестве success stories именно в сфере «ай-ти», где многие ИТ-джедаи меняют страны и компании как перчатки (попутно зарабатывая миллионы долларов), они до сих пор не стали героями былинных книг, рассказывающих об их похождениях из первых уст (немногочисленные истории успеха фигур калибра Дурова, Цукенберга и Джобса не в счет). Несмотря на огромный интерес к субкультуре «ай-ти», прежде всего со стороны молодежи, нет даже попытки дать слово рядовому компьютерщику, и это при том, что успешность современных айтишников в народе стала уже притчей во языцех, а сама профессия «состоявшегося программера» отдает налетом элитарности.

Признаюсь честно: мне сложно четко конкретизировать, о чем эта книга рассказывает больше: о специфике ИТ-отрасли или о необычных людях, порой обитающих в ней. Вместо этого попробую сформулировать важный для концепции книги образ «айтишного успеха». В качестве наглядного примера приведу известные в США «гаражные стартапы». Именно там суровые и упертые дядьки, подобные Джобсу и Возняку, Хьюлетту и Паккарду, Майклу Деллу и другим, стоически, на коленке создавали свои будущие корпорации. На протяжении всех интервью мне интересен не внешний эффект этого преображения «из грязи в князи», но именно глубинный катарсис поиска и самореализации, который привносит в жизнь личности целительный смысл и полноту бытия.

Второй аспект любой мотивирующей литературы (кроме коррекции привычного образа мышления на новый и «успешный» посредством манящих за собой ярких примеров-судеб) — акцент на действии. И эта книга не исключение — в ней собрано множество практических советов по прохождению собеседований и поиску эффективных векторов развития, упакованных в неформальный житейский формат: «советы от айтишников для айтишников» (этому преимущественно посвящена часть II).

В заключение этого введения, как главный вывод книги, я хочу пожелать читателю следующее: реализуйте свой интерес, перфекционизм или азарт с максимальной выгодой, пока идея-фикс, что называется, «горит», а молодость позволяет «горы свернуть», работая в круглосуточном режиме. Именно искренняя страсть и безудержная увлеченность становятся той самой «критической массой», которая позволяет чуду произойти в вашей жизни. В связи с этим часто в качестве лозунга движения медленного программирования (о котором также пойдет речь в данной книге) приводят высказывание Стива Джобса:

Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не спешите браться сразу за дело. Как и во многом другом, сердце подскажет вам интересное дело и поможет его завершить.

В этом и заключается секрет успеха любого начинания.

Игорь Савчук www.blogerator.ru

Часть I .  Прямая речь:  компьютерщики  о себе и ИТ

ГЛАВА 1. Ричард Столлман —  дзен свободного  программирования

Ричард Мэттью Столлман — известный американский программист и общественный деятель. Является создателем программ GNU Emacs, коллекции компиляторов GNU (GCC) и отладчика GNU (GDB). Основатель движения свободного ПО, проекта GNU, Фонда свободных программ (FSF) и Лиги за свободу программирования. Является главным автором лицензии GNU General Public License. В качестве хобби любит сочинять и слушать собственную музыку, путешествовать и читать научную фантастику.

Интервью взято в конце 2013 года.

Предлагаю большое интервью с безусловно ярким и легендарным представителем контртренда по отношению ко всей коммерческой индустрии ПО — Ричардом Мэтью Столлманом (@rms), американским системным программистом, странствующим философом, баламутом и общественным активистом.

Человек-борода (альтернативные варианты перевода — человек-стол, человек-киоск) Столлман, бог свободного программного обеспечения во плоти и крови, донесет нам сегодня евангелие о необходимости помощи ближнему во Сети, а также похвальном желании мирянина писать «правильные программы».

Мы попробуем понять, почему своими моральными принципами Столлман «вызверил» против себя огромное количество игроков из лагеря «собственнического ПО» и мира Open Source, «куда» он вообще живет и какую такую свободу при этом проповедует.

«Я не имею отношения к Open Source»

Послушайте, все, что вы хотите знать, это, конечно, очень важно, но если позволите, я бы хотел начать с освещения двух типичных и уже хронических синтаксических проблем Движения за свободные программы, с которыми мне приходится иметь дело примерно в 90 % интервью и выступлений. Более полное раскрытие данных ошибок поможет вашим читателям лучше понять, какие идеалы я проповедую и чем занимается фонд FSF на самом деле.

Итак, я не имею никакого отношения к движению Open Source, к которому вы и остальная пресса меня причисляете. Фонд Free Software Foundation и движение за свободные программы отстаивают несколько иные идеалы. Иначе говоря, наш термин «свободная программа» вовсе не эквивалентен понятию «программа с открытым исходным кодом». Это исходная точка, в которой в большинстве случаев начинается большая путаница, поэтому будет лучше, если мы сразу проведем водораздел между ними.

Раз уж подвернулся такой удобный случай, давайте попробуем разобраться, чем же так принципиально отличается свободная программа от программы с открытым исходным кодом?

Начнем с последнего определения. В 1998-м впервые официально было сформировано мировое движение FOSS (Free and Open-Source Software), которое, если компактно суммировать его взгляды, ставит акцент на двух фундаментальных положениях:

• Во-первых, они выступают за полностью открытый исходный код распространяемых программ, и это видится просто как технологическое удобство для разработчиков — возможность совершенствовать чужие программы, дорабатывать их или расширять под свои нужды. Естественно, все это требует доступа к исходникам для перекомпиляции.

• Во-вторых, они пропагандируют открытый исходный текст, делая акцент на экономических аргументах; попросту говоря, продвигают сугубо меркантильную точку зрения, согласно которой использование подобных программ экономически выгодно по сравнению с проприетарным софтом, который стоит немалых денег.

И первый, и второй пункт — исключительно практические ценности. Open Source — это просто удобная и экономически выгодная методология разработки. Теперь в качестве контраста: для нашего движения за свободное ПО главное — идеалы и моральные ценности, где прежде всего ценится уважение свобод пользователей.

Итак, свободные программы, за которые мы ратуем, — это обществен ное движение, где жестко отстаивается единственный этический императив — безусловное уважение свобод пользователей ПО. Если вы читаете новости и прессу, легко увидеть, что поборников Open Source волнует совсем другая проблематика: успешность или неуспешность отдельных проектов, их популярность и доля на рынке и т. д. Почти никогда при этом дискуссия не касается категорий справедливости и несправедливости использования софта, проблем распространения подобных программ, защиты прав конечных пользователей.

Не все программисты такие сообразительные, как вы или я, поэтому, уверен, с пониманием этой тонкой разницы, лежащей в плоскости вашего «принципиального императива», у некоторых могут возникнуть трудности. Не могли бы вы привести какой-то практический пример, чтобы представить это различие более зримо и конкретно?

Например, некоторые популярные мобильные устройства на базе открытой и бесплатной ОС Android поставляются с исполняемыми файлами программ, сборка которых полностью соответствует выложенному в Сети их исходному тексту, но сами эти устройства не позволяют пользователю устанавливать собственные или модифицированные версии этих файлов. Как правило, в такой ситуации только одна привилегированная компания обладает властью изменять их. Мы называем такие компании тиранами, а данная конкретная тактика паразитирования на почве Open Source известна под термином «тивоизация». Можно привести множество подобных примеров из самых разных сфер, но их общая суть, думаю, понятна.

Таким образом, согласно описанной философии по нашим стандартам эти файлы не являются свободными программами, несмотря на то, что для них доступен их полный исходный текст, как правило, свободно выложенный в Интернете. Более того, сами эти программы (и их исходники) доступны для вас абсолютно бесплатно, удовлетворяя обоим вышеописанным критериям Open Source. Именно поэтому я настоятельно призываю в своих выступлениях по всему миру: несмотря на общее слово [1 Англ. слово free переводится и как «свободный», и как «бесплатный».], давайте не будем путать идеалы «свободы слова» с бесплатным пивом, которое вам повезло отхватить на ярмарочной распродаже.

Хочу подчеркнуть — мы ничего не имеем против движения Open Source, мы приветствуем открытие исходных текстов программ, но при этом повторяем — это лишь первый важный шаг в правильном направлении, для надежной защиты интересов пользователей ПО этого мало. Думаю, сейчас более ясно, почему наше движение так категорично и показательно отмежевывается от Open Source, — мы ставим более глобальные и далеко идущие задачи. Мы также призываем всех разделяющих нашу точку зрения сознательно применять термин «свободные программы» вместо более узкого определения «программы с открытым исходным кодом» для более точной передачи сути наших общих ценностей.

Давайте попробуем емко подытожить все сказанное. Вы бы не могли привести ваши знаменитые «4 свободы для свободных программ», чтобы все любители свободного софта могли лишний раз порадоваться удачному дню, просто пробежав их глазами?

С удовольствием, вот они:

• это свобода запускать программы так, как вы пожелаете;

• свобода изучать и изменять исходный код программы в соответствии со своими нуждами;

• свобода делать копии программ, чтобы распространять их среди других;

• свобода распространять и использовать модифицированные программы так, как вам захочется.

Это максимально общие пожелания, более четко они выражены в наших лицензиях, например в GNU Public License.

Признаюсь, грешен, ибо писал коммерческие программы «с элементами защиты», хотя в душе был всегда непорочен, оставался верен этим, безусловно, святым и боговдохновенным принципам. Что бы вы могли сказать программерам, работающим в коммерческой сфере и пишущим хорошие, но несвободные программы каждый божий день напролет в течение всей своей никчемной жизни?

В мире есть программисты, которые, безусловно, заслуживают вознаграждения за создание прогрессивных или инновационных программ, меняющих нашу жизнь к лучшему. Но среди этих программистов также есть и такие, кто заслуживает порицания, если они искусственно ограничивают использование подобных программ другими.

Я не против бизнеса, но я за то, чтобы поощрять дух сотрудничества, а не противоборства. Для этого нужно научиться уважать свободу выбора других людей, а не потакать методам, разделяющим и подчиняющим их.

Личный выбор свободы

Не хочу «переходить дорогу на красный свет» и как-то злить вас, но позвольте еще раз вернуться к предыдущему вопросу. Раз уж вы сейчас проживаете в США — в самой гуще коммерции и глобализации, поинтересуюсь: насколько эта идеалистическая точка зрения работоспособна в рамках современного капитализма? Иначе говоря, есть ли такие «правильные парни-программисты» в реальном мире вокруг нас?

На всякий случай, если вы с другой планеты, — на данный момент большая часть мировых интернет-сайтов работают под управлением GNU/Linux, *BSD, MySQL и Apache. Думаю, вам будет трудно доказать людям, стоящим за этими (и другими подобными) проектами, что свободный софт — это просто пустая демагогия и высоконравственная болтовня. Большинство стоящих за этими проектами разработчиков работают бесплатно и тем не менее проектируют реально стоящий код.

Понимаю, идеалы и мотивы этого сообщества часто сложно понять обывателю, всю жизнь просидевшему на «поводке» контракта. Тем более, компании типа «Майкрософт» хотят заставить нас поверить в то, что помогать ближнему — сродни захвату чужих кораблей. Я призываю смотреть на мир шире, в нем очень много бескорыстных и любящих свою работу программистов, которые мечтают сделать что-то по-настоящему стоящее, даже если это что-то находится далеко за пределами узких корпоративных интересов вашего босса.

Гуру, деньги — ничто?

Знаете, давайте оставим деньги в покое. О деньгах сейчас и так говорят и пишут слишком много, их превратили в фетиш. Так что в этом плане и без моего участия вполне достаточно уже существующего новостного и культурного фона. Мы же как раз занимаемся целенаправленной пропагандой свободы, и я буду благодарен, если именно на этом мы и сосредоточимся в рамках нашего разговора. В идеале я бы хотел, чтобы ценности свободы и взаимного уважения прав продвигались в мире активней, гораздо более активней, чем культ денег.

Я твердо убежден, что современная альтернатива деньгам — свобода. Если вы все еще в поисках того, ради чего стоит прожить свою жизнь, — выберите свободу.

Может быть, просто всему свое время? Может, смысл эволюции как раз в том, чтобы последовательно подняться к вершинам пирамиды Маслоу, для чего потребуется какое-то время на взросление? Лично я не горю желанием хвататься за стоп-кран каждый раз, когда кто-то умный вроде вас указывает мне, что мой поезд-жизнь следует не в том направлении.

Я знаю одно, и это подтвердит любой творческий человек: в качестве горючего жгучее чувство внутренней правды с присадкой страсти самореализации всегда эффективней, чем абстрактные деньги. Старомодные компании, где работают исключительно за деньги, обречены проиграть в инновационности и прогрессивности компаниям, где работают за идею (это касается в том числе как людей, так и государств). И если на коротких временных дистанциях с этим тезисом еще можно поспорить, то в долгой перспективе все более чем однозначно: свобода — наиболее предпочтительная мотивационная категория. Подумайте об этом в перерывах между просмотром канала MTV и работой с утра до позднего вечера.

Возвращаясь к вопросу — можно потратить свою жизнь, как вы сказали, на последовательное покорение пирамиды потребностей Маслоу (я бы сказал проще — на «крысиные гонки»), а можно срезать большую часть пути, сразу переходя к реализации своей мечты. Если и нужно до чего-то последовательно дорасти, как вы выразились, то исключительно до своей идеи фикс, до понимания собственной миссии и предназначения в жизни. После этого вы либо теряете время, либо отстаиваете свою личную свободу, третьего в ощущениях не дано.

Именно так и поступил я в свое время — шагнул в неизвестность, приступив к реализации совершенно абстрактной для многих концепции свободных программ, которая сейчас превратилась в заметное общественное движение. Только, пожалуйста, не делайте из меня героя. При большом желании, уверен, любой читающий нас программист способен написать лучшую программу (веб-сервис) своей жизни и незамедлительно подарить ее человечеству, не дожидаясь при этом каких-то «особых встречных условий». В этом случае мой совет: сделайте свой пример заразительным, позвольте подхватить ваш проект другому на аналогичных условиях, для чего рекомендую воспользоваться лицензией GPL.

Linux без GNU — ничто

О’кей, давайте врубим задний ход и вернемся к началу, где вы упомянули две популярные ошибки в отношении вашего Фонда. Подробно рассмотрев отношения свободного FSF с Open Source и проприетарным софтом, не могли бы мы вернуться ко второй отмеченной вами хронической проблеме?

Второе хроническое недоразумение связано с Linux. Чтобы быть понятым верно, позвольте немного истории для начала.

Когда ОС Linux еще не существовало в природе, в своем «Манифесте GNU» мы поставили перед собой амбициозную цель — разработать собственную свободную Unix-совместимую систему, которую в итоге назвали GNU. И уже к тому моменту, когда разработка Linux только начиналась, разработка GNU была практически завершена. Здесь хочу отдельно подчеркнуть: GNU не был и не является проектом по разработке набора утилит или пакетов программ, как думают некоторые, и тем более это не проект по разработке компилятора языка С (хотя мы сделали и это). Поскольку наш проект изначально поставил перед собой комплексную цель «разработать полную свободную ОС, совместимую с Unix», мы с самого начала составили скрупулезный список программ для того, чтобы наша будущая система была самодостаточной.

Таким образом, работая поступательно, к началу 90-х мы по частям сложили все воедино, реализовав весь запланированный список программ и компонент. Было готово все, кроме ядра. И с этой исходной точки мы приступили к написанию ядра GNU Hurd. К сожалению, его разработка затянулась на больший срок, нежели мы ожидали. Тут-то и появилось ядро Linux, которое было использовано в нашей системе.

Теперь возвращаясь к исходному вопросу уже с необходимым контекстом: именно поэтому все так называемые разновидности Linux на самом деле являются дистрибутивами GNU/Linux. Эти дистрибутивы — лишь модифицированная версия нашей ОС GNU. Для полноты картины следует отметить, что кроме GNU был еще один проект, который независимо произвел свободную операционную систему типа Unix. Эта система известна как BSD и по большому счету слабо зависит от GNU. Таким образом, сегодня родословная любой из свободных операционных систем может быть однозначно отнесена лишь к этим двум предкам — либо это клон системы GNU, либо разновидность BSD.

Собственно, именно поэтому я категорически настаиваю, что любой дистрибутив Linux правильно должен именоваться исключительно как GNU/Linux (и именно в таком порядке). Кроме того, добавлю, что сегодня существует много самых разных вариантов GNU/Linux, но подавляющее большинство включает несвободные программы — чаще всего их разработчики следуют собственной специфической философии Linux, но не философии свободных программ GNU, которую мы активно продвигаем.

Это два принципиальных уточнения относительно Linux и нашей совместной с ней истории, которые мне приходится часто объяснять людям. Ведь многие до сих пор считают Linux самобытным, свободным и самодостаточным проектом, взращенным загадочным финским подростком буквально на пустом месте. Они ошибочно считают Linux образцом и родоначальником свободного и открытого софта — это совсем не так.

Настоящее FSF

Благодаря этим двум «распространенным терминологическим неточностям» мы ретроспективно рассмотрели историю и задачи проекта GNU. Теперь попробуем это славное прошлое замкнуть на грозное настоящее: что насчет ядра GNU Hurd, которое было единственным недостающим элементом ОС GNU? Каково положение дел с ним сегодня?

GNU Mach — это GNU-версия микроядра Mach, которую разрабатывает и поддерживает наш проект, это та основа, на базе которой зиждется GNU Hurd. На данный момент Hurd относительно стабильно работает на компьютерах с архитектурой x86, его последний релиз был в конце сентября 2013 года. Кроме того, еще есть Debian GNU/ Hurd, которая является версией этого ядра от популярного проекта Debian. Я весьма доволен, что Debian GNU/Hurd существует и развивается, но я не могу заставить людей оставить свои проекты или предпочтения, чтобы форсировать более быстрое развитие именно этого ядра.

Кстати говоря, в рамках проекта Debian есть и другой необычный проект — GNU/kFreeBSD. Несмотря на мои противоположные личные предпочтения, проекты типа GNU/kFreeBSD привносят разнообразие в этот однообразный мир Windows/Linux.

Извините, не расслышал ответа, разрешите еще раз задать прямой вопрос: есть ли у GNU Hurd хоть какое-то реальное будущее?

На данный момент GNU Hurd не является высокоприоритетным для нашего проекта, потому что у него есть реальная работающая альтернатива — Linux. Как я уже говорил, мы начали разработку GNU Hurd в далеком 1990 году, потому что проект GNU остро нуждался в завершающем элементе — ядре. Вскоре после этого проект Linux все-таки смог стать первым свободным ядром, доступным каждому, поэтому он очень удачно перехватил инициативу и заполнил пустую и очень востребованную на тот момент нишу. Я был бы рад, если бы проект GNU Hurd достиг такого же успеха и признания, и мне приятно, что многие люди упорно продолжают его разработку. Но, вероятно, с учетом реально сложившейся ныне ситуации, для нашей свободы было бы более приоритетно, чтобы из популярного проекта Linux убрали все несвободные фрагменты кода (так называемые «блобы»), которые, как известно, там есть.

Поэтому на данный момент мы основные усилия направляем на разработку проекта Linux Libre. Это модифицированная нами версия ядра Linux, главная цель ее создания — удаление любого программного кода, который поставляется в закрытом виде, имеет явно обфусцированный исходный код либо выпущен под проприетарной лицензией. [1 Чаще всего это касается бинарных прошивок некоторого сетевого оборудования и отдельных прошивок аудио- и видеокарт] К сожалению, наша версия ядра запускается с меньшим количеством устройств, чем оригинальное ядро, но мы активно работаем над решением этой проблемы.

Пользуясь возможностью, я бы хотел обратиться ко всем разработчикам, разделяющим наши идеалы и читающим этот текст: мы нуждаемся в опытных реверс-инженерах, которые смогли бы помочь нам в решении подобных нетривиальных задач.

В заключение первой части интервью расскажите немного про ваш Фонд FSF. Кто эти люди, которые стоят за всеми текущими проектами, каковы общие тенденции развития движения за свободные программы?

GNU Project работает в значительной степени за счет привлекаемых нашей философией волонтеров. На данный момент в рамках проекта всего около 400 значимых пакетов — самых различных программ и компонент, поддерживаемых и развиваемых GNU Project. Каждый пакет имеет как минимум одного собственного «мэйнтейнера» — человека, который сопровождает его, решает все возникающие проблемы и вопросы. В первой половине существования нашего Фонда (с 1987 по 1996 год) «мэйнтейнерам», сопровождающим наиболее критические пакеты, платились деньги за выполненную работу из собственных средств Free Software Foundation.

Но на сегодняшний день все наши «мэйнтейнеры» — это стопроцентные волонтеры, которые не получают ни цента за свою работу. И хотя очень небольшому числу из них (тем, кто занят по-настоящему сложными и важными вещами) все-таки платят деньги некие сторонние организации, повторю еще раз, главное — FSF окружен бескорыстными и убежденными сторонниками, и мы стремимся к тому, чтобы эта общественно значимая работа выполнялась по велению сердца, а не из-за желания подзаработать.

Что касается тенденций нашего развития и общей проблематики, которой мы занимаемся, то они в последние годы начинают меняться. В первом десятилетии существования FSF нам нужны были программисты, которые были бы способны создавать полезные свободные программы, внося свой практический вклад в популяризацию наших идей и ценностей. В то время постоянный поиск достаточного количества таких людей был единственным препятствием на пути нашего развития.

Но в последние годы ситуация начинает кардинально меняться. Сегодня существует класс программ (и их становится все больше с каждым днем), которые мы даже не можем написать, имея для этого все необходимые человеческие ресурсы. Некоторые программы-прототипы защищаются с помощью DRM (Digital Restrictions Management), некоторые производители железа и программ делают секретными свои спецификации и протоколы, и, наконец, к делу подключаются юристы, патентующие принципиально важные алгоритмы и звенья систем, которые мы бы хотели воспроизвести в качестве свободных для общества. Более того, в последние годы некоторые производители железа создают полностью искусственные системы защиты от инсталляции систем, отличных от их собственных, что фактически означает агрессивное противостояние попыткам использовать легально купленную вещь по собственному усмотрению.

Поэтому в последнее время мы все больше смещаемся от чисто технических проектов в сторону проведения публичных кампаний, рассказывающих о подобных фактах и опасностях, продвигаем методы противодействия им. Мы делаем все, чтобы привлечь внимание широкой публики к подобным неблагоприятным трендам, а также поддержать всеми силами тех, кто сопротивляется им. Теперь это куда важнее, чем программировать правильные вещи. Ведь если мы не переломим тренд, тираны проглотят компьютерный рынок, а вслед за ним и наше общество.

* * *

В апреле 2012 года случился скандал, по итогом которого Столлмана обвинили в отсутствии нормальной человеческой эмпатии и сочувствия. Суть состоявшегося тогда в списке рассылки неприятного разговора была такова: Люк (Luc Teirlinck, профессор Обернского университета, США) внес в ветвь разработки Emacs не совсем удачный патч, который вызвал неожиданные последствия для проекта. Поскольку в этом большом кумулятивном патче было собрано воедино сразу несколько важных исправлений, было нежелательно откатывать его целиком, поэтому Столлман попросил Стефана (Stefan Monnier, Монреальский университет, Канада) провести анализ патча и выкинуть оттуда проблемные вещи. Но именно в этот момент Стефан, один из самых квалифицированных и активных участников проекта, был чрезвычайно занят — у него родилась долгожданная дочка. Он извинился, что не сможет сделать это, сославшись на радостную причину. В публичном списке рассылки посыпались поздравления, но Столлман ответил одной резкой репликой:

Мне жаль слышать это.

Далее Ник (Nick Roberts, NASA) также поздравил Стефана:

Поздравляю тебя, Стефан! Я рекомендую тебе проводить все свободное время со своей дочкой!

Ричард еще раз зло огрызнулся в ответ:

Не нужно никаких специальных умений, чтобы размножаться — любое животное умеет делать это. С другой стороны, разработка софта типа Emacs требует реальных умений и навыков. Это одна из тех вещей, которыми как раз стоит гордиться. Такие проекты напрямую помогают другим людям.

В этой точке в списке рассылки начался «крутой замес».

Казалось, Столлмана съедят живьем, но он молчал в ответ. С современной точки зрения это можно было бы засчитать как исключительно удачный троллинг, но за этим стоят действительно серьезные убеждения сторонника childfree. Взять хотя бы 1993 год, где в рассылке разработчиков проскакивают частые поздравления друг друга с рождением детей, в которые опять вклинивается раздраженный Ричард, говорящий, в частности, следующее (приводится в оригинале, чтобы передать чувство слога):

These birth announcements also spread the myth that having a baby is something to be proud of, which fuels natalist pressure, which leads to pollution, extinction of wildlife, poverty, and ultimately mass starvation.

[1 «Подобные объявления о рождении ребенка культивируют миф о том, что появление ребенка — это событие, которым стоит гордиться, тем самым активизируя политику поощрения рождаемости, что неизбежно ведет к загрязнению окружающей среды, далее к вымиранию живой природы, бедности и, в конечном счете, к массовому голоду»]

Лично для меня актуальна следующая параллель: церковь эвтаназии учит практически тому же, что и Столлман, обвиняя человечество, ведомое инстинктами (констатируя при этом биологическое равенство между материнским и половым инстинктом), во всех смертных грехах — от грядущего перенаселения до скорой экологической и военной катастрофы. Каждая месса этой церкви подводит емкий итог, заканчиваясь одной логичной выводом-фразой:

Сохрани планету — убей себя

Чтобы лучше понять Ричарда как человека и личность, а не только как программиста или общественного деятеля, я решил спросить у него, насколько далеко он зашел.

Я знаю, вы убежденный сторонник childfree, можно ли услышать из первых уст, так ли это?

Я давно сам для себя решил не иметь детей. Проще всего сослаться на свой личный опыт детства: мои родители были вечно занятыми, отчасти из-за этого в моей семье было много напряжения и злости. Я хорошо помню главную установку — мы постоянно мешали и создавали проблемы друг другу. Я вырос и увидел, что точно также обстоят дела и в других семьях моих повзрослевших друзей. Дети превратились в их объективную проблему, что бы мои друзья при этом ни говорили вслух.

Я выделю два основных тренда: аутсорсинг — детей постоянно пытаются куда-то пристроить или спихнуть, будь то садик, бабушка или дедушка, сверхурочный факультатив в школе или какой-нибудь «ужасно интересный» кружок танцев. Часто, если эта часть вытеснения удается, родители временно чувствуют облегчение.

Второй момент — это постоянные упреки и недовольство… Я слышу такое количество взаимных замечаний, требований, ожиданий и пустых надежд в адрес детей и их родителей, что просто не могу пройти мимо всего этого. Я никого не обвиняю, я просто констатирую для себя с предельной честностью — у меня было бы так же (или еще хуже). Именно поэтому я сознательно не хочу быть родителем.

Можно ли назвать это разумным эгоизмом?

Спросите себя — каждый, прямо сейчас: какой след вы собираетесь оставить в истории, какой вклад внести в развитие цивилизации и расы? Задайте себе этот вопрос немедленно, на минуту поднимитесь над рутиной и жизнью на автомате.

Я ответил для себя — максимально значимый вклад, который я могу и хочу сделать, это проект GNU и движение за свободные программы. Я хочу изменить ландшафт в правовой и идеологической области разработки и распространения софта. Я хочу, чтобы этот рынок развивался в соответствии с самыми высокими идеалами, которые я в полной мере разделяю. Я хочу сделать людей свободней и защищенней, и я верю, что у меня это получится.

Нет, я не говорю, что не способен стирать пеленки, я лишь констатирую, что не хочу этого делать. Возможно, я обманываю себя в том, что я способен на большее, но вся моя жизнь — доказательство моей правоты (proof-of-concept).

Я выбрал не иметь детей, но я не призываю вас поступать аналогично. Я не желаю исчезновения человеческой расы и не навязываю свое решение кому-либо еще, я действительно прошу сделать этот выбор осознанно. На данный момент я вижу, что малочисленная семья — это выбор подавляющего большинства западного населения, как бы мы к этому факту ни относились. Количество всегда переходит в качество, лично меня этот тренд нисколько не пугает.

Есть другая важная гуманистическая составляющая моего решения, связанная с экологией, перенаселением и будущей экономической катастрофой. Не буду тратить время, предлагаю посмотреть концептуальный мультфильм Нины Пейли (Nina Paley)где эта политическая позиция выражена графически. [http://www.youtube.com/watch?v=1-0vnRmej0Q]

В контексте культурных ценностей многих стран ваши слова могут оттолкнуть людей, которым будет сложно принять (или даже просто понять) концепцию childfree. Все-таки материнство и отцовство — краеугольный камень семьи, которая есть основа современного государства и общества.

Нужно решить для себя самого, является ли человеческая особь биологическим или социальным феноменом. Конечно, в любой ситуации есть соблазн усидеть на двух стульях, но, по моему мнению, это взаимоисключающие роли.

Я выбрал идеалистические цели, никак не связанные с моей прямой биологической функцией, и это приведет к тому, что в районе 2050 года мир недосчитается от пяти до десяти потенциальных детей. Взамен общество получит проект GNU и движение за свободные программы — это стало моим главным детищем, на которое я трачу все свое время, силы и жизнь.

Звучит как исповедь прожженного либерала…

Во-первых, я дистанцирую свои воззрения либерала от классической парадигмы либертарианства. Например, я, как очевидно, не пропагандирую защиту интеллектуальной собственности, хотя GPL и защищает код в интересах конкретных индивидуумов.

Во-вторых, я за свободу выбора каждого, касается ли это сферы ПО либо чего угодно другого. Мы живем в мире готовых полуфабрикатов, рецепты которых защищены и охраняются тысячей самых различных способов. Программа жить и умереть «как все» — одна из подобных «предустановленных прошивок», и если вы попробуете модифицировать жизнь на свой собственный манер, вы увидите, под какой агрессивной опекой общественного мнения находятся все эти навязанные социумом способы проявлять себя.

Собственный выстраданный смысл жизни привносит реальность и целительную насыщенность в происходящее, и наоборот — то количество психозов, прокрастинаций, депрессий и раздражения, которое мы видим вокруг, — следствия попыток бездумно жить по чужим лекалам, которые мало соотносятся с вашими истинными глубинными чаяниями.

* * *

Меня всегда интересовало, как из личинки программиста, погруженного в свое увлекательное виртуальное действо, вырастает нечто совершенно чуждое сфере его изначальных интересов, например такой экстравертивный философ-активист, как Столлман. Как минимум, компонент либерализма я проследил у Столлмана по его пищевым пристрастиям — это страсть к кока-коле и фастфуду.

Позвольте пояснить этот момент отдельно.

Помнится, в прошлой жизни я проходил срочную службу «военным программистом» в отделе особистов забытой богом воинской части. Мой шеф, подполковник-секретчик, постоянно грыз меня на предмет того, что я окончил белорусско-канадский спецкласс английского языка.

«Америка, небось, по ночам снится?» — вкрадчиво «запытывал» он похожими вопросами при каждой случайной встрече.

«Это ложные ценности», — парировал я, изображая pokerface под его сверлящим взглядом.

Наблюдали не только за мной, но и наоборот. Большой странностью для подполковника «пятого отдела» было то, что он запивал обязательную для военных водку исключительно кока-колой. Вообще говоря, закусывать — исконно русская привычка. Помню, еще тогда это насторожило меня (если не брать в расчет других его закидонов, типа, будучи в подпитии, заставлять подчиненных подтверждать приказы фразой «Так точно, сэр»). Я нисколько не удивился, когда через пять лет после ДМБ, на юбилейной встрече сослуживцев я узнал, что именно этот подполковник-патриот благополучно свалил в США на «лечение», где впоследствии несколько задержался на ПМЖ. А ведь Америка — уникальная страна, где кока-кола стоит дешевле минеральной воды. Поэтому если вы откроете домашний холодильник типичного американца, почти наверняка обнаружите там бачок с колой, десятки сортов которой заставляют многих новоприбывших (даже без проблем со здоровьем, как мой бывший шеф-подполковник) по характерной ноющей боли в боку внезапно вспомнить, «где у тебя печень растет».

Столлман — не исключение из этой железной ассоциативной цепочки, он типичный natural born liberal, который получал кока-колу внутривенно еще в утробе матери. Практически в любом видео с его участием вы увидите на столе неизменную кока-колу или пепси. У Столлмана есть собственный райдер для организаторов его выступлений (он называет его info packet), в котором указывает необходимость двух баночек Pepsi на столе для обеспечения качества его, пронизанного елейным славословием всяческих свобод, выступления. Cola/Pepsi настолько плотно ассоциируется с демократией и либерализмом, что лично мне сложно утверждать, что из них является причиной, а что — следствием.

Поэтому как только мы заговорили с Ричардом про либерализм и гражданские права, мне страстно захотелось спросить про его странные пищевые привычки: каково это — жить на пицце и кокаколе, исповедуя принципы childfree и открытого исходного кода?

Столлман ест свои ноги

Как вы пришли к подобным либеральным взглядам, ставшим причиной создания движения FSF и борьбы за свободу софта? Программируете ли вы до сих пор?

Это слишком длинная история для короткого интервью, поэтому расскажу лишь главное. В молодости я работал системным программистом в Массачусетском технологическом институте в лаборатории искусственного интеллекта (AI Lab). Все проблемы начались с моего желания сделать автоуведомление для всех наших пользователей об окончания печати задания. У нас был один общий принтер на всех, а объемы печати у каждого были большими, что создавало достаточно нервную атмосферу вокруг принтера. Я захотел как-то автоматизировать эту очередь и оптимизировать коллективное использование ресурса. С технической точки зрения задача ясна, но для ее выполнения мне были нужны исходники драйверов принтера Xerox. В итоге в доступе к ним было категорически отказано, потому что этот код был проприетарным.

Затем было множество аналогичных инцидентов, которые даже поставили под сомнение возможность продолжения проектов в рамках AI Lab. Все это время я размышлял об этой перманентной проблеме несвободного софта, идея разрешения подобных ситуаций вызревала у меня все эти годы. Но когда главный проект лаборатории оказался под угрозой закрытия из-за конфликта различных правообладателей нашей главной системы, я осознал, что настала пора действовать. Поэтому сразу после инцидента с патентной атакой фирмы Symbolics, который переполнил чашу моего терпения, в январе 1984 года мной был запущен проект по созданию универсального набора свободного ПО. Ну а мне лично пришлось уволиться из AI Lab, чтобы посвятить себя полностью реализации этого проекта.

Так появился GNU Project. Далее в 1985 году был основан некоммерческий общественный фонд Free Software Foundation, который нанимал программистов в целях создания полностью свободной ОС и ее окружения. И наконец, следующая важная веха в нашем развитии (это 1989 год) — создание популярной лицензии General Public Licence (GPL), которая стала революционно новым типом лицензий и провозгласила класс ПО, распространяемого на условиях copyleft. Таким образом желая наконец покончить с проблемами юридического характера, мешающим работать мне и другим, я постепенно из системного программиста превратился в общественного деятеля. И хотя все это время я продолжал программировать и активно участвовать во множестве софтверных проектов, основной упор сейчас делается на путешествиях по всему миру для публичных выступлений и пропаганды идей нашего движения.

Насколько универсальны ваши GPL-принципы? На рынке уже существуют напитки с абсолютно открытой и доступной рецептурой, распространяемой по лицензии GPL, например OpenCola и OpenBeer.

На принципах GPL выпускают уже много чего — от дизайна электроники до музыкальных сэмплов. Например, буквально вчера вышел Novena — полностью опенсорсный компьютер — от начала до конца, который можно заказать и купить. Движение потихоньку набирает обороты, люди осознают, что это несет революцию, которая в корне улучшает их жизнь, возвращая в нее контроль над истоками. Впрочем, для процветания подобных проектов еще предстоит выстроить новую экономическую инфраструктуру и сформировать дружественный политический фон, все это дело будущего.

Я знаю, вы придерживаетесь своих взглядов и за пределами работы, даже по отношению к мобильным телефонам.

Что касается мобильных телефонов, то их реализация этически неприемлема, потому что это устройство двойного назначения, одно из которых — отслеживание вашего местоположения. Представьте себе, если бы я предложил вам сервис, который в состоянии в любой момент времени выдать ваше точное местоположение и, кроме того, дать возможность прослушать вас, — что бы вы сказали об этой возможности? Захотели бы вы добровольно носить на себе оборудование, необходимое для работы подобного сервиса?

Но ваш мобильный является именно таким устройством, и вы невольно принимаете участие в подобных экспериментах. Однажды увидев, насколько совершенна эта технология трэкинга, я сказал своему мобильному «нет». С современными телефонами все возможно, потому что часто они используют несвободное ПО (либо содержат отдельные компоненты, использующие его), — не удивлюсь, если в нем обнаружится бэкдор.

Для меня выбор не пользоваться сотовым телефоном абсолютно ясен и однозначен: я выбрал свободу в ущерб постоянной доступности. Это касается и всех остальных сфер моей жизни, где я также выбираю свободу во всех случаях, если вопрос ставится ребром.

К примеру, это касается и моего поведения в Сети. Я никогда не подключаюсь к Интернету там, где требуется моя личная идентификация для этого. Я игнорирую подобные места настолько, насколько это вообще возможно, благо публичный Wi-Fi сейчас достаточно распространенный сервис, чтобы испытывать из-за этого какие-то особые трудности.

Кстати, какие полезные сайты вы читаете? За исключением, конечно, сайтов fsf.org и gnu.org.

Как правило, я не пользуюсь браузером для просмотра веб-страниц напрямую. Знакомые люди часто сбрасывают мне важные, по их мнению, адреса. Я использую специальный Perl-скрипт, на который отправляю по почте запрос с URL-адреса интересующей меня страницы. В ответ почтовый робот вытягивает мне нормализованный контент этих страниц без всех отвлекающих рисунков, CSS и рекламы. Если такая страница-письмо того стоит, она остается в архиве моей почтовой базы в специальной подпапке и впоследствии доступна мне автономно в любой необходимый момент.

Для «браузинга» веба в режиме реального времени я использую специальный выделенный компьютер, впрочем, это случается достаточно редко. Никогда не делаю этого на своем рабочем нетбуке. Иногда мне присылают целые сайты, с которыми нужно ознакомиться. У меня есть штат волонтеров-помощников, которым я переадресую подобные запросы, с просьбой прочитать все и сообщить мне, если что-то конкретное заслуживает моего внимания. Даже если бы у меня и была техническая возможность постоянно сидеть в Интернете, я бы не делал этого из-за недостатка свободного времени. Ведь у меня есть важная работа, цели и идеалы.

В заключение личный вопрос: я знаю, вы большой любитель пиццы, колы и биг-маков. В принципе, это наивный вопрос, ведь американские программисты чрезвычайно занятые люди, но все же — почему именно фаст-фуд?

Это практично. Правда, я не скажу, что я горячий поклонник именно фастфуда, это заблуждение, но я охотно признаю часть обвинения — я люблю вкусно и изысканно поесть. Я прошу никогда не заказывать мне еду в кафе и ресторане, когда меня туда приглашают, я всегда выбираю меню исключительно сам. Я стараюсь относиться к питанию разумно и сознательно, отталкиваясь от своих принципов и приоритетов. Сверхмобильный образ жизни и национальный бэкграунд привносят определенную специфику в мои пристрастия: подобно тому, как вино и мясо любимо французами, в Америке при ее темпе жизни полстраны сидит на энергетиках типа колы. С недавних пор по моральным причинам я присоединился к бойкоту и перестал пить Coca-Cola, вместо нее я заказываю у организаторов выступлений оригинальную Pepsi (non-diet Pepsi), которую действительно очень люблю. Я сонный по психотипу человек, и пепси позволяет немного взбодриться для более живого общения. По этой причине все виды содовых диетических напитков не оказывают на меня нужного бодрящего эффекта, хотя я и пытаюсь избегать лишнего потребления сахара, выбирая более здоровую пищу.

Что касается всего остального, в быту я веду скромный и нетребовательный образ жизни, и вряд ли про меня можно сказать, что я подвержен каким-то чрезмерным излишествам, в том числе в питании.

Послесловие

Желая в меру своих скромных сил спародировать добрую манеру Столлмана отсылать ссылки на «графическую иллюстрацию своих взглядов, чтобы сэкономить слова», для демонстрации общей простоты и нетребовательности Р. Столлмана я также приведу ссылку на ролик под говорящим названием: «Free software activist Richard Stallman eats shit» (другой вариант названия ролика: «Столлман ест свои ноги»). [https://www.youtube.com/watch?v=Rhj8sh1uiDY]

На 01:44 минуте этот известный активист, ведя публичное выступление «на босу ногу», быстрым движением руки отдирает нечто налипшее на свою ступню и не глядя отправляет «это» себе в рот. Ролик набрал почти миллион просмотров — убежден, врожденная способность привлекать к себе внимание по любому поводу — неотъемлемая черта любого успешного общественного лидера. Открытость, нетребовательность в быту и прямота Ричарда искренне подкупают и как минимум вызывают добрую улыбку даже у окончательно «испорченных жизнью коммерческих программистов» типа меня.

ГЛАВА 2. Крис Касперски — Евангелие от Мыщъха

Крис Касперски (Николай Лихачёв) — популярный российский автор компьютерной литературы на русском и английском языках по информационной безопасности и низкоуровневому программированию. Реверсер, хакер и эксперт по информационной безопасности, известный в Рунете под ником «мыщъх». Считает работу смыслом своей жизни. Хобби и увлечения — астрономия, стрельба из оружия, коллекционирование монет.

Интервью взято в 2014 году.

За свою жизнь на три страны я видел вживую множество гуру из мира больших ИТ — les monstres sacres («священных монстров»). Крис Касперски, также известный как Мыщъх, стоит особняком. Известный российский реверсер, кстати, не признающий себя программистом и хакером, — один из самых популярных авторов российской компьютерной литературы (для статистики: он «заточил» около 800 статей и больше 20 книг). Все — с приставкой «бывший».

Сказать, что теперь у него сложно взять интервью, — не сказать ничего. Моя первая попытка два года тому назад оборвалась на полуслове. На этот раз получилось более удачно, и когда все «эксепшены» были аккуратно расставлены, Крис закурил свои любимые гаванские сигары, и мы начали этот длинный разговор об ИТ, Америке и его бренной жизни.

Рестон

У каждой профессии, как и у человека, — свой рай обетованный. Для актеров это, безусловно, Голливуд. Для компьютерщиков подобным вожделенным пристанищем стала Кремниевая долина. Сразу оговорюсь: предлагаю отойти от более традиционного русского написания «Силиконовая долина», которая в самих США ассоциируется с «порнографически раем» в Сан-Фернандо. Впрочем, кроме раскрученной в медиа Кремниевой долины, в США есть еще одно место, не менее известное у бывалых айтишников в теме, — это Рестон (штат Виргиния). Об этом небольшом городке не принято рассказывать взахлеб, а толпы программистов, работающие там, не любят бахвалиться своим местом работы.

Рестон — небольшой городок, типичное захолустье. Высокая трава по колено, всего одна дорога во внешний мир, несколько провинциальных магазинов натыканы прямо среди поля. За чертой города — бескрайний лес. На фоне типичной деревенско-лесистой местности можно заметить необычные вывески — тут представлены все без исключения американские ИТ-гиганты: Intel, Microsoft, Google, Symantec, PayPal, IBM, Dell, Juniper, Citrix и т. д. Oracle здесь вообще градообразующее предприятие со своей собственной центральной улицей — Oracle way.

Чем же так примечательна эта деревня?

В 20 минутах езды от нее — Вашингтон, политическая столица США. Там обитают основные заказчики и кураторы многочисленных местных ИТ-проектов, которые, чаще всего, не принято обсуждать в прессе. Здесь каждый стремится урвать свой кусок от бездонного федерального пирога — и именитые ИТ-компании, и, тем более, их многочисленные рабочие лошадки — программисты.

Уже более шести лет Крис Касперски — один из колоритных обитателей Рестона. Несмотря на то что знакомые, встречая его на улице, панибратски приветствуют «Привет, Иисус!», от былой публичности не осталось ни следа. После последнего развернутого интервью пять лет назад у него были проблемы с работой, и «плохие парни» грозились депортировать его из США.

Про работу

Что ты сам можешь рассказать о своей работе? Надеюсь, это не ЦРУ?

Мы, конечно, не ЦРУ, но уровень секретности у нас ничуть не хуже. Не люблю секретность. Не выдержал и написал на стене маркером в знак протеста:

Everything is a secret. Everybody is an enemy. A cold war inside [censored].

Насчет врагов я, конечно, погорячился, но перед отбытием на «Black Hat» (в качестве зрителя) со мной провели инструктаж, потому как там шпион на шпионе. Здесь мы подходим к той грани, где мне приходится взвешивать каждое слово, поскольку оно идет в печать. А потому давайте сойдемся на формулировке: «На данный момент работаю в крупной американской компании на должности рядового инженера, занимаясь выполнением задач, поставленных руководством».

Какая у тебя специализация?

Поскольку в физическом труде меня заподозрить сложно, то, вероятнее всего, основной доход дают мозги на плодородной ниве информационной безопасности (ИБ).

Поковыряем немного в плотной завесе секретности. Пару лет назад было много шума, типа ты там какой-то космический софт написал?

Ох уж этот пытливый русский народ, блин. Там все засекречено. Но из того, что можно рассказывать (и что уже засветилось на конференциях), так это проекты для US FAA и US Air-Force.

Писал модули детекции (HIPS) для обнаружения вторжений и атак как second in charge, то есть вся ответственность на мне. Эти модули работают в закрытой сети указанных организаций, физически отрубленных от Интернета, и там даже нормальных rfc’шных протоколов нет — все какой-то левый самопал, с которым приходится работать. Это, конечно, не совсем космос, но очень-очень близко к нему. Любые атаки (инсайдеров) тут — это очень критично.

Касательно космоса — писал софт для одной организации для распознавания спутниковых фотографий. Но это скучно и к космосу имеет только опосредованное отношение. Применил уже давно разрабатываемую мной идею.

Какова история этой идеи распознавания?

Вся история развивалась примерно так.

Специализируюсь в секьюрити, и вот мне предлагают принять участие в американской государственной программе (то есть практически бесплатно) по охоте на сайты с детской порнографией. Но ловить сайты по косвенным признакам (локациям доменных имен и прочим) уже пробовали — неэффективно. И тут меня осеняет, что «распознавание образов» как общая задача, действительно, требует искусственного интеллекта и многих лет упорной работы. А вот данную частную задачу можно решить на коленке буквально в сотне строк кода, анализируя видеопоток — порно или не порно (даже если видеопоток сильно пережат). Попробовали — получилось! Очень высокая точность!

В распознавании «малвари» (а это моя основная узкая специальность) и изображений на первый взгляд мало общего, но существующие антивирусы работают по тому же принципу, который может быть адаптирован и для распознавания изображений, если не спускаться на уровень алгоритмов, а мыслить абстрактными категориями. Именно за счет этого достигается возможность распознавания новой «малвари» моим методом.

Другая госпрограмма США работала со спутниками, меня спросили: а нельзя ли адаптировать твою порнотехнологию для наших целей на спутники (автоматическое распознавание заданных объектов на поверхности)? Решили попробовать. Получилось. Главное требование у всех — скорость. Большого ума от распознавалки не требовали, но она должна была работать так быстро, как это только возможно. Вот три этапа эволюции одной идеи. Кстати, сейчас на эту мою технологию начал поглядывать Google.

Что такого принципиально нового ты смог предложить, если этим занимаются тысячи человек по всему миру?

Цвет кожи (особенно детской) имеет достаточно специфичный оттенок, который предсказуемо «корежится» при пережатии в разные цветовые пространства. Сочетание цветов половых органов также специфично. Но это мы пока говорим про то, что есть на порно. А вот то, чего на нем гарантированно нет, позволяет однозначно отсеять кучу другого контента. Обычно в качестве критерия для поиска с переменным успехом искали лишь первую часть условия. У меня же эффективность значительно увеличивается использованием второй «исключающей» составляющей. Но даже в первой составляющей у меня есть определенные ноу-хау.

А вообще, основные алгоритмы были лицензированы у Кэннона и только допилены под мое видение задачи. К примеру, мой вклад — там распознается не только свет, но еще и постановка освещения. В дешевом порно она очень характерна. Например, повсеместное мигание вспышек. Кстати, в момент вспышки мы получаем истинный цвет, решая проблему баланса.

Короче, это как бы не распознавание изображения в классическом понимании, а распознавание конкретного вида контента. Скорость получилась офигительная, так как выполняются тривиальные операции, которые еще и легко параллелятся. Число ложно-позитивных и ложно-негативных срабатываний получилось даже лучше, чем изначально требовал заказчик.

Да, кстати, вирусы у меня распознаются примерно так же. Тот же самый принцип в точности. Ищем в вирусах нечто такое, что встречается в них, но гарантированно отсутствует в остальных программах.

Как я понял, твой успех был отчасти в том, что все пытались найти общее универсальное решение и впоследствии увязали в нарастающей сложности. Ты же решил узкоспециализированную задачу, зато смог это сделать эффективно и быстро. Немного отвлекаясь от основной темы, здесь мы снова возвращаемся к любимому тобой спору вокруг назначения языков C и C++.

Каждый конкретный язык определяет мышление, хотим мы того или нет. Так вот, постоянно сталкиваюсь с тем, что «плюсовики» тяготеют к решениям в общем виде, в то время как «сишники» решают задачу в частном виде, что в разы быстрее.

Одну текущую задачу сначала показали «плюсовику», спросив, сколько займет ее решение. Он сказал: «Здесь нужно писать могучий движок. Короче говоря, это проект на полгода». Его коллега-«сишник» поинтересовался: «А зачем?» Ведь поставленная задача укладывается в сотню строк кода! Ответ был ошеломляющим: «Ну и что, мы так и будем по сотне строк кода писать для решения частных задач, каждый раз, как они возникают?» Нетушки, задачи надо решать раз и навсегда!

По моему глубокому личному убеждению, проблемы нужно решать по мере их возникновения. Писать программы на вырост с избыточным универсализмом нужно, лишь очень хорошо предварительно подумав, ибо это из серии «Почему сегодня не делают корабли, летающие к звездам?» Ответ прост: потому что корабль, построенный завтра, прибудет быстрее, а корабль, построенный послезавтра, еще быстрее. И их обоих обгонит корабль, построенный лет через пятьдесят, но когда он вернется обратно, то обнаружит, что у человечества совсем-совсем другие проблемы.

Ты упомянул, что этот твой «принцип распознавания» впоследствии применялся к разным темам, но впервые ты использовал его в анализе «малвари» и даже оформил патент на его основе. Можешь рассказать подробнее?

Как-то в бытность свою работал я удаленно. Ну, как работал, скорее анализировал огромное количество сплоитов. Причем делал все медленно, потому что навыка не было. Порядочно устав, я написал программу, которая автоматически сгенерировала другую программу. И вот эта другая программа анализировала сплоиты со скоростью один гигабайт в секунду. Запустил ее и улетел в Берген на встречу со знакомой немкой. И вот пока я гулял по сказочно красивой Норвегии, наслаждаясь золотой осенью и местным колоритом старинных замков и фортификационных сооружений, мой компьютер все это время стоял включенным «под нагрузкой».

И когда дней через десять вернулся, программа уже завершала анализ, но у меня хватило ума никому об этом не говорить и до конца года получать «убитых енотов» автоматом. А за пунктуальность и следование намеченным планам мне еще бонусы платили на работе. В конце концов, меня заела совесть, и я выслал результаты машинного анализа одним и очень большим куском. В результате эта фирма надолго встала, и теперь мне же пришлось писать еще одну программу, чтобы автоматизировать труд тех, кто разгребал эти результаты, писал к ним тесты и заносил в базу.

Собственно, так я и получил свой первый (и пока единственный) софт верный патент.

Не удивлен, что без женщин не обошлось. Как я понимаю, на основе развития этого принципа впоследствии ты написал модуль, благодаря которому был признан лучшим сотрудником года в McAfee. Что он делал?

Если помнишь, была такая нашумевшая китайская атака против Google — Operation Aurora1. Вот за нее и наградили. Фокус в том, что я ее чистой эвристикой распознал, модулем, который собрал еще за полгода до самой атаки. Конечно, мне просто повезло, как везет немногим...

Но в итоге оказалось, что передо мной в США открылись такие перспективы, о которых я вообще мечтать не мог. Даже в принципе. В самом смелом сне.

Про ФБР и тренды ИБ

Не знаю ничего про твою текущую работу, но вот что интересно. Я лично не знаком с рядовыми айтишниками, которые стали долларовыми миллионерами. Насколько я в теме, ты — один из них. Дает ли это какие-то особые ощущения?

Теперь долларовых миллионеров столько, что их никто не считает. Даже миллиардеров и то не считают, ибо слишком много. Долларовых миллионеров только среди моих очень близких друзей я могу перечислить несколько, и никакой элитарности в них не наблюдается.

До сих пор ношу майку, купленную больше пяти лет назад. Всю в дырках и заплатах. В тире надо мной смеются. Спрашивают: «Это дырки от пуль?»

Так что миллион — это очень мало на самом деле. Это верхне-средний класс. С другой стороны, одни интересные люди предлагали мне два «лимона». Я спросил у них, что можно сегодня купить на эти деньги. Интересные люди неправильно меня поняли и, не торгуясь, предложили сразу двадцать, но были посланы, потому что на текущие расходы я и сам заработаю, а большего мне не надо. [1 http://en.wikipedia.org/wiki/Operation_Aurora]

Давай еще немного погутарим про интересных людей, так и шарящихся вокруг тебя. Слышал из новостей, что в США у тебя было неприятное приключение — однажды к тебе с обыском нагрянуло ФБР...

Очевидно, меня подозревали и что-то искали, а потому изъяли все, что могли. Никаких обвинений не предъявляли. Так что по существу мне рассказать нечего.

Чем все закончилось?

История имела приятное продолжение и закончилась внесудебным урегулированием с выплатой мне отступных в размере зарплаты сферического программиста из РФ за несколько лет, так что никакие это не потери, а сплошные приобретения. Выводы? Все, что не убивает, делает нас сильнее. Хотя кастрированный кот с этим может быть не согласен.

Подобные бодрящие дух инциденты регулярно случаются с известными специалистами по ИБ и «полевыми хакерами». Пройдя через это лично, что посоветуешь своим коллегам?

С тех пор, когда внезапно ФБР постучалось в дверь и изъяло все железо, флешки и все-все-все, у меня появился ценный жизненный опыт. Теперь время от времени самые важные для меня данные я сбрасываю на «винт» и кладу в банковскую ячейку. Это — мои личные файлы (не для чужих глаз). А все, что не представляет секрета, я активно раздаю народу. В тот раз мне пришлось собирать себя по кусочкам, качая файлы взад у тех, кому я их давал ранее. Месяца за три я собрал себя процентов на девяносто, кое-что оказалось утеряно безвозвратно, ну и фиг с ним.

Переходя к твоей специализации — реверсинг любого кода, анализ вирусов и разной малвари. Расскажи про их эволюцию — вначале были стелз-вирусы, затем пришла эпоха полиморфов, а что было потом?

А потом «замысловатые слова» посыпались как из рога изобилия. Advanced persistent threat (или сокращенно APT) обычно включает в себя сокрытие факта своего присутствия в системе (он же Stealth, он же Root-Kit), активное/пассивное противодействие обнаружению и удалению и т. п.

Полиморфизм — это частный случай метапрограммирования. В computer science под метапрограммированием обычно подразумевают программу, результатом работы которой является другая программа. Пассивные детекторы сканируют файлы в поисках уникальных последовательностей символов. Активные (их принято называть «проактивные») детекторы работают по принципу поведенческого анализа. Грубо говоря, последовательность вызова API-функций — это метрика. Поведенческий анализ распознает определенные сценарии (например, инъекцию кода в доверенный процесс) безотносительно того, как именно они реализованы, и последние несколько лет идут кровопролитные бои за видоизменение поведенческих сценариев до состояния, когда они становятся практически неотличимы от легитимных сценариев популярных программ.

Изменились и угрозы. Если во времена MS-DOS вирусы были «проблемой грязных рук» и не затрагивали тех, кто пользовался лицензионным программным обеспечением, то сейчас основная масса вредоносных программ распространяется через документы, эксплуатируя ошибки проектирования. Дороже всего приходится расплачиваться за ошибки в сетевом стеке — чтобы подхватить заразу, достаточно всего лишь интернет-подключения, даже браузер запускать не обязательно, хотя ошибки в сетевом стеке — большая редкость и гораздо чаще хакеры проникают через святую троицу — pdf, jar, swf. По умолчанию браузер загружает их автоматически, и если не установлены обновления — ждите проблем.

Вообще, полиморфическим технологиям сейчас переломили хребет?

Отнюдь. Во времена MS-DOS вирусы включали в себя генератор кода, доступный для анализа. Сейчас же код генерируется удаленно на хакерском сервере и отдается по http-запросу. Или... не отдается. Сервер проверяет IP-источник запроса, и в случае каких-либо подозрений последующие ответы возвращают 404 или чистую страницу. К тому же, хакеры обязательно проверяют IP на принадлежность к антивирусным компаниям и разным правительственным лабораториям. Да и сам генератор в любом случае остается недоступен. В самом лучшем случае вы можете его купить на черном рынке за наличные деньги, но чаще всего такая возможность недоступна, а потому в распоряжении аналитиков есть лишь отдельные экземпляры работы генератора, в которых необходимо выделить неизменную часть, что существенно затрудняет разработку детектора.

К тому же централизованный генератор хакеры могут обновлять так часто, как им вздумается. Прошли времена, когда вирусы работали только под MS-DOS и только под Intel x86. Сейчас необходимо распознавать не только машинный код x86, ARM, PowerPC, не только байт-код (Java, Flash), но и бесчисленное множество скриптовых языков (JavaScript, VBScript, Python).

Например, на Маках Python идет предустановленным, что открывает для хакеров новые перспективы. Кстати, Python замечательно распространяется не только в виде скриптов, но и байт-кода.

На фоне всего сказанного, что можно сказать про перспективы традиционного автоматического лечения вирусов?

Автоматическое лечение (удаление троянцев) неуклонно сдает свои позиции, и зачастую лечение сводится к переустановке системы. Кроме того, лечение возможно только на end-points. Типичный IPS в лучшем случае предотвращает атаку, но не в состоянии обезвредить уже атакованные системы, поскольку IPS находится между атакуемым и атакующим.

Вообще сейчас перед хакером стоит другой приоритет — любой ценой передать управление на свой код, например, расположенный в файле документа и не рассчитанный на исполнение. Эта новая доминанта содействовала развитию веера новых технологий от NOP Slides до Heap-Spay и Return oriented programming (оно же ROP).

Крис, как человек изнутри этой темы, поясни, как антивирусная индустрия вообще справляется с таким огромным потоком новых зловредов? Сколько «дохлых тушек», положенных реверсеру на стол, он способен физически обработать в сутки?

Этим занимаются специально обученные люди и машины, причем машины все более активно вытесняют людей. Все, что можно автоматизировать, — давно автоматизировано. Сейчас этих тушек столько, что никаких человеческих ресурсов на них не хватит. В качестве примера устройства этого процесса могу посоветовать интересную презентацию, ищите ее по ключевым словам: Adobe Malware Classifier.Вообще, дизассемблировать каждую тушку зловреда — это все равно, что хватать вражеских солдат по одному и допрашивать. Оно, конечно, полезно. Добыть языка. Одного. А лучше двух. Но что они могут рассказать? Стратегические планы верховного командования им все равно не известны.

Сегодня зловреды уже не сами по себе. Они — пушечное мясо на поле кибер-войн, сегодня от них зависит чуть больше, чем ничего. Сейчас важно суметь понять устройство хакерской экосистемы — круговорота машинного кода и наличных денег.

Каковы сейчас самые общие тренды ИБ в рамках этого круговорота?

Основные тренды уже сидят, причем сидеть им еще долго — лет двадцать, а то и больше. На помощь антивирусам пришли FBI, CIA, US Secret Service и другие страшные слова. Поэтому сейчас маржа везде падает, а посадки растут.

Самый последний писк моды — в прицел атаки попали встраиваемые устройства. В первую очередь это, конечно, роутеры. Зловредный код в роутере очень сложно обнаружить. А тем временем хакеры наши способ проникнуть внутрь камер наблюдения, подключенных к Ethernet, например используя процессорные мощности для майнинга биткоинов. На очереди умная бытовая техника (например, холодильники), а также атаки на бортовой компьютер автомобиля — это фантастика новой реальности.

Куда растет современный рынок коммерческих решений в области ИБ? Насколько я знаю, это одно из самых быстрорастущих и популярных направлений вообще в ИТ?

У меня лет двадцать опыта работы в индустрии безопасности, в том числе и на позиции архитектора. Я хорошо знаю рынок и видел множество примеров успешных начинаний, впрочем, неуспешных примеров было еще больше. Рынок систем безопасности действительно очень быстро растет. И растет он потому, что совсем недавно вирусами занимались школьники, «подонки» и прочие «креативные» личности. Затем ПК подключили к банкам, и тут оказалось, что на троянах можно делать деньги.

Рекорд в этом деле — двадцать лет отсидки за шесть доказанных нулей. Накинем еще один нуль за счет недоказанных, но... когда к Интернету подключили госучреждения, когда спецслужбы полностью компьютеризировались, внезапно выяснилось, что хакеры — это не просто «оболтусы с Дерибасовской», а угроза национальной безопасности. Уже несколько лет, как действия в кибер-пространстве США могут официально расцениваться как объявление войны и быть достаточным основанием для введения реальных войск на территорию противника.

Поэтому, как только государство появилось на рынке ИБ, домашние пользователи перестали быть в центре внимания просто потому, что у них нет пары десятков миллионов, с которыми они готовы расстаться (и еще столько же заплатить за поддержку). Причем государства всех стран крайне смутно понимают, что им нужно покупать для своей безопасности, посему покупают они много лишнего.

В итоге все крупные игроки, ну то есть абсолютно все, купили огромное количество решений безопасности, и на гребне следующей волны пришли системные интеграторы, пытающиеся собрать эту груду разрозненного говна воедино. Но и этот гребень уже пошел на спад, а на горизонте маячит новый третий. В практическом плане это означает, что скоро предстоят сделки на миллионы и миллиарды долларов, но «повезет» здесь только тем, кто к этому уже готов и у кого уже есть готовые решения.

Напомню, что в свое время антивирусы для ПК дали рождение многим нынешним компаниям-миллиардерам, возникшим буквально на пустом месте без каких-либо инвестиций. Но это было относительно давно, в девяностых. Впрочем, суть осталась неизменной — большие деньги зарабатывает тот, кто первым предлагает «спасительную» услугу, когда еще никто толком не осознал своих потребностей и необходимостей.

Развивая эту тему, можно ли поговорить о третьем гребне волны? Конечно, тебе это не интересно, но среди наших читателей-айтишников многие неравнодушны к деньгам. Можно ли привести примеры пока не заполненных ниш, чтобы молодые и амбициозные специалисты по ИБ с твоей помощью могли бы разглядеть, где же лежит этот новый и такой вожделенный Клондайк?

Чего только не ломают хакеры сегодня! И если на POS-терминале антивирус еще можно представить (хотя с большим трудом), то, например, на surveillance camera антивирус тупо не встанет потому, что это конструктивно не предусмотрено. Хотя де-факто там, скорее всего, ARM и портированная версия Linux. Такая камера вещает потоковое видео, и там хакеры уже нашли дыры, позволяющие заливать шелл-коды со всеми вытекающими отсюда последствиями.

Вот мой личный пример из этой оперы. Недавно я прикупил пару Ethernet-камер для дома. С камерами идут аккаунты на сервере их производителя с персональным доменом третьего уровня — заходи себе через браузер, введи пароль и смотри удаленно, что там дома у тебя происходит. Два сервомотора обеспечивают свободу наведения, а ИК-подсветка видит даже в темноте — все было бы хорошо, если бы не было так плохо.

Жизнь показала, что эти камеры оказались дырявые, и в них уже поселился ботнет. Сетевым червям даже мозги напрягать не нужно: ваш домен третьего уровня (точка входа в контрольную панель камеры) — это, грубо говоря, число (в данном случае) очень короткое, а потому все камеры сканируются перебором влет и тут же автоматически взламываются. А вот обнаружить такую атаку — затруднительно. Ну, то есть не то, чтобы совсем затруднительно... Например, если в камере не включен протокол https, то шелл-коды ловятся сниффером, а если включен? Мне повезло, что в моем случае производитель сделал фейковый https (ну, практически фейковый — у моей камеры нет ресурсов для шифрования видео, потому по https она только пароль с логином передает, а все остальное — гонит через http).

Поэтому мне пришлось после работы самолично поковырять такую камеру из-за ее заражения, и я обнаружил, что ботнет откликается на определенные http-запросы к камере. Детектор зараженности, быстро написанный мною на «питоне», укладывается меньше чем в сотню строк. Если накинуть еще пару сотен, то можно на Squid proxy через icap-фильтры давить попытки таких червей проникнуть в камеру, тупо заворачивая их «на юг».

Другой личный пример. Видел в местном магазине микроволновку с Ethernet. По сети она сама выкачивает из Интернета время и режимы приготовления тех или иных блюд, используя сканер штрих-кода с упаковки товара. От наших электронщиков слышал, что там при старте прошивка грузится в ПЗУ, распаковываясь в память, и что холодный рестарт, возможно, спасет домохозяек. Но что такое холодный рестарт для микроволновки, особенно в США? Если черви будут атаковать потоково, просто устанешь перезагружаться.

Подводя итог — через несколько лет на рынке бытовой электроники будут миллиарды (!) подобных «умных» устройств, подключенных к Интернету, многие из которых — на самом деле не умные, а очень даже глупые (потому как дырявые и уязвимые). Особенно, если они подключены к ПК. Тогда тот, кто заразил ПК, может контролировать весь «умный» дом удаленно.

Но известные мировые производители бытовой электроники разбираются в безопасности как «тузик в апельсинах» (смотрите два моих личных примера выше). И потому они будут вынуждены выкупать сторонние решения. Все это — огромный, только зарождающийся рынок. И он просто гигантский! Поверьте, что рынок ПК в сравнении с ним «нервно курит в сторонке». Сюда уже устремились первые и пока «совсем зеленые» поставщики решений ИБ.

В первую очередь это стартапы, один из которых недавно приобрел очень известный бренд бытовой электроники за деньги, которые лично мне даже не снились. А в том стартапе работает всего несколько человек, и они, между нами говоря, ничего нового и не сделали (слегка пропатченная OpenBSD, чуть переделанная OpenJava, а также расширения для отражения атак типа use after free). Но денег уже заработали на всю жизнь.

* * *

В возрасте нескольких недель, когда врач по ошибке вколола инъекцию хлористого кальция, Крис перенес инсульт. Частично омертвели ткани мозга, что привело к легкому аутизму. Это не помешало ему стать признанным специалистом в области ИБ и одним из самых популярных компьютерных авторов в РФ, хотя путь к этому был тернист. Родное село в Краснодарском крае, где Касперски провел большую часть жизни, он определяет лаконично: «Интернет-выделенка десять мегабит канал».

Многие отмечают, что Крис производит странное первое впечатление. Для примера попробуйте представить состояние консула США в Москве, к которому заявляется для получения рабочей визы простой краснодарский хлопчик, у которого нет ни высшего образования, ни подтвержденного опыта работы, то есть вообще ничего, кроме справки о законченном среднем образовании, но которого приглашала на работу ведущая американская ИТ-компания. «Да это …скам какой-то!» — выпалил офигевший консул, назначив служебную проверку всех представленных документов.

Первое собеседование Криса в США также показательно — он отказался выполнять предложенное задание, найдя в нем ошибки и «нечеткую спецификацию». Так его собеседование превратилось в собеседование работодателя, окончившееся оффером на 300 тысяч долларов — первой официальной работой в жизни. Сегодня Мыщъх — обладатель редкой американской визы О1 (для людей с выдающимися способностями). Подобной визой могут похвастаться нобелевские лауреаты, академики, известные всем айтишники типа Линуса Торвальдса. Крис — обладатель титула «лучший сотрудник McAfee», о своей текущей работе говорить категорически отказывается, ссылаясь на потенциальные проблемы.

Впрочем, к опасностям ему не привыкать. Мыщъх вспоминает, что когда еще жил в родном селе, местные бандиты предлагали ему подломать компьютерную систему учета завезенной свеклы на сахарном заводе. Отказаться было сложно, но приятель помог все разрулить без последствий — криминал убедили, что и бабок поднять не получится, и спалятся при этом все быстро.

Собеседования

В моем случае собеседования проходят обычно так. Когда я прихожу наниматься на работу, то сразу говорю, опережая вопросы: «Давайте я сам расскажу, что умею делать и какие конкретно проекты могу предложить, а вы выбирайте. Если вас ничего не заинтересует, пойду к другому. Если же вас заинтересовал, по крайней мере, один мой проект, то обсуждаем, какие ресурсы вы готовы под него выделить. Дадите мне людей и сроки или возможность заниматься этим самостоятельно (но тогда и сроки увеличиваются в разы)?» Также интересуюсь, сколько у них «кастомеров», какой «фидбэк» и не придется ли писать в стол?

Не могу отказать себе в удовольствии сыграть роль интервьюера. Какие у вас есть еще пожелания, мистер Касперски? Я уже записываю.

Если мой новый манагер будет против того, чтобы я держал сексигрушки (ладно, назовем это произведениями искусства) на своем рабочем месте, то мы с ним не сработаемся, и один из нас должен будет покинуть компанию.

Также если в коллективе много людей, неравнодушных к неграм и гомосексуалистам, то от них лучше держаться подальше. Тем более, если они еще и трусы.

Давай про требование о секс-игрушках поподробнее, все остальное пока подождет.

Прямо сейчас у меня на рабочем столе стоит стеклянный анальный плуг. И трава лежит рядом. Четыре мешочка. Кстати, настоящая. Раз положил ее на радиатор сетевого компьютера (с пассивным охлаждением), поскольку весь стол уже был заставлен нужными вещами, и она от сильного нагрева начала пахнуть. Сотрудники учуяли запах и... нет, отсыпать я им сам предложил. Они-то все это время думали, что это просто типа декорация. Ага, щаз.

Крис, я тут в большом затруднении, форкнуть ли разговор по теме «стеклянного анального плуга» или по теме «мешочков с травой, лежащих на радиаторе». И это, поверь, чертовски сложный выбор! Давай начнем с первого. Прости мою детскую психику, но что это за хрень такая?

Это стеклянный дилдо из чистого пурекса штучной работы.

Не будем продолжать эту взрывоопасную тему. Главное, что твой менеджер не против... По второй теме — ты рассказывал, что ФБРовцам тоже предлагал отсыпать хорошей травы по доброте душевной. Я человек старомодный и больше по части крепкого кофе, но даже мнеинтересно, что есть такого натурального «для разгона мозга» на твоем радиаторе?

Я вообще-то не специалист по вопросам «разгона мозга» (криво улыбается). Лично мне мозги по жизни не разгонять, а тормозить нужно. Посредством селективных ингибиторов обратного захвата, отпускаемых строго по рецепту.

Что же касается вас: зайдите на Ютуб и наберите Making a Killing: The Untold Story of Psychotropic Drugging. А на Амазоне можно заказать Diagnostic and statistical manual of mental disorders. В последнем, пятом издании список психических расстройств сильно расширен, и количество ненормальных среди населения с 75 % возросло до 90 %. И если вы думаете, что вас это не касается, просто дождитесь выхода шестого издания справочника.

Короче, был бы человек, а расстройство с прилагающимся препаратом найдется. 100 миллионов людей регулярно употребляют психотропы, отпускаемые по рецепту, то есть приблизительно каждый пятый американец (по другим данным — каждый третий).

Как часто тема травы обсуждается на интервью с тобой?

Травяная тема затрагивалась лишь в собеседовании с Google, потому что обе стороны относились к интервью как к покраске жухлой травы в зеленый цвет, и откровенно стебались. Потому что я не собирался менять работу, и моему собеседнику это было известно. В общем, это было убойное интервью на полчаса, в течение которого мне не задали ни одного технического вопроса. И лишь под конец гуглер сказал, что «только умный человек может позволить себе выглядеть дураком».

Зачем участвовать в интервью, если ты заранее знаешь, что не будешь там работать?

Друг, ты когда-нибудь заходил в магазин без конкретной цели, а просто, чтобы посмотреть? Тут то же самое. Я честно сказал товарищам гуглерам, что у меня есть работа и она мне нравится, но... никто ведь не застрахован от того, что меня, скажем, уволят или, образно выражаясь, поставят раком. Да и вообще, Мыщъх потрепаться любит, особенно о компьютерах, чего и другим рекомендует.

Сколько ты прошел интервью?

Телефонных интервью у меня было столько, что к концу я уже даже не отрывался от своего хачинья бинарников, сидя возле компа за повседневными делами и прижимая трубку плечом к уху. Уж даже не помню, о чем мы там говорили. А потом как-то резко интервьюировать перестали, а сразу стали предлагать офферы. Вот эту фазу запомнил четко.

Видимо, чисто спонтанно на подсознательном уровне у меня выработалась привычка снюхиваться с кадровичками, чтобы им все становилось ясно без всяких тупых вопросов, — просто большая практика и ничего больше.

Хорошо, двигаясь дальше, предположим, ты получаешь оффер, что происходит после этого?

Задаю вопрос манагеру: «А как насчет того, чтобы самому увидеть место предполагаемой жизни и работы?»

Вот как происходило со мной во многих фирмах. Сначала пускают в офис и говорят ничего не делать. Ну, я то к одному сотруднику подсяду рядом, то к другому. Смотрю, что они делают, как программируют. Что-то спрашиваю, что-то предлагаю переписать. Так проходит несколько дней. Затем пиплы пишут свои впечатления манагерам.

Последние выносят решение. После чего появляется кадровичка и называет такую цифру, которая очень далека от средней по рынку (в большую сторону). Но иногда меня это не возбуждает, ибо пиплы за ланчем только о политике и треплются, и меня уже тошнит от них, и мне совсем не улыбается дальше с ними работать. А бывает и наоборот — все просто клево, ну вот просто клево и все. Но... опенспейс и никакой приватности. Абыдно. Или хороший офис и коллектив, да и зарплата ничего, но сам город действует угнетающе (как на меня действует Пекин, например, откуда я поспешил быстро убраться).

Слушай, для многих интервью — это как экзамен, ты же превращаешь все в балаган.

Интервью — это и не экзамен, и не балаган. Вопросы в правильном собеседовании составляются так, чтобы понять, какую предметную область покрывает кандидат и какую не покрывает. Как бы и не предполагается услышать ответ на все.

Например, меня раз очень усердно пытали по крипто (скорее всего потому, что зашел в компанию, специализирующуюся на «криптографик ресерч»), на что я честно сказал, что прочел пару популярных книжек, но не осилил. В ответ поступает оффер.

«Ну как же так?» — от неожиданности офигел я. Объясняют — знаете, штат по крипто у нас укомплектован и расширять мы его не планируем. Даже если бы вы ответили на все крипто-вопросы, мы бы вас на эту тему все равно не взяли. «А на какую тему вы меня берете?» «А вы вот скрипты для IDA Pro писать умеете?» «Ну, да. Умею. Так это ж фигня». А вот и не фигня — отвечают категорично. Им это очень нужно, а никого так и не нашли.

Как успешно пройти собеседование? Есть какой-то максимально общий совет для наших читателей?

Для успеха на собеседовании достаточно просто представлять, как работает бюрократическая машина, и следовать тропами ее лабиринта, который на самом деле не лабиринт, а work flow.

Начнем с того, что это вообще за идиотизм такой вы у меня спрашиваете — «как пройти собеседование»? Пройти только затем, чтобы оказаться первым кандидатом на увольнение? Давайте уж расширим вопрос до «как пройти собеседование, устроиться на работу и удержаться на ней (и не застрять на первой же ступеньке карьерной лестницы?)».

«Устроили тут гестапо» — такой вывод можно сделать из вашей постановки вопроса. Типа собеседование — это смертельная схватка, которую нужно выиграть любой ценой. На самом деле все проще. На нормальном собеседовании смотрят ваши сильные и слабые стороны. И если (допустим) фирме нужен человек в отдел быстрого прототипирования, а вы тугодум, хоть и пишете программы, работающие с первого раза, то, очевидно, было бы безумством стремиться на данную позицию. Равно как и наоборот.

А если вы сразу с порога заявляете, что вы очень крутой, то к вам и спрос будет соответствующий. А вот Мыщъх обычно скромно мямлит, что он только хочет попробовать чучелком или тушкой, и никто не пытается его подловить. Серьезно. Я уже говорил и повторю еще раз из уважения к читателю — на многих работах, куда я собеседовался, все тестовые задания я провалил в том или ином виде. Практически наглухо. Но слив не зачли и сказали эйчару — не обращайте на это внимания, это у парня комплексы, это он считает, что он провалил собеседование, а мы (работодатели) считаем иначе.

Тут ведь понимаете, в чем суть. Если в ответ на запрос ТЗ предоставить его образцовую реализацию, то вас могут из принципа и зачморить, придравшись чуть ли не к оформлению комментов. Заставь дурака богу молиться, он же себе и фаберже расшибет. А если вы сразу скажете — у меня ни фига не получилось, но кое-какие мыслишки все-таки возникли и я вот тут их набросал в таком скомканном виде. Так как все равно это провал, я сильно не старался, но вот посмотрите, тут есть пара интересных моментов. И вот уже в этих моментах максимально раскрыть свою самую сильную сторону, зажечь там напалмом так, чтоб аж самого перло.

Клянусь своим хвостом, это работает. Утверждаю как матерый грызун, ибо в период с 2008 по 2010 год я собеседовался в дюжине стран и контор как по телефону, так и очно — это всегда срабатывало. Первое впечатление было всегда не в мою пользу (и я смирился с этим), ну уж потом на выходе я и сам не знал, как сделать так, чтоб они все отстали. Ибо их (офферов) много, а я — один.

Поэтому рекомендую постоянно тестировать свои способности и навыки, чтобы находить в себе свои личные сильные стороны (то, что вы делаете лучше всего, а в идеале лучше остальных) и развивать их, целенаправленно прокачивая. Не хвататься за первое попавшееся предложение, а мыслить стратегически, не сиюминутным рублем... вот я (ну о ком мне еще говорить, как не о себе?) на протяжении десятков лет, сидя в своей деревне, нес существенные финансовые потери. Ну, пусть не десятков. Но лет пятнадцать — точно. Зато теперь прицениваюсь к самолетам (реактивным) и смотрю, сколько стоит аренда места в ангаре. На дом еще не скопил, но квартиру могу купить в любом штате свободно, только не хочу терять мобильность. До сих пор воспринимаю зарплату как мелкие карманные деньги, работая на далеко не самой оплачиваемой работе, но зато на своем месте, где я всему активно учусь и развиваюсь. Но у меня свой собственный расчет. Он — дальновидный.

Подводя итог: основная стратегия, о которой я тут втираю, — это не тянуть свои скилзы под абстрактные требования, а, наоборот, развивать в себе свои лучшие качества. «Не стоит прогибаться под изменчивый мир — пусть лучше он прогнется под нас». Сначала стоит достоверно выяснить, что у вас получается лучше всего (в идеале лучше, чем у большинства), а затем — интенсивно копать в этом направлении.

Если говорить предельно кратко, чем отличается типичное американское собеседование от российского?

В России на собеседованиях часто пытаются раздавить, любой ценой показать, что ты ничего не понимаешь, — чтобы снизить зарплату. Людей там не ценят так, как деньги. Здесь, в США, чаще всего наоборот: если видят, что ты стоящий специалист, в тебя вцепляются мертвецкой хваткой и больше не отпускают, предлагая лучшие условия на рынке и идя во всем навстречу. Что же касается наболевшего — это общая специфика РФ, — там мало продуктовых компаний и еще меньше компаний, в которых постоянно появляются линейки принципиально новых продуктов (принципиально новых не технологически, а написанных «с нуля» без «легаси»). Поэтому в РФ разгребание «застоялых говен» входит в job description по умолчанию.

Образование и карьера

Невольно выходим на тему образования, которая всегда актуальна для любого айтишника. Для начала — есть ли у тебя высшее образование в области ИТ?

Институтов я не кончал. Я сделал свой выбор и бросил вуз сразу после поступления. До сих пор не знаю, что я упустил и как сложилась бы моя жизнь, поступи я иначе. История не знает сослагательного наклонения.

Сейчас с этим проще — самообразование становится очевидным трендом. Диплом — ничто, знания — все. Откуда сегодня можно черпать качественную информацию?

К примеру, на YouTube можно найти множество видеозаписей лекций по computer science от различных лекторов из самых различных мировых вузов. По части информатики с большим отрывом лидирует арабский мир, причем, что показательно, лекции почти всегда на английском. За ними следуют США (с большим отрывом от остальных).

При этом легко видеть, что не все лекторы одинаковы: одни объясняют вещи глубоко и понятно, другие же — ущербно и загадочно: у таких можно только вызубрить, сдать и забыть, поскольку пользоваться этим все равно не получится.

Отмечу, что кроме знаний институт дает еще и связи, а связи решают все. Потому что после вузов народ разбегается кто куда, а разбежавшись, тянет к себе своих. Впрочем, это сильно зависит от конкретного вуза и страны.

В наше время также доступно огромное количество книг...

Хороших книг и раньше было немного, и даже сегодня их чуть меньше, чем совсем ничего, а классика так и остается классикой. Например, в семидесятых была одна «Книга Дракона», а сейчас доступны десятки качественных вариаций на тему, но в них от 70 % до 90 % — это пересечения и повторения, а потому первую книгу читаем вдумчиво, остальные бегло пролистываем в поисках различий.

Опять же, давай поможем новому поколению сделать первый шаг в эту самую классику. Взять, например, известную книгу Кнута — не все способны понимать изложение алгоритмов, описанных в ней, хотя, знаю, многие усердно штурмовали их. Конкретный пример: Heap sort — несложный, в общем-то, алгоритм, который можно в пять минут объяснить на пальцах, но я столкнулся с тем, что некоторые коллеги не понимают его в наукообразном изложении Кнута. Как правильно грызть гранит науки? — вопрос на миллион для профессионального грызуна Мыщъха.

Нужно заказывать похожие или аналогичные книги с Амазона, где их очень много. К примеру, сейчас я углубился в теорию CS и постоянно покупаю кучу разных книг. Большинство из них давно не переиздавались, но можно купить б/у. Среди них попадаются очень и очень хорошие. Вас какие алгоритмы вообще интересуют? Алгоритмов много и все из разных предметных областей, но книг, их описывающих, — еще больше.

Взять, например, упомянутого Кнута. Да, у него изложение своеобразное. Но статьи, на которые он ссылается в своей книге, зачастую описывают эти же алгоритмы намного понятнее и доступнее. Многие из этих статей опубликованы в журналах, которых сейчас уже не достать, но сборники таких статей часто доступны в виде отдельных книг. Например, вот: Computer Algorithms: String Pattern Matching Strategies (ISBN-10: 0818654627). В этой книге один и тот же алгоритм последовательно описывается разными авторами и по-разному, что существенно облегчает понимание новичку.

Насколько я могу судить, молодое поколение не очень-то много читает, судя по всему, потерявшись в этом информационном изобилии.

Согласен. Но сейчас, по крайней мере, есть документация. Есть SDK и куча примеров. А вот в свое время, чтобы заставить CD-ROM проигрывать диски, мне пришлось дизассемблировать пару программплееров, реконструируя протокол, причем так приходилось делать не только мне одному. Информацию собирали буквально по крупицам. Ассемблер x86 я изучал в досовском debug.com путем анализа воздействия команды из реальной программы на флаги, память и регистры процессора.

Но у моих предшественников и этого не было. Пионеры информатики не могли почерпнуть знания в книгах, поскольку эти книги им еще предстояло написать. По сути, с тех пор ничего не изменилось, просто линия фронта сместилась. Да, сейчас можно набрать в Гугл вопрос: как развернуть список на Java/.NET/C и получить готовый код для «копи-пасты». Зачастую, даже несильно кривой и рабочий. Но если спросить Гугл, «как написать Гугл», то ничего полезного он все равно не скажет, так как непрерывно совершенствуется, а над проблемой поиска бьются лучшие умы человечества. Лет через надцать об этом можно будет прочитать так же свободно, как сейчас мы читаем принципы построения компиляторов в «Книге Дракона», в результате чего создается огромное множество новых языков и технологий, которые не только создаются, но и выживают в конкурентной борьбе.

Кстати, давайте побухтим о молодежи. В чем отличие молодежи от «олдскул», как ты видишь?

Если бы во многих вопросах молодежь не клала меня на лопатки, я бы бухтел. А так у нас просто разделение труда и совершенно разные подходы к решению задач. Я по старой привычке сначала включаю мозги, затем внезапно вспоминаю, что Гугл рулит. И минут через полчаса рожаю ответ.

В это время молодые коллеги через свои фейсбуки и твиттеры быстро-быстро находят того, кто знает ответ, и уже через три минуты уходят пить кофе. Да, у них другой стиль. Они более социальные. Они не привыкли по умолчанию полагаться лишь на самих себя, потому что у них онлайн 24/7 и куча друзей в контактах. Почему сразу НЕТ, если ДА?

Вот тут фильм вышел на экраны (к моменту публикации интервью уже зашел) Edge of tomorrow. Фильм — фигня, но там инопланетяне только на первый взгляд индивидуальные особи, а на самом деле это единый организм со своим мозгом и нервной системой. Вот таким организмом и стало современное поколение. Это же МЕГА-МОЗГ планетарных масштабов, круче, чем Солярис.

Возвращаясь к началу: нас читает множество молодых и начинающих айтишников, которые делают свои первые шаги в ИТ в направлении к упомянутому тобой мега-мозгу. Какие бы общие советы ты им дал? Что необходимо для взлета карьеры в ИТ?

А давайте вы пойдете по грибы, а я буду давать советы, куда конкретно вам ходить, основываясь на собственном опыте? Ничего, что мы разнесены в пространстве и времени и что моей тропой ходить бессмысленно — именно потому, что я ею уже ходил и собрал все грибы? Это, конечно, абстрактный пример, но его легко превратить в конкретный. Когда компьютеры были большими, а вирусы простыми, я только-только начинал интересоваться этой темой. Вирусы росли, хакерские технологии усложнялись, но ведь и я не стоял на месте. К тому же хакеры двигались поступательно, из пункта А в пункт Б. Шаг за шагом. Сейчас же зловреды усложнились настолько, что человеку с улицы очень трудно войти в эту область, и со своими 15–20 годами практического опыта я получаю огромное преимущество перед молодым поколением. Поэтому если изначально выбрать одно из молодых направлений ИТ-индустрии, то лет через пять можно начинать получать конкурентное преимущество. Конечно, при условии, что это направление окажется востребованным.

Что же касается успеха в карьере — для взлета необходимо оказаться в нужном месте в нужное время. Ни знания, ни способности сами по себе этого не обеспечивают. Выражение: если ты такой умный, то почему не богатый — слышали? Оно хоть и едкое, но меткое. Умный не означает успешный, хотя успешный — это скорее умный, чем нет.

У меня встречный вопрос насчет последнего сильного утверждения. Большинство из нас выросло в рамках западной культуры «сделай себя сам» или «талант всегда пробьет себе дорогу». Не все могут смириться с тем, что от нашего таланта, усидчивости и вложенных усилий зависит далеко не все, если не сказать, что, согласно тебе, — почти ничего…

Скажите, а вы колодцы никогда не рыли? Вы не в курсе, что в одном месте можно копнуть — и вот она, вода. А ваш сосед день роет, два роет, три... а воды нет и не будет. Грунтовые воды они такие... Знакомый с Ростовской области как раз попал на такую подлянку. Весь отпуск убил на рытье колодца, а воды так и не оказалось. Но не пропадать же тяжкому труду? Решил сделать туалет типа сортир. Говорит, что и ему теперь хватит, и детям его, и внукам.

Что касается успеха… Никакой значимости или успешности в жизни просто не существует. Есть субъективное ощущение (собственной) значимости. При этом всегда будет толпа людей, которые намного успешнее тебя, равно как толпа неудачников, которые все кругом пропили и теперь им даже не опохмелиться. А еще существует до фига людей, типа меня, которых ни своя, ни чужая значимость совсем не колышет, потому что им вообще на все пофиг.

Поэтому конкретная метрика самореализации сильно зависит от вашей среды окружения и круга общения. В моем окружении очень много ярких, неординарных и успешных людей, на фоне которых мой «успех» практически незаметен.

Но это не значит, что делать ничего не надо. Говоря кратко, в рамках своей среды делать нужно то, что у вас получается максимально хорошо. В идеале — лучше, чем у большинства остальных. Повторяясь, я бы использовал природные наклонности конкретного человека и уже имеющиеся отточенные навыки, а не пытался навязывать ему стандартные шаблоны социума. И тогда, возможно, при стечении множества маловероятных обстоятельств вы окажетесь впереди. По крайней мере у вас будет больше шансов вырваться вперед, чем у тех, кто упорно занимается тем, чем у них ни фига не получается заниматься, но это типа «сейчас модно» и вообще такой типа тренд. В последнее время из-за высоких зарплат таких случайных людей особенно много и в ИТ.

* * *

Крис, по его собственным словам, последовательно прошел три стадии. На всех трех — отдавая себя полностью, фанатично и без остатка.

Сначала он тратил свое время, деньги и силы на ковыряние компьютеров, программ и писательство, ведя по большей части замкнутый деревенский образ жизни. Затем последовал взрывной каскад неуемных путешествий по всему миру — антитеза к умиротворенному бытию сельского чудака.

В этот период огромное количество стран, в том числе экзотических, остались позади. Пик этого рандеву — громкое выступление на тему удаленного взлома процессора Intel в Малайзии в 2008 году. Запомнился комментарий какого-то изумленного «повесткой дня» англоязычного пользователя под страничкой-анонсом мероприятия, обращенный к организаторам:

Удаленный взлом процессора Intel через Javascript? Эй, чуваки, что за траву вы там курите?

Несмотря на преследующую образ Криса тему грибов и травы (не без взаимности), эта гиперактивность дала серию важных профессиональных знакомств и контрактов по всему миру. Эмиграция в США была заключительной попыткой как следует встряхнуть скользящую по накатанным рельсам жизнь. Например, чего только стоит его скандальное участие в американском «Реалити ТВ» с собственной концепцией полигамной семьи, которая взорвала рейтинг программы, а одна из девушек-участниц из команды («шведской семьи») Криса смогла даже заработать на дом.

Третий фазовый переход — недавно проснувшаяся безумная по силе страсть к оружию и армии. Я не буду перечислять оружие, накопленное Мыщъхом в своей рестонской норе (мирно соседствующее с ящиком патронов недалеко от камина), скажу лишь, что оно с лихвой перевешивает количество его компьютеров. Крис признает, что по натуре он скорее авантюрист, чем прилежный технарь, и постоянный поиск все новых острых ощущений и драйва выталкивает его все дальше за пределы поднадоевшей зоны комфорта «офисного ИТ».

Я не мог обойти стороной эту важную «адреналиновую составляющую» окончательно американизировавшегося Мыщъха, поэтому в заключение интервью мы поговорили об оружии и будущем нашего героя.

Оружие и армия

Ну и как тебе Америка?

Америка — это великолепная страна, в которой я чувствую себя как дома, и это первая страна, пробудившая во мне чувство патриотизма и чувство острой ностальгии. Ненадолго вернувшись в Россию, я заспешил обратно, потому что колбасило по всему мясокомбинату, колбасило в прямом смысле слова. Ощущал себя фаршем на физическом уровне. Ничего подобного до этого я никогда не испытывал.

В Америке меня воспринимают своим. В Москве я был чужим. В Америке я могу рассчитывать на помощь чиновников всех уровней до сенатора штата включительно (и, кстати, сенатор мне помог, когда возникли проблемы с миграционным статусом). В Москве же сотрудники милиции настойчиво вымогали с меня взятки, требуя регистрацию, и их не убеждали даже штампы в паспорте, что в Москве я транзитом и только что пересек границу нескольких государств.

Как ты докатился до коллекционирования оружия?

Во-первых, уже в США у меня была затяжная депрессия, вызванная тем, что я достиг всего, о чем раньше мог только мечтать. При этом исчезли все ориентиры и цели. Отчасти большие деньги меня испортили, в какой-то момент мир перевернулся, стало не к чему стремиться. Но все изменилось с приходом нового сильного увлечения — стрельба из стрелкового оружия. Меня сильно потянуло на «подвиги». Захотелось острых ощущений. Появилось желание переосмыслить жизнь. Тем более что она давно превратилась в вялотекущую реку, и даже миграция ничего радикально не изменила.

Во-вторых, стрельба — это целая наука (вот вы можете сказать, какой вес пули выбрать для ствола 14 дюймов с твистом 1/7? А на сколько отклонится пуля, если вы выставили «zero» на дистанцию 100 ярдов для pnc 55, а решили стрелять hornady polymer tips v-max?).

В-третьих, стрельба мало чем отличается от карате. Без шуток. Если взять книжки по стрельбе и по карате, то они взаимозаменяемы. И там, и там главное — это повторять одну и ту же операцию 100 500 раз, и там, и там главное — это держать баланс тела. И там, и там значительная часть посвящена тому, как очистить разум от мусора. Потому что если во время стрельбы думать о проблемах, то бобра убить можно, но только и всего. А слабо хотя бы с 50 ярдов выстрелить десять раз, получив одну дыру размером с пулю или лишь чуть-чуть больше? Просто офигенный восторг испытываешь, когда стреляешь второй раз, третий... а дыра всего одна.

Может, эта депрессия — классический кризис среднего возраста?

Мой средний возраст пришелся на глобальную перестройку с полным разрушением старого мира и воздвижением нового. Возможно, миграция и явилась следствием личного кризиса, потому что никаких объективных предпосылок к этому не было. Лежал на топчане в удрученном состоянии духа, слушал «Дорогу Паука» Агаты Кристи, потом вдруг вскочил, купил билет и через пару часов уже мчался навстречу судьбе в полной темноте. Никакой подготовки и предварительного обдумывания не было.

А твоя еженедельная стрельба в тире — это такой американский способ отдыха или снятия стресса?

После посещения тира болят все мышцы, а потому падаешь пластом как мешок с драпом и спишь беспробудным сном. Если это называется отдыхом, то я не знаю, что такое работа.

Оружие у таких авантюристов, как ты, лежать без дела не будет. Расскажи пару историй из своей американской жизни, которых, знаю, у тебя вагон и маленькая тележка.

Вот сегодня шел по нашему полуночному хутору (Рестону). На улице — ни души, только какой-то бездомный (с виду) чувак идет навстречу и громко говорит, что have done this shit before. Короче, фиг поймешь, что он хочет сказать. Чувак видит, что до меня не доходит, и потому деловито достает перочинный ножик размером с зубочистку и предлагает субсидировать метаболизм этилового спирта в его организме. Я человек не жадный и даже не принципиальный, но вместо кошелька в кармане неожиданно обнаруживается граната.

Граната настоящая — не муляж и не стрейкбол. Причем купленная легально. В нашем штате для этого даже документы показывать не надо. Вообще-то, не совсем граната, но это реальный боеприпас, предназначенный для поражения живой силы противника. Это 20 квадратных сантиметров взрывчатки в металлическом корпусе с взрывателем ударного типа весом больше чем полкило. При взрыве создается давление в четыре тысячи атмосфер, что обеспечивает достаточный радиус поражения.

Но поскольку это не совсем граната, то задержки нет.

Достаю девайс из кармана и говорю, что сегодня, по всей видимости, мой день умирать, но одному умирать скучно, а тут бог мне в помощь чувака послал. Так что умрем оба — обнадеживаю его. Вижу ситуацию так: даже если чувак успеет меня пырнуть, то далеко ему не убежать. Дальше мой ход — и кишки по деревьям! Крысота! Ну, на счет кишок я, конечно, загнул, но осколки из него потом еще долго будут выколупывать, если в живых останется.

Чувак говорит мне: «Мужик, не дури! Мир, дружба, негры!», а сам делает выпад, пытаясь отобрать гранату. Да пусть берет. Я достаю вторую. Все равно у меня с собой еще две, а дома так еще больше. Они же меньше десяти баксов стоят. И в нашем штате они вполне легальны. Если какие и есть ограничения, то мне они неведомы.

Короче, конфисковал у чувака его зубочистку, и он спешно ретировался, нервно оглядываясь через плечо. Так что граната — это сила. А взрыватель на будущее я решил переделать на свой манер.

В нашем штате, опять же, это законно.

* * *

«Вы будете смеяться» (c), но я сейчас пытаюсь попасть в армию. Армия, правда, не российская, а штатовская, но неграждане в ней служить все-таки могут, и я могу быть полезным. Я даже в горячих точках готов служить, но меня пока не берут, хотя тестовое задание прошел со знаком отличия (одним из пунктов было: вот вам «ноут» противника, а точнее, все, что от него осталось после взрыва, — восстановите хоть что-то и как можно скорее).

Только я пробивной и упрямый. И своего все равно добьюсь. Во!

Может, тебе нужна сильная доза драйва и адреналина, что-то посильнее травы и грибов?

На самом деле, в армии США может быть очень даже скучно, но здесь нет дедовщины и довольно комфортно. Техникам там даже в Ираках предоставляют отдельную комнату. Армия США — она не для всех, тем более гражданство сразу дают только тем, кто едет в горячую точку. А там иногда убивают. Мне-то лично пофиг, если меня убьют. Я просто проснусь и все. А вот вам, вероятно, не пофиг.

Хотя некоторые считают, что я больной. Тут в тире давеча пожар был. Реально огонь полыхал во весь рост, а я говорю: «Дайте магазин дострелять, люди!» Пожар — не повод к отступлению. Ну, даже если там патроны где-то валяются живые, так они же без ствола не стреляют, а только пукают. Мне сказали, что я идиот, перекинули меня через плечо и вынесли из тира силой. А пока выносили, Мыщъх кричал им: «Пустите меня в армию! Я буду солдат в атаку поднимать под пулями и огнем противника!»

Зачем с твоими успехами в ИТ вообще нужна армия? Какой главный мотив-то?

Я стремлюсь в армию США, потому что испытываю сильный дискомфорт от того, что приехал в Америку на все готовое, а тем временем граждане США выиграли одну войну за свободу, затем покончили с рабством и сейчас воюют с внешними врагами. Простые американские парни отдают свои жизни, чтобы я мог спокойно спать и просыпаться. Так что США я должен, как земля колхозу, но в армию попасть не так-то легко. Ну, а что я забыл в армии, этого даже местный военный психиатр не понял на собеседовании.

Где именно ты хочешь служить?

На данный момент я эксперт по компьютерной безопасности, серьезно увлекшийся спортивной стрельбой. Поэтому я стремлюсь попасть в navy, но не в seal, в подразделение информационной разведки.

С учетом возрастных ограничений в армию США я могу попасть лишь в исключительном случае, продемонстрировав исключительные способности, официально подтвержденные визой EB1. Так что кроме как специалиста по ИБ в армию США меня не пустят ни тушкой, ни чучелком.

Послесловие

Крис Касперски, прямая речь:

Знаю, что такими, как я, психиатры занимаются, а у психиатров клевые препараты. Психоделические. У меня рецепт на три месяца вперед. Но и без препаратов я за мир, дружбу и негров. Мыщъх вообще пацифист по природе. Откуда взялся образ бойца — загадка. В метафизическом смысле любой текст — это зеркало, отражающее сознание читателя, и воспринимать его можно и так, и эдак. Если в зеркале отражается боец, зеркало тут не виновато.

С моей натурой, склонной к приключениям и авантюризму, своей смертью я не умру точно. Рано или поздно меня пристрелят. Тем более, что я напрашиваюсь в горячую точку, но чтобы меня туда взяли, необходимо хотя бы 15 раз отжаться в течение двух минут в полной экипировке. Не потому, что это minimum minimore, а потому, что передо мной поставили цель и хотят убедиться в серьезности моих намерений. Вот и весь смысл происходящего.

В определенном смысле я никогда не умру, потому что частицы моего Я, мои статьи и книги, разлетелись осколками на века, попав на плодородную почву молодых пытливых умов, изменив ход их бытия, и теперь уже не просто провести границу, где они, а где Я. Да и Я — это на самом деле никакой не я, а продукт брожения мозга, читавший определенные книги, слушающий срывающую крышу музыку и так далее по списку. Я же не вещь в себе. Во мне живут осколки тех, кто вспыхнул до меня. И так по эстафете. А потому мы приходим к: «в начале было слово». Именно слово делает людей бессмертными. Пока кто-то грезит о возможности скопировать свое сознание в компьютер будущего, другие копируют свое сознание посредством письменности.

И все-таки будет интереснее, если в будущем мы встретимся с читателем не в такой форме, а лицом к лицу на поле боя, посмотрим друг на друга в перекрестие прицела. Хотя это и мало вероятно, но у судьбы извращенное чувство юмора. Вот тогда и посмотрим, кто из нас чего стоит.

ГЛАВА 3. Андрей Чернов — сущности контроля

Андрей Чернов, системный программист и Unix-администратор, один из исторических патриархов Рунета, автор русской кодировки KOI8-R, активный участник многочисленных OpenSource-проектов, среди которых можно выделить FreeBSD, PGP, Apache. Также является переводчиком художественной и мистической прозы.

Интервью взято в начале 2014 года.

В преддверии окончательной победы ура-патриотов над национальным сегментом Интернета, накануне запрета на территории РФ сервисов-гигантов Facebook, Gmail, Skype, Github и других (в конкретные причины этого сейчас вдаваться нет смысла, за неизбежностью этого стоит так называемая концепция цифрового суверенитета), мы решили поговорить о происходящем с патриархом Рунета, с человекомлегендой, стоявшим у истоков создания русскоязычного сегмента сети Интернет, который в далеком 1991 году, работая в легендарной компании «ДЕМОС», непосредственно участвовал в запуске и наладке первого интернет-канала с внешним для нас западным миром.

Андрей Чернов (@ache) — автор русской кодировки KOI8-R (RFC1489), которая стала первой русской стандартизированной кодировкой в Интернете, знаменитый участник проекта FreeBSD (кстати, первый русский участник FreeBSD Core Team), соразработчик многих известных программных пакетов, например SSH, PGP, Taylor UUCP, ZIP/UNZIP, Tin и т. д.

Но все же Андрей — не просто один из исторических патриархов русской части Интернета или просто известный технический специалист по устройству интернет-сетей, в свободное от работы время ловящий криминальных хакеров (например, известный эпизод с поимкой российского хакера из СПбГУ). Такие представления о нашем герое были бы слишком однобоки. Сегодня это также писатель, мистик, переводчик литературы А. Кроули, философ, человек с активной гражданской позицией.

В свое время его демонстративная публикация в Интернете скандального романа Владимира Сорокина «Голубое сало», эксклюзивные права на который принадлежали издательству Ad Marginum, закончилась самым настоящим судом для нашего героя. Но суд отказал издательству в удовлетворении иска. По мнению некоторых экспертов, именно в результате этого важного прецедента Рунет на несколько лет выпал из сферы действия законодательства об авторском праве.

Именно с общечеловеческих и философских позиций мы и поговорили с ним о сегодняшнем Интернете, его тенденциях развития, ну и нашей с вами человеческой жизни вообще. В первой половине нашей интеллектуальной беседы мы попробовали нащупать истоки и природу тотального контроля не только над Интернетом, но и над всей нашей современной цивилизацией, чтобы проинтерпретировать двуликость и опасность нынешней повальной социализации.

Во второй — коснемся роли Open Source и современных ИТ в жизни общества.

Это полная правда, абсолютная и чистая, что называется, все идет через серверы, которые находятся в Штатах, все там контролируется. Вы должны просто из этого исходить, такая жизнь, так она выстроена американцами, они сделали это. Вы же знаете, все это возникло на первом этапе, на заре Интернета как спецпроект ЦРУ США. Так и развивается до сих пор. <...> Все равно изначально — это военная программа, специальная программа, поэтому так и сидит в центре вот эта часть спецслужб. Президент России Владимир Путин,  пресс-конференция от 24.04.2014.

Предлагаю сразу перейти к наиболее злободневной теме. Как вы относитесь к ужесточению законодательства в отношении Интернета?

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

Если ничего подобного — даже одиночных самосожжений на городских площадях — не произошло, значит, общество согласно. Пусть оно отчасти недовольно, не сумев пока избавиться от старых привычек, но в целом согласно. Именно это позволяет двигаться вперед в обозначенном направлении. Вперед к патриотическому традиционному евразийскому обществу, представленному такими образцами для подражания, как Северная Корея, Китай и некоторые исламские государства (например, Иран).

Люди устали от навязанных «свобод» для абстрактного индивидуума, люди хотят делегировать эти свободы компетентным органам, а сами — просто жить. Жить нормально, жить в стабильности под мудрой отеческой опекой государства или общины, а не в изматывающей неопределенности бесчеловечной конкурентной борьбы либерального рынка.

Вы сказали, что общество по инерции недовольно происходящим в Интернете лишь потому, что до сих пор не избавилось от старых привычек. То есть свобода мнений и информационное разнообразие — это всего лишь поверхностная привычка?

Задумайтесь на минуту, ведь есть страны, где за многое из того, к чему вы так привыкли в Интернете, можно легко угодить за решетку. Ошибка в том, что вы безответственно воспринимаете свою привычку или болезненное пристрастие как должное, не пытаясь сопоставить ее с ограничениями нравственного императива, проявляющимися в законодательстве таких стран.

Но кто должен диктовать этот высший императив во благо общества? Например, недавно мы слышали о желании запрета публичных Wi-Fi в России — это мотивировали в том числе потенциальной опасностью взрыва террористами российских АЭС посредством данного вида мобильной связи. Можно ли доверять компетенции отдельных людей при их единоличном формировании такого эталонного для государства (и всех его граждан) «набора привычек»?

Сбывается мечта Маяковского о том, чтобы каждая кухарка могла управлять государством: теперь шахтер, оленевод, спортсмен, секретарша — все, как видим, избранники народа, и они как один поднимаются в Госдуме на борьбу за новый лучший мир без зла. Как проектная разминочная площадка для этого вполне подходит изначально натовская сеть Интернет. И пусть так называемый креативный класс причитает, что наши депутаты и чиновники не знают, как работает то, чем они хотят управлять, — им и не нужно знать.

Каждый должен заниматься своим делом: знать за них будут ИТ специалисты и выполнять любые распоряжения беспрекословно. Нытье о невозможности технической реализации не поможет: не знаете, как ради блага всей страны сделать, что вам приказано, — вон из отрасли! Будем строить российский Интернет на своих, отечественных технологиях с чистого листа и выдавать разрешения пользоваться им только доверенным организациям, как в дружественной Северной Корее.

Наверное, должны быть и какие-то положительные моменты столь жесткого модерирования естественного информационного обмена, в частности сети Интернет?

Они есть, и их довольно много. Например, обычно замалчивают вклад ограничительных законодательных инициатив в развитие этой самой отрасли. А ведь введя процедуру блокирования по IP, мы способствуем скорейшему исчерпанию оставшегося адресного пространства уже устаревшего IPv4 и переходу на более современный и емкий IPv6.

Когда-нибудь с божьей помощью и на деньги налогоплательщиков Россия построит свой DPI, ведь DPI значительно повышает производительность сети, отбрасывая все лишнее. Так она станет страной не хуже Китая с его общенациональными центрами фильтрации трафика размерами с небольшие города. Вокруг — развитие и прогресс, тот же Китай уже свои аппараты на Луну запускает, поэтому не нужно устраивать панику и искусственно нагнетать страсти, потакая отдельным индивидуумам, запутавшимся в сетях либеральной идеологии.

Я считаю, это замечательно, что наши спецслужбы наконец взялись за освоение Интернета. Ехидные либералы предлагают им ловить экстремистов на улицах, а не в Интернетах, но почему, скажите на милость, не в Интернетах? Давайте наладим поимку экстремистов сначала в Интернетах, а потом и за улицы возьмемся, когда наберется опыт. По историческим меркам экстремизм — явление, можно сказать, новорожденное, никаких таких экстремистов раньше не было.

Поэтому так важно с чего-то поскорее начать, а не раскачивать лодку воплями о некомпетентности спецслужб.

Можно ли констатировать, что этот «вид прогресса» приведет к тому, что Сеть потеряет остатки анонимности и станет таким же общественным местом, как окружающая реальность?

А никакой анонимности быть и не должно. Ведь что такое анонимность? Это либо скрываемые злые намерения, либо скрываемая беззащитность. Ни тому ни другому не место в справедливо устроенном обществе, и если мы начинаем создавать его с обустройства Интернета, то и в Интернете тоже. Игры в анонимность — это просто опасно.

К примеру, если у вас есть анонимный Биткоин, то вы уже наркоман, педофил, террорист или их пособник, возможно, даже этого не подозревая. Поэтому квалифицированные специалисты из ЦБ РФ и Генпрокуратуры оперативно разобрались с этим вопросом для вашего же блага. Не будьте такими эгоистами — отказ от призрачной приватности поможет предотвратить какой-нибудь теракт, спасти сотни, а то и тысячи невинных жизней. Давайте начнем с Интернета, а потом и на людях будет стыдно появиться без беджика с паспортными данными и штрихкодом.

Кстати, и без этого от компьютеров столько вреда, что без государственного регулирования уже трудно дышать, и в первую очередь страдают дети. Как мы знаем из новостей, однажды один мальчик играл в компьютерные игры два дня подряд и умер. А другой играл в детстве в компьютерные игры, а потом вырос и сел в тюрьму. А еще один даже не подрастал — сразу пришел в московскую школу и убил учителя. Логично запретить игры-стрелялки, разве нет? А приятель того мальчика майнил Биткоин, у него сгорела видеокарта, за ней — компьютер и вся квартира, он спился и пошел по дорогам. Конечно, криптовалюту после такого сразу запретили. А одна девочка скачала торрент, посмотрела какое-то аниме, не выдержала, спрыгнула с крыши и тоже умерла. Разумеется, Роскомнадзор вместе с видными экспертами-востоковедами сразу установил, что хентай-аниме — это педофилия.

А разгадка всем перечисленным случаям одна — безблагодатность. Один из основателей отечественной психологии Алексей Леонтьев говорил: «Избыток информации ведет к оскудению души». Поскорее бы все это ограничить и запретить, дабы не оскудела душа русская.

Предвижу неизбежное сопротивление отдельных несознательных личностей попыткам «причесать общество» таким образом. Наверняка появится чисто техническое противостояние ограничениям свободы мнений, привнесению в Сеть тотальной идентификации всех и каждого.

Жалкие попытки ренегатов использовать Tor, I2P или VPN будут пресекаться эвристической и статистической фильтрацией соединений, никакой дешифровки не потребуется. Готовность держать ответ перед обществом за каждое свое соединение — вот залог успеха. Так, постепенно, хорошее поведение в сети войдет в привычку на уровне рефлекса.

Только представьте себе: вы идете на работу, а вокруг ни одного хмурого, раздраженного или злого лица — все приветливы и улыбаются. Это не фантастика, это улица традиционного общества, к которому мы скоро придем. Сперва нужно сделать такую «улицу» в Интернете, законодательно запретив любые негативные или агрессивные проявления, грубость и хамство. Хватит уже всей этой чернухи, льющейся с экранов мониторов под лозунгом «Это Интернет, детка».

Да, четыре слова с их производными мы уже запретили, но это только начало, в русском языке еще полно обсценной лексики, предстоит сложная и долгая работа.

Если подняться над этими российскими частностями-запретами и обобщить происходящее — идея жесткого контроля над обществом (информацией) становится доминантой XXI века? Век свободы и просвещения остался позади?

Наши власти здесь далеко не единственный инструмент контроля (а также подавления и принуждения), контроль с течением прогресса по природе своей стремится стать всесторонним. К примеру, уже практически любой предоставляющий ресурс сервис в Интернете не жалует анонимов и принимает против них меры вроде блокирования анонимных прокси или Tor’a. В основе подобного подхода лежит презумпция виновности: обычному человеку незачем скрывать данные о себе, и если человек их скрывает, значит, задумал нечто гнусное.

Его оправданием служит некая статистика, которая есть не что иное, как роспись в неумении на системном уровне эффективно бороться с вредоносными явлениями (такими, скажем, как спам). Так что в качестве единственной панацеи обществом дисциплинарного диспозитива настойчиво навязывается абсолютная прозрачность — человек «за стеклом», или Паноптикум, — подробнее смотрите в курсе лекций «Психиатрическая власть» Фуко, и Интернет здесь не исключение.

В будущем эти тенденции будут только усугубляться.

Итак, мрачный Паноптикум, с одной стороны, как конечный итог развития Интернета и цифрового общества, а с другой — формально-декларативная цель демократической идеологии: незыблемая святость частной жизни и прайвеси, о которых еще недавно вещали из всех доступных СМИ...

Человек — существо социальное, также социальна его собственность или его жизнь. Даже если он ни с кем не общается, этот жест отчаянно социален. Так откуда же возникают якобы частная жизнь, прайвеси и собственность?

Говоря о создаваемом Паноптикуме и его контроле, следует отметить преимущества мягкого контроля (тратящего силы на внушение, на утверждение в пространстве «за стеклом» иллюзии существования частной собственности/жизни как островков безопасности) над жестким, традиционным. Одно из них в том, что мягкий контроль практически бесконфликтен и на этом фоне позволяет эффективнее осуществлять микроизъятия ресурсов.

Если вернуться к Интернету, некто, например, может иметь твердую уверенность, что купил домен torrents.ru в собственность, но вдруг он в мановение ока его лишается (и даже не суть важно, есть ли тому законные основания или, как в приведенном примере, их нет).

Вопреки популярному заблуждению, и Tor не обеспечивает прайвеси, если некто отслеживает оба конца канала коммуникации. На входном релее он увидит ваш IP-адрес, а на целевом сайте — расшифрованный трафик. Путем статистического анализа тайминга и количества запросов он сможет обнаружить соответствие между первым и вторым. С учетом рандомизации релеев для этого, конечно, нужны большие вычислительные мощности, но вряд ли это проблема для АНБ.

Так на время рассеивается иллюзия. Вообще, фантом частной собственности и жизни, воспринятой как частная, способствует отчуждению даже собственного тела. Как писал Фромм,

...Кибеpнетический человек достигает такой степени отчуждения, что ощущает свое тело только как инструмент успеха. Его тело должно казаться молодым и здоровым, и он относится к нему с глубоким наpциссизмом, как к ценнейшей собственности на рынке личностей.

Какую роль исполняет в этом скрытом закабалении человека Интернет? Почему люди, особенно молодые, превращаются в настоящих зомби, буквально застревая там?

На последовательных этапах развития Интернета разные его роли становились превалирующими, оттесняя остальные. Сперва он был средством коммуникации, потом на первый план выдвинулся обмен информацией, и завершающая фаза — дисциплинарно-воспитательное средство (в ряду школа-армия-тюрьма-психушка) — самое востребованное в современном цивилизованном обществе, что и объясняет его популярность.

Что касается молодых людей, они несамостоятельны, зависимы, и особенно обожают, когда их воспитывают (социализируют), но только не их родители, или не взрослые люди вообще. Нечто похожее упоминает Эриксон в отношении одного индейского племени — малышей там насмешкой приучают не гадить под себя не родители, а их чуть более старшие товарищи.

Есть ресурсы, объединяющие молодых людей, которые в точности соответствуют данной схеме, например lurkmore.ru — авангард в воспитании следующего поколения офисных креветок нового типа, теперь уже не нелепых и беззащитных, а вооруженных острыми зубами цинизма.

Мне кажется, что настало время конкретизировать источник этого контроля и его предназначение... Правильно ли я понимаю, что глобальный контроль (Интернет с телевидением как его главные современные проводники) и «обязательная социализация» — это тесным образом взаимосвязанные звенья одной общей цепи. В связи с этим современный человек — это уже робот или еще не робот?

Конкретизировать некий источник (подразумевая — единичный, как было бы в диспозитиве господства) в дисциплинарном диспозитиве уже невозможно. Контроль буквально равномерно разлит в воздухе, имея множество микроисточников вместо одного. Его носителями могут оказаться, например, люди, системы, вещи и некоторые другие фигуранты.

Говорить о глобальной телеологии самого контроля было бы неверно, он узконаправленно ограничен своей целью контролировать. Правильней упомянуть причины инсталляции этого механизма — необходимость осуществлять изъятия в относительно новых условиях непомерно возросшего числа людей. Главное тут не контроль (любой механизм чему-то служит), главное — это власть как неотъемлемая и интегральная компонента любого человеческого социума.

Социализация же способствует прозрачности, необходимой контролю. Все-таки это обширная тема, и несколькими фразами от нее не отделаешься. Я уже отсылал желающих к томику Фуко. Ежели кто совсем не в силах читать Фуко, может попробовать почитать беллетристику Берроуза, начало «Здесь был Ах Пуч», там есть немного про то же.

Сменив обычную оптику рассмотрения, мы можем обнаружить, что зависимость — это обслуживание. Так же как человек, зависимый от героина, занимается его обслуживанием, регулярно предоставляя ему себя в качестве ресурса для биологических и других процессов, так и человек, например, зависимый от MMORPG-игр, занимается обслуживанием этого виртуального мира, контролируется им.

Зависимость здесь взята для наглядности как крайний, наиболее выраженный случай. Даже обычный средний человек регулярно понемножку использует (как он полагает) целый ряд техники, что оборачивается тем, что техника, пока понемножку, использует и контролирует его. Взяв срез такого контроля в некий момент времени, можно посчитать его несущественным, но если проследить весь тренд на протяжении столетий и продолжить его в будущее, картина предстает радикально иная.

Я так понимаю, что природа этого всепоглощающего контроля не всегда материальна и осознана обычным человеком, в общем случае не связана с конкретной политической системой или устройством конкретного государства — он (контроль) по-настоящему тотален что при демократах, что при социалистах, что при феодализме?

Да, за исключением небольшого уточнения: при феодализме был другой тип контроля, — политические системы по сравнению с контролем вторичны, особенно все современные. Есть некие неравномерности, зависящие от ступени так называемого развития общества, но они не принципиальны.

Но все-таки объективно нарастающие вычислительные мощности и емкость накопленных знаний помогают ли современному человеку бороться с Судьбой?

Скорее ровно наоборот — они помогают судьбе еще лучше, еще эффективнее бороться с человеком. Человек похож на могильщика, все быстрее копающего могилу самому себе. Вычислительная мощь — не мощь рационализирующая. Всякая рационализирующая мощь закончилась вместе с проектом модерна. Постмодерн отлично справился с разоблачением разума, показав, насколько тот неразумен, то есть контаминирован содержанием бессознательного — того, что пытался искоренить.

Для иллюстрации можно упомянуть хотя бы трех, как их называют, «философов подозрения» — Маркса, Фрейда и Ницше. Незадолго до них, в общем-то, считалось, что главные процессы идут в области рассудка, «человек разумный» марширует от победы (скажем, над природой) к очередной победе, но «философы подозрения» заявили — мы недооценили иррефлексивной стороны человека, она не просто атавизм, а мощная сила, подчиняющая рассудок (по Марксу, это производственные отношения, по Ницше — воля к власти, по Фрейду — бессознательное).

Если исходить из предложенной сильной неосознанности и «животности» человека, то человек подлинно свободен в своем выборе или его судьба предопределена внешними силами?

Если рассматривать выбор человека, скажем, двинуть или нет пальцем, он представляется произвольным. Но если перенести рассмотрение вопроса выбора в уходящий в прошлое причинноследственный контекст, он будет гораздо более жестко детерминированным. Так что в основном это вопрос срезов рассмотрения, коих, кроме перечисленных (и тривиальных для наглядности), довольно много. Или же, переформулируя в системных терминах, вопрос разделения на общую и частную системы управления (почти по Бейтсону). Между разумом и предопределением нет противоречия. Оба они — всего лишь частные способы самоорганизации хаоса, одни из огромного множества его возможностей. Внутри этого узкого промежутка, где хаос покровительственно относится к присутствию порядка в себе, существует доступный человеку мир (а значит, и разум, и предопределение).

Отсутствие свободы, а значит и возможности самореализации, делает жизнь большинства невыносимой. Защита от фрустрации в этой безвыходной ситуации — значительная бессознательность повседневного «овощного» существования. Я лично думаю, что большинство нынешних людей описали бы свою жизнь скорее как яростную борьбу, нежели чем беззаботное приключение. Фантаст Артур Кларк предсказывал, что «сложность жизни» будет драматически нарастать с течением веков. Например, по его предсказанию «миллионы людей решат с помощью криогеники “эмигрировать” в будущее, надеясь, что там их ожидает беззаботная жизнь, полная материальных благ и социальной справедливости... С этой целью в Антарктике и под полярными районами на Луне в конце XXI века будут созданы обширные хранилища замороженных до лучшей поры тел — так называемые “гибернакулы”». А как видит будущее через 100 лет в самых общих чертах Андрей Чернов? По-моему, в той или иной форме бегство от жестокой реальности в идеальную виртуальность у человечества уже началось, что будет дальше?

Современная жизнь упрощена до чрезвычайности. В этом вопросе не следует путать современный переизбыток информации со сложностью.

Преподобный Максим в своей «Мистагогии» подчеркивал, что миссией человека, наряду с преодолением двойственностей, было привести предметы и весь космос к предлежащим им логосам. И если, как мы видим, люди не справились со своим заданием, эту функцию возьмут на себя уже сами предметы, предметы будут вести, заставлять идти людей.

Как писал Арто,

«Все то, что позволяет нам существовать, и видит, как плохо наше существование и как плохо мы храним человеческое начало в себе, покидает нас, но чтобы обрушиться на нас. <...> Это Естественный Бунт вещей, которыми мы плохо распорядились. И Революцию, которую мы не сумели совершить, Мир направит против нас».

Маркс отмечал:

«В прямом соответствии с ростом стоимости мира вещей растет обесценение человеческого мира».

Вещам свойственно возрастать, а людям — умаляться. В конечном итоге вещи будут править миром, а человек если и превратится в робота, то лишь для того, чтобы своим остаточным ресурсом еще лучше их обслуживать.

Принадлежат ли желания человеку или же человек им? Не напоминают ли они программы, активизирующиеся в подходящий момент? Что если человечество — всего лишь плодородная почва для взращивания неорганического мира вещей? Или скорее мира процессов кругооборота вещей (учитывая, что срок использования предметов постоянно снижается и они из магазина отправляются чуть ли не сразу на помойку)?

Не могу дать ответа на ваши вопросы, но как минимум для меня очевидно, что разросшийся Интернет и бесконечный мир вещей захватывают сознание людей... Как результат вокруг наблюдается острый дефицит самоконтроля и человечности... все эти твиттеры и новостные агрегаторы, быстрые перекусы и СМС, бесконечные путешествия и развлечения, бешеный темп жизни в мегаполисах... Одним словом, это силой вывернутая наружу интроспекция, которая выжигает нашу низкочастотную, слишком медленную человеческую идентичность. Времени на внутреннюю жизнь, на переваривание завалов знаний и впечатлений остается все меньше, а «сырой и рафинированной» информации извне — все больше. На Западе этот исход самосознания вовне окрестили снэк-культурой. В чем корни такого глобального ускорения?

Объем информации в Интернете удваивается сейчас каждые полтора года, число компонентов в микросхеме — каждые 18 месяцев (закон Мура).

Существует также понятие narrow attention span (короткий отрезок внимания), когда современные люди не в силах не то что читать старую неспешную литературу или смотреть старые фильмы, но даже дослушать сложное предложение с придаточными до конца, им становится скучно («люди экрана», по Мартину).

Бодрийяр перефразировал постулат Маклюэна media is the message, сказав, что мессэдж превращается в массаж. Жизнь сводится к набору микростимулов-похлопываний, микрореакций на них и ожиданию следующих, более новых и приятных микростимулов. Такая плотность связана с необходимостью как можно быстрее распространять влияние контроля, который сегодня во всех областях переходит с макро- на микроуровень.

Широко известен третий закон Артура Кларка: «Любая достаточно развитая технология неотличима от магии». XXI век станет веком высшей магии? Какую роль играют технологическая магия, все эти бесконечные гаджеты, плазменные экраны и стоядерные процессоры вокруг нас, в эволюции человечества?

Кларк смотрел на мир сквозь розовые очки и слабо разбирался в магии, поэтому недоговаривает самого существенного: «Любая достаточно развитая технология неотличима от черной магии». Приносимый технологией долговременный вред обычно пропорционален ее начальным обещаниям, выступающим приманкой.

Тут достаточно вспомнить пример из Гюго — «это убьет то», сказанное в отношении отпечатанной книги и собора (а затем и Фулканелли убедительно демонстрирует ущербность книги по сравнению с выразительными средствами скульптуры и архитектуры), критику телескопа и микроскопа у Блэйка, лекцию Дугина «Постпространство и черные чудеса» и т. д., и т. п.

Я все-таки пытаюсь понять: сделают ли технологии людей лучше, хотя бы в чем-то, или наоборот — техногенный путь эволюции ведет в конечном счете к деградации? Вообще, современный человек чрезвычайно техноцентричен, это какая-то новая подмена религии (вера во всемогущество знаний и технологий)?

Ответ зависит от позиции. С точки зрения антропоцентрического натурализма существует и полезно лишь непосредственно воспринимаемое органами чувств, без посредников в виде технологий. Все остальное относится к инфернальным областям. Под познанием подразумевается не аналитический, деструктивный по отношению к целостности процесс, а скорее некое единение с объектом, в чем-то похожее на эротический смысл слова «познать».

Любая технология или техническое средство уменьшает человеческое в человеке (и саму жизнь), увеличивая влияние ничто. Уильям Блейк — характерный выразитель такого подхода в поэме «Мильтон» — описывал полюса и небеса, движущиеся вослед положению человека (то есть определяемые только им), добавляя: «Микроскоп не знает и не знает телескоп. Они изменяют рацио наблюдателя, но не проникают в сущность объектов».

С точки зрения индивидуализма, который после отмены «гуманистического проекта» Просвещения ставит во главу угла индивидуальную потребность и личное могущество, технология есть не только средство господства (контроля, подавления, принуждения) в уже освоенных человеком областях, но и средство агрессивного завоевания новых. Про это слишком много написано, но нам тут интересно оправдание введения технологий выражением «мне так удобней». При пристальном взгляде «мне» превращается в «тому, как я устроен».

Тут важно, что не субъект провоцирует технологичность, а закономерное разворачивание во времени особенностей устройства человека. В такой оптике человек обречен трудиться на строительстве некого альтернативного космоса, продолжая наивно полагать, что делает это без принуждения и все вертится вокруг его личности. Что-то безусловно становится в чем-то лучше таким образом, но не кто-то.

Волюнтаристский отказ от технологий сегодня уже ничего не изменит — общество стало принципиально другим. Хотя те незначительные плюсы, которые мы получаем от технологий сейчас, всего лишь мизерная компенсация за то, что мы потеряли, нет смысла отказываться и от нее.

Вера во всемогущество знаний и технологий — удел прошедшей эпохи модерна. Если раньше ученым удавалось представить свое мнение как эталонное, подавив остальные, то нынешняя либерализация наделила каждого своим мнением, и в результате отношение к знаниям и технологиям не избежало усиливающегося скепсиса, не доверяющего, к примеру, заявлениям о безопасности (генно-модифицированных культур, АЭС или мини-черных дыр в коллайдере). Однако не стоит думать, что отсутствие такой веры помешает прогрессу, — технологии смогут бесконечно просачиваться из тех областей, о которых обыватель не догадывается или считает безопасными.

Признавая этот тотальный контроль и идя от обратного, получается, что мечта человека, мера его человечности и его конечное предназначение — свобода? Мне видится, что это своего рода путь отшельника — уход от всех политических, идеологических, экономических, информационных и социальных рычагов давления куда-то в глухой сибирский лес, своего рода дауншифтинг или идейное монашество.

Не совсем так. Свобода — это фикция, причем в самом прямом смысле. Если мы рассмотрим популярное разделение на «свобода от» и «свобода для», то заметим нечто общее для обоих вариантов, подразумевающее отрицание неких преград. А отрицание, в отличие от утверждения, фиктивно (кстати, человеческое бессознательное не может представить отрицание, поэтому при гипнозе стараются не использовать частицу «не»).

Теперь обратим внимание на разницу между вариантами и заметим, что во втором из них («свобода для») есть некий конструктивный посыл, однако точнее он передается не фиктивной «свободой», а конкретными «деланием», «задачей», «заданием», «предназначением».

Так в чем же суть проблемы? В том, что устройство человека (а мы помним, что человек это не данность, а задание) плохо совпадает с устройством мира, в котором он оказывается, и человек не может осуществить это свое задание. Не столь важно, подлинное ли это несовпадение или кажущееся, — раз оно воспринимается как существующее, этого достаточно для проблематизации.

Разумеется, есть разного рода компромиссы с так называемой реальностью, прекрасно работает механизм вытеснения (то есть многие люди вообще этого не ощущают), некоторые спешат объявить проблему решенной и т. п., но все это имеет отношение уже не к онтологии, не к гносеологии, а к банальной психологии. Психология же есть своего рода ИТ-индустрия в отношении человека, а точнее — предельно механистического человека-робота, призванная набором технических трюков погасить неудобный напор бессознательного.

Путь отшельника не есть решение, это лишь стремление создать среду, в которой остаются интерес, время и силы всматриваться в способы решения из древности. По сути, это вопрос дистанций и границ, поэтому совсем не обязательно уходить в сибирский лес, если удастся выстроить нужные дистанции и границы прямо на месте.

Насколько я знаю, вы не работаете. Это ваш сознательный выбор или слепая воля судьбы?

Понятие «работа» обладает неоднозначностью следующего рода: или это нечто, что умеешь делать, но, в общем-то, тебе не интересно или не очень нравится; или это область, куда можно инвестировать свой интерес, чтобы он, в результате, вернулся опять интересом. Работой в первом смысле занимаются рабы, поэтому весь дальнейший разговор пойдет только о работе во втором смысле.

Так вот, работать или не работать — так вопрос для меня не стоит. Пока одна работа сменяла другую, я работал. Когда все они исчезли (по не зависящим от меня причинам), я работать перестал. Если будут интересные для меня предложения, снова стану работать (все предложения, которые пока были, недостаточно интересны). Я не считаю, что человек непременно должен работать (вся эта современная ориентированность на успех граничит с безумием), поэтому сам работу, в общем-то, не ищу, предпочитая, чтобы она меня искала, ведь мне и так хватает, чем себя занять.

С первым вариантом все понятно, но что значит второе — «инвестировать в интерес»? Что двигает программистом, что заставляет его безвозмездно впрягаться в достаточно сложные проекты вроде разработки ядра FreeBSD? Самоутверждение, какие-то общечеловеческие мотивы или некая чисто программистская страсть «программировать ради программирования»?

Тут нельзя ответить за всех, у каждого свои мотивы, поэтому могу сказать только за себя. Избалованный Юниксом на машинах СМ, я хотел такое же и на PC, тогда начинающих набирать популярность. Поставив BSDI на PC, я обнаружил баг, исправил и послал разработчикам, на что получил от них ответ примерно такого содержания: «Откуда у вас в России наша система, ведь мы ее туда не поставляем?»

Я на них плюнул и поставил себе 386BSD (предшественника FreeBSD). Послав bug-report уже в команду 386BSD, я встретил благосклонную поддержку и участие, и постепенно в это дело втянулся. Конечно, значительную роль сыграла молодость с ее избытком энергии. Продолжать заниматься проектом и дальше — не только привычка, но и способ потратить свободное время на реализацию перфекционизма.

Программирование — это ремесло, профессия для ума и рук или искусство, исходящее из сердца? Иначе говоря, присутствует ли в программировании некая неуловимая иррациональность красоты или это просто повседневное холостое умствование, подобно другим формам человеческой деятельности, и в программисте нет ничего, скажем, от демиурга, которым он подчас себя мнит?

«Программирование — наука, искусство или ремесло?» — вопрос этот постоянно поднимается, скорей всего, потому что такая постановка вопроса тупиковая и непродуктивная. Программирование — это прежде всего образ мышления. Как он преломляется далее — в науку, искусство, иррациональность или ремесло, — зависит от ситуации конкретного программиста.

Что же касается демиурга, поскольку воплощенный мир обречен лишь комично подражать высшим существам, можно определенно сказать, что в каждом человеке, в том числе и в программисте, есть нечто от демиурга (например, образ и подобие).

Меня интересует, с одной стороны, свобода, о которой мы много говорили, а с другой — некоммерческие программистские проекты, движимые глубинными человеческими идеалами. Вот, скажем, Open Source — это борьба с контролем? Современные социальные сети и шифрование — все это закабаляет или, наоборот, освобождает людей?

Все, что воодушевляет людей, начинается как борьба с контролем. Технология Open Source так и начиналась, но теперь большой кусок, связанный с GPLv3, работает уже на контроль. Технология PGP так и начиналась (я, кстати, один из авторов, занимался локализацией), потом это разбудило повсеместную сильную криптографию, потом пошли сертификаты, что в конечном итоге тендирует к цифровому паспорту/счету личности.

Социальные сети — почти идеальное воплощение Паноптикума, когда за каждым движением пользователя приставлены следить множество знакомых глаз. Даже обычная сеть WWW в этом смысле отслеживается гораздо меньше, всего лишь некими молчаливыми неизвестными посетителями.

Кстати, в недавнем моем интервью Столлман высказывался о том, что Open Source сегодня чаще всего такой же бизнес, как и любой другой, со всеми вытекающими отсюда последствиями и ограничениями.

Я согласен со Столлманом в этом моменте. Я наблюдал достаточно общественно-полезных проектов, работающих многие годы на чистом энтузиазме. В конечном счете выхода у них всего два. Со временем (или с возрастом) приходит ощущение ничем не компенсированной затратности усилий, и проект либо закрывается навсегда, либо тем или иным способом себя монетизирует, что также сказывается на нем не лучшим образом. Если не брать в расчет отдельные исключения, живой Open Source сегодня — это либо еще стартап, либо уже бизнес.

Что же это за такая меркантильная личина сокрыта в современных людях, что даже в таком рафинированно-образцовом альтруизме, как Open Source, в конечном итоге скрывается лишь отсроченная по времени функция «деньгопотребления». Этот холодный прагматизм приходит с возрастом или это заложено в нас изначально?

«За всем стоят деньги» — одна из популярных современных конспирологических теорий. Но деньги лишь репрезентируют системы символического обмена в обществе, обмена в том смысле, в котором его рассматривали Марсель Мосс и затем Бодрийяр. Любой символический обмен, включая дар, устроен экономически. В этой парадигме и альтруист получает нечто ощутимое взамен своей деятельности, не важно, в каком виде.

В свете сказанного символический обмен в ИТ-области сейчас тендирует к неравноценности, что приводит к фрустрации, а та приводит или к закрытию проектов, или к попытке силой навязать обмен, то есть к монетизации. Чтобы не дожидаться такой развилки, часто проект строится изначально на бизнес-основе лишь с дополнительной «фичей» Open Source, например для бесплатных багфиксов или повышения доверия. Если рассматривать исключения, то довольно часто они выживают лишь за счет перехвата умирающих проектов «нерастраченной» молодежной сменой.

Кстати говоря, Столлман и сам пал жертвой такой деградации: его GPLv3 — это профессиональное выгорание, попытка юридически принудить других к обмену (кодом в данном случае). Как это всегда бывает с идеологиями истощенных ресурсов, проект GPLv3 пытается забрать даже больше, чем отдает сам, так что теперь как грибы растут альтернативы GNU-программам, автоматически перешедшим под GPLv3, взять хотя бы Clang.

Хорошо, продолжая тему Open Source, давайте поговорим о важной вехе в вашей жизни — проекте FreeBSD. Для начала — почему именно FreeBSD? Почему, например, не более популярный сегодня проект Linux?

Исторически я принимал участие в разработке систем МНОС РЛ и DEMOS, основанных на BSD-коде, так что переход к FreeBSD явился логичным продолжением.

Тема Linux vs. BSD давно стала эпической holy war, и в таком контексте отстаивать ту или иную позицию мне представляется неуместным. Формально могу отметить пару вещей.

Например, с эстетической точки зрения код FreeBSD для меня выглядит более изящным и менее тяжеловесным, чем код, инспирированный System V, как в Linux. Однако с учетом огромного количества разработчиков, так или иначе вовлеченных сейчас в Linux-проекты, это утверждение может оказаться неверным в отдельных частях.

Далее код Linux, в отличие от кода FreeBSD, не является по-настоящему свободным. Он вынуждает соблюдать ряд ограничений, лишь усиливающихся со временем в свете постепенного ужесточения лицензий семейства GPL, которые, изначально исходя из идеи свободы кода, стали органичным дополнением в инструментарии ее подавления.

В Linux сейчас проблемой становится огромный объем кода ядра, идущий рука об руку с падением производительности и качества кода, что признает и Торвальдс. Такова плата за расширение возможностей в рамках выбранной в Linux модели управления проектом. Проектная модель FreeBSD в этом смысле более оптимальна.

Как я понял, за вами до сих пор сохранен commit bit? Участвуете ли вы в последнее время в разработке или судьбе FreeBSD? Какую ОС сейчас использует бывший член FreeBSD Core Team?

Да, сохранен.

Во FreeBSD Project было интереснее всего после старта проекта, когда это был своего рода междусобойчик. Тем не менее в FreeBSD Project участвую до сих пор, но эпизодически, обычно если лично у меня что-то работает не так. С тех пор как я начинал, пришло новое поколение людей, в силу популярности проект пошел разрастаться вширь, что радует многих молодых участников и одновременно несколько огорчает тех, кто стоял у истоков. Потому что одновременно с этим трендом в системе стало больше и хронически заброшенных мест.

Про текущую ОС меня очень часто спрашивают... На некоем условном «80-м уровне мастерства» выбор ОС — это не дело принципа и даже не баланс компромиссов, ведь при помощи лома и животворящей фразы со «словом на букву ё» совершенно в любой современной ОС можно нормально устроиться, жить и работать. Поэтому в итоге так сложилось, что на моих домашних машинах сейчас стоят одновременно FreeBSD-current и Windows 7.

Каким вы видите будущее открытых проектов типа Linux или FreeBSD?

За Linux я никогда не следил. С программистской точки зрения, с таким неизящным кодом и bloat’ингом он «проигравший победитель», такой же, каким была система Windows.

Победителями оказались обе по причине низкой цены их символического обмена, которая есть прямое следствие системных недочетов. Рассказывать же про FreeBSD в духе «ожидаются фичи № 1, № 2 и № 3» — мне не интересно. На фоне наступающей «балканизации» Интернета разговоры о будущем сетевых по сути проектов не очень уместны.

Давайте обобщим все сказанное. Информатизация общества — что это такое? Некоторые чувствуют, что знание сейчас для многих стало как будто жвачкой, оно не делает большинство людей умнее и мудрее, сводясь к некоему полуфабрикату из пошагового howto (обратная индукция от чего — примитивные тесты ЕГЭ).

Если не вдаваться в детали, фраза «информатизация общества» означает, что появится еще больше ламеров с планшетами, сидящих в браузерной ОС или тыкающих пальцем в какой-нибудь Android. Причем это даже не означает, что автоматически появится больше рабочих мест в ИТ, скорей наоборот. В будущем в SMB секторе будут сплошные облака и DevOps, так что нужда в классических сисадминах значительно сократится.

Получается, ИТ-отрасль в процессе своего развития пожирает своих служителей. Или количество начинает переходить в качество? Каким будет ИТ в ближайшем будущем?

Первичен все-таки программист, а не сисадмин, и с ним в обозримом будущем не будет покончено (хотя он уже сильно испорчен ООП, которое реально мало когда нужно). То, что программистами скоро окажутся одни китайцы да индусы, это другой вопрос — о конкуренции внутри профессии. А вот с администрированием происходит та же оптимизация, как и с любыми масштабными, но рутинными вещами. Причем со всех сторон сразу — по железу, внедрению, поддержке и по самим бизнес-процессам.

Рад слышать, что хотя бы у программиста есть будущее в этой непрестанно оптимизирующейся Вселенной. Я считаю, что в роли программистов в цифровую эпоху есть нечто трансцендентное. Все они, как малые боги, непрестанно порождают новый живой мир, «движимый беззвучным законом-алгоритмом в самом себе». А что вы об этом думаете?

Программист — это промежуточное биологическое звено. Его задача — унавозить собой почву для начинающей прорастать кибернетической, неорганической жизни. Интересной вехой на этом пути станет возможность полного моделирования процессов головного мозга, а затем и переноса сознания в компьютер. Согласно Нику Бострому, чем ближе мы к этому моменту, тем больше оказывается и вероятность того, что мы и так уже живем в компьютерной симуляции.

Подводя итог: вы коснулись темы деградации и одновременно эволюции ИТ-отрасли, но как это сочетается все вместе? Я так понимаю, что это общий для нашей цивилизации тренд, но зачем природе такое вырождение через развитие?

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

Аналогична и ситуация с социальностью. Для отдельного приспособленного существа она не нужна, а вот социализированная общность обделенных природой повышает свои шансы. В исторической перспективе вектор смещается от развитого индивидуального мозга в сторону менее развитых, но гораздо сильнее социализированных мозгов, как бы образуя мощный коллективный разум из отдельных нейронов-идиотов. Это уже не совсем разум в привычном смысле, но свою задачу вести вид к его предназначению он выполняет, кроме того, даже вышел на уровень планетарного масштаба. Ведь единственным благом является благо вида, а индивидуальная деградация ему не мешает. Возможно, даже помогает, укрепляя связи и увеличивая их число.

В заключение интервью какие советы вы можете дать современному айтишнику? Как ему выжить в ускоряющейся гонке технологий и технического прогресса?

Если в жизненных планах айтишника есть пункт «дожить до старости», то для выживания важное и, пожалуй, самое для него сложное — регулярно и полноценно питаться, чтобы не иметь к среднему возрасту проблем с ЖКТ. А если есть пункт «сохранить тело в приличном виде», то и меньше налегать на пиво, что при малоподвижном образе жизни приводит к ожирению. Чтобы сохранить зрение, надо периодически давать отдых глазам и не пожалеть денег на качественный монитор. Кресло с опорой для спины, регулярная разминка и упражнения для шеи помогут против остеохондроза.

Также следует уделить особое внимание кистям рук. Чтобы избежать карпального синдрома, есть специальные упражнения, можно использовать коврик для мыши с подушечкой под запястье и клавиатуру с площадкой для опоры. Все остальное вроде информационной перегрузки исправлять бессмысленно, так что на этом, пожалуй, и все.

ГЛАВА 4. Сеть через прицел DPI — анатомия китайского Интернета

Герой интервью пожелал остаться анонимным. Это бывший россиянин, который уже 6 лет проживает в континентальном Китае, работая в местной телекоммуникационной компании старшим инженером-администратором.

Интервью взято в конце 2013 года.

Предлагаем вашему вниманию интервью с человеком, не понаслышке знакомым с устройством и спецификой работы Великого китайского фаервола. В сегодняшнем разговоре с ним мы обсудим вопросы, актуальные в последнее время и для русскоязычного сегмента Интернета: активная информационная роль государства и его сетевая цензура, также коснемся примеров скрытого управления Интернетом и обществом на примере Китая.

* * *

Расскажите про Великий китайский фаервол, который китайцы сами называют «Золотой щит». Что он из себя представляет в техническом плане? Каково его главное предназначение?

На данный момент это три составляющие, три дракона, на которых он базируется, — технологии Deep Packet Inspection (DPI), Connection probe и Support vector machines (SVM). Все вместе они представляют собой очень продвинутый фильтр, который блокирует доступ к запрещенным коммунистической партией ресурсам из внешнего Интернета.

Официальными идеологами при этом заявляется, что он якобы должен оградить психику китайцев от тлетворного влияния Запада, по мнению других, это откровенная государственная цензура международной части сети Интернет.

Давайте подробно рассмотрим каждую из названных составляющих. Итак, что такое Deep Packet Inspection?

Говоря кратко, это технология низкоуровневой проверки и фильтрации сетевых пакетов по их содержимому. Тут сразу нужно провести красную черту: коренное отличие от уже всем привычных брандмауеров в том, что DPI анализирует не столько заголовки пакетов (что, конечно, тоже может), сколько зарывается в содержимое транзитного трафика на уровнях модели OSI со второго и выше.

Подчеркну, все это делается в режиме реального времени, и с точки зрения внешнего наблюдателя никаких задержек или манипуляций с трафиком практически не заметно.

В России в последнее время очень много пишут о внедрении DPI, многие федеральные операторы (особенно это касается мобильных операторов) даже якобы уже имеют его в рабочем виде. Можно ли сказать, что нами перенимается китайский опыт?

Российские и китайские DPI кроме общего названия и принципов работы практически ничего не объединяет. Дело тут прежде всего в масштабе и серьезности их реализации. Как очевидно из описанного ранее способа работы, DPI потребляет прорву ресурсов, ведь все многочисленные операции, производимые им (например, дефрагментация пакетов, их распаковка, распознавание типов данных и протоколов, сканирование содержимого, многочисленные эвристики и многоемногое другое), должны происходить в режиме реального времени. Поэтому главный критерий степени серьезности DPI — глубина анализа транзитного трафика, который может позволить себе эта система, чтобы при этом сохранять приемлемый уровень латентности.

Если провести аналогии с антивирусными технологиями — насколько глубоко может позволить погрузиться в код эмулятор процессора для проверяемого файла? Даже если технические возможности и ресурсы позволяют трассировать код до бесконечности, погружаясь во все новые ветвления и процедуры, общие требования к латентности системы всегда имеют волне конкретные ограничения, поэтому глубина погружения всегда ограниченна.

Часто в этой ситуации применяются технологические или оптимизирующие ноу-хау, а можно пойти иначе — просто радикально увеличить вычислительную мощность. Так вот, когда мы говорим о китайском проекте DPI, нужно понимать, что это именно последний путь — реально это датацентр размером с самый настоящий районный город, который применяет роевой интеллект (Swarm Intellegence) для управления балансировкой и обработкой данных между его бесчисленными частями-узлами.

Возвращаясь к вопросу — если отечественные реализации DPI стоят, насколько я себе представляю, до 50 миллионов долларов, то китайская национальная система приближается примерно к миллиарду. Российский вариант DPI чисто технически не в состоянии осуществлять действительно глубокий анализ проходящих пакетов, а значит, его заградительные барьеры потенциально будут обходиться квалифицированными пользователями множеством различных способов. Поэтому российский вариант DPI китайскому рознь...

Переходим ко второму китайскому дракону — что такое connection probe?

Это дальнейшая эволюция DPI — сращивание прокси-сервера и низкоуровневого фильтрующего механизма. В этом случае при попытке подключения к любому сервису за пределами национального сетевого шлюза происходят заморозка такого запроса и последующее опережающее подключение по целевому адресу уже от имени DPI. Это, так сказать, проактивная система тестирования и идентификации типа запрашиваемых во внешнем Интернете сервисов.

Если, например, вы используете запрещенный в Китае сервис, то его клиентский протокол должен быть серьезно обфусцирован, чтобы суметь преодолеть сигнатурный механизм поиска DPI. При использовании против вас connection probe потребуется обфускация ответа уже и со стороны сервера, то есть в общем случае вы не сможете пользоваться стандартными публичными сервисами в случае их запрета.

На данный момент connection probe позволяет достаточно точно и малыми ресурсами определить тип внешнего сервиса, которым желает воспользоваться пользователь из Китая. Если приводить более жизненный пример, то именно эта технология была с успехом применена против оверлейной сети i2p, после чего оная в Китае была заблокирована.

Кстати говоря, что можно сказать о системах типа Tor, i2p? Насколько они реально эффективны в условиях подобной агрессивной сетевой цензуры?

Не хочу никого огорчать, но они малоэффективны и вовсе не так живучи, как об этом шумит народная молва, — все упомянутые системы в Китае давно заблокированы. Более того, заблокировать Tor или i2p можно десятком разных способов, самый простой из которых — блокировка bootstrap-процедуры в момент инициализации их клиентов. Заблокировать подобным образом входные ноды этих сетей (например, Tor directory nodes) — тривиальная задача даже для администратора средней руки. Если же говорить с учетом тех возможностей, которые есть у правительства Китая, в первую очередь я имею в виду высокотехнологическую дубинку DPI, — это и вовсе тривиальная задача.

Вы можете заглянуть в i2p netDB — там нет нод с китайскими IPадресами, если же посмотреть на открытую статистику пользователей сервиса Tor, то они фиксируют максимум 1000 уникальных китайских IP-адресов в месяц, и это на такую многомиллиардную страну, как Китай, у которой самое большое количество интернет-пользователей в мире.

Кстати, в этом случае «прорыва» китайцами применяется сервер obfsproxy, хотя и его блокировка, насколько я могу судить, на данном этапе развития Великого китайского фаервола не представляет технических сложностей, просто это лишено смысла в силу малочисленности пользователей этой экзотической технологии, а также постоянных сбоев в ее работе.

Как обстоят дела с VPN и SSH?

Ситуация с VPN довольно противоречивая — отдельные провайдеры его агрессивно подавляют, некоторые — почти нет. Своими блокировками широко известен China Unicom — один из крупнейших магистральных провайдеров континентального Китая. На данный момент им определяется и блокируется более пяти разновидностей VPN. Если быть более конкретным, это: OpenVPN, PPTP, L2TP, SSTP и Cisco.

К тому же когда проходит очередной съезд Коммунистической партии Китая, Интернет фильтруют так, что даже то, что работало в спокойные времена, может перестать работать в эти дни.

Говоря более общо, насколько мне известно, правительство Китая собирается лицензировать сферу использования VPN, то есть после соответствующей государственной регистрации разрешить применение VPN в целях легального бизнеса, и это будет своя собственная версия протокола на базе OpenVPN. После вступления этого закона в силу все отличные от государственного варианта VPN-протоколы будут тотально «резаться» на трансграничном шлюзе.

Что же касается сервиса SSH, попытки его блокировок также имеют место быть. По ряду косвенных признаков подобные испытания проводятся и в публичных сетях, в таких случаях в логах можно найти множество сброшенных или неудачных соединений с типичной ошибкой Bad protocol version identification. При этом при попытке подключения к серверам вне Китая на них впоследствии можно увидеть несколько ложных попыток подключения с китайских IP-адресов, предшествующих самому сброшенному подключению. Предположительно, это скрининг принимающего сервера по типу connection probe, который мы уже обсудили выше.

Часто подобные тестовые подключения принимают за brute force, хотя в данном случае это скорее попытка пассивной идентификации удаленной системы/протокола по характерным паттернам отклика (fingerprint scanning).

После идентификации подобного сервиса его адрес вносится (как правило, на 1–3 месяца) в соответствующие фильтры и стоп-списки, чтобы впредь в целях экономии ресурсов избегать рекурсивных запросов по уже однажды обнаруженному и идентифицированному хосту. Подобные фильтры постепенно пополняются запрещенными в Китае сервисами. Так, в том числе благодаря connection probe, полностью в автоматическом режиме растет и расширяется база Великого китайского фаервола.

Чтобы сделать наше описание полным, давайте рассмотрим и последнего зловещего дракона — Support vector machines (SVM).

Я бы хотел подчеркнуть, что и connection probe, и тем более SVM следует рассматривать как расширение, еще большую интеллектуализацию DPI.

Метод опорных векторов (SVM) — еще один шаг в этом направлении. Это алгоритм машинного обучения, применяемый для автоматической классификации больших массивов разнородных данных. Мы уже обсуждали, что DPI — это фильтрующая машина, вычленяющая некие данные в потоке согласно статическим правилам, или сигнатурам. В противоположность этому SVM дает возможность сканировать интернет-поток на основе статистического анализа без жесткого набора правил. Например, проводить анализ частоты определенных символов, длин пакетов, анализ подозрительной активности с заданных адресов, замечать различные диспропорции и сетевые аномалии, этим выявляя скрытые закономерности. SVM — это интеллектуальная насадка на DPI, которая, продолжая нашу антивирусную аналогию, привносит эвристические возможности («shrinking» heuristic) к процессу фильтрации интернет-трафика.

Приведу пример: в Китае нельзя упоминать о годовщине протестов на площади Тяньаньмэнь в Пекине 4 июня 1989 года, когда на волне крупных беспорядков множество студентов были буквально раздавлены танками. DPI, динамически сканируя национальный трафик, блокирует любые URL-адреса с упоминаниями указанной даты.

После того как китайцы стали обозначать эту дату как 35 мая (и множеством других остроумных способов), обычный сигнатурный анализ значительно затруднился. Но эвристика SVM пришла на помощь, она способна, распознавая контекст, обнаруживать такие «подозрительные даты» с минимальным вмешательством человека.

Подводя черту, учитывая все сказанное, можно ли сказать, что планируемое внедрение «всероссийского» проекта DPI со стороны «Ростелекома» — это некое зловещее предзнаменование, черная метка для всего Рунета?

Нужно понимать, что DPI сам по себе — это мощнейший современный инструмент, и как он будет использован — уже дело моральных и профессиональных принципов тех людей, в чьих руках он окажется.

DPI позволяет выполнять огромное количество полезной для сети работы — многие мировые провайдеры применяют его для контроля и балансировки своего трафика, мобильные операторы с его помощью собирают подробную статистику для каждого отдельного пользователя, также эта технология дает возможность адаптивно управлять скоростью передачи отдельных пакетов (QoS) и многое другое. В целом DPI обеспечивает огромное количество уникальных возможностей в широком спектре — от высококачественного шейпинга до создания продвинутых шпионских систем типа PRISM.

Абстрагируясь от китайских городов-датацентров и их ультрасовременной технической начинки, что из себя представляет китайский Интернет с точки зрения внешнего наблюдателя? Какие у него особенности развития, какова его специфика адаптации к подобной цензурирующей среде?

Дело в том, что Интернет сам по себе — не только в Китае — достаточно реактивная среда. Методы обычной цензуры, основанные на технических средствах и грубых запретах, слабо применимы к ней.

К примеру, если популярный блогер оставляет собственное критическое мнение о правительстве КНР в своем блоге, прежде чем цензура заметит и заблокирует его, как правило, успеет появиться несколько кросспостов исходного сообщения. И далее, если цензоры начинают охотиться за всеми ними, часто самопроизвольно срабатывает эффект Стрейзанд — попытка закрыть какую-то информацию, наоборот, привлекает к ней еще большее внимание сообщества. Этот феномен — следствие большой реактивности и саморефлексии сетевой среды.

Поэтому, несмотря на огромное количество реальной цензуры в Китае и блокирование подчас целых порталов масштаба крупного новостного агентства, в последнее время в стране набирает обороты альтернативный тренд по использованию именно нетехнических методов воздействия на общественное мнение. Их главная суть — если заткнуть рот оппоненту в Сети не всегда возможно, то почему бы тогда не возглавить подобные дискуссии в нужном для государства русле?

Я читал, что недавно было официально заявлено, что Китай создал подразделение государственных аналитиков мнений в Интернете, в которое набрал два миллиона сотрудников. Предполагается, что эти аналитики будут патрулировать виртуальное пространство в качестве своей основной работы. У них нет никаких прав по удалению какой-либо информации, их задача — контролировать интернет-тренды, изучать общественные настроения граждан КНР, а также манипулировать ими согласно специальной методике.

Да, это та самая невидимая сетевая армия, оружие которой — специальные методы скрытого воздействия на Сеть. Чтобы пояснить эту стратегию более выпукло, приведу реальный случай.

Примерно два года тому назад китайский Интернет взорвался от довольно странного случая смерти. Молодой парень, который был арестован за незаконную вырубку леса рядом с домом, попал в китайскую тюрьму. Там он скончался через пару дней при довольно странных обстоятельствах. Власти официально объяснили причину его смерти якобы тем, что «в тюрьме он играл в прятки с сокамерниками и, споткнувшись, упал, ударившись при этом головой о стенку». Китайский Интернет очень живо подхватил эту историю, назову лишь одну цифру: на QQ.com в течение суток появилось более 50 000 комментариев по этому делу, все остальные интернет-платформы также были буквально переполнены возмущением от нелепости этого инцидента. Сказать, что цензоры просто физически не справлялись с удалением следов «народного гнева» в эти дни, — не сказать ничего.

По забавному стечению обстоятельств иероглиф «играть в прятки» в китайском языке имеет и второе значение — «убегать от кошки», чем и воспользовались китайские блогеры. Даже по прошествии нескольких лет в Интернете можно нагуглить огромное количество упоминаний этой истории про погибшего в китайской тюрьме заключенного, «который разбился о стенку, пытаясь спастись бегством от кошки». Блогеры своей версией про роковую кошку пытались довести абсурд официального объяснения до предела, что породило то, что сейчас бы назвали интернет-мемом. Тогда китайский сегмент Интернета просто бурлил, цензоры не могли повлиять на ситуацию, своими действиями замалчивания и удаления сообщений лишь подливая масла в огонь, раскручивая маховик недоверия и острой критики в адрес правительства КНР.

И тут на пике недовольства что-то произошло: в игру включилась совсем другая правительственная команда, которая вместо прежних попыток массированного закрытия ресурсов неожиданно предложила конкурс среди самых известных блогеров Китая. Самим интернетчикам путем сетевого голосования было предложено отобрать пять самых авторитетных для них блогеров, которым впоследствии дали полный доступ к месту происшествия. Власть дала им все данные, все факты, свободный доступ ко всем свидетелям. Эти блогеры завалили сеть своими фотографиями и комментариями с места событий, впрочем, так и не сумев что-то добавить нового по существу этой странной смерти.

Но зато с общественным мнением что-то произошло: как только информация с места происшествия стала поступать из независимых источников и в огромных дозах, как только все данные стали максимально открытыми, люди почти сразу потеряли интерес к этому делу, а градус негодования быстро сошел на нет. Таким образом, после этого вмешательства получилось очень быстро подавить тайфун антиправительственной эпидемии.

По понятным причинам нет возможности рассказать множество похожих инцидентов в китайнете, но важно нечто общее для всех подобных историй — методы контроля эволюционируют, становятся более тонкими, скрытыми и многоходовыми. Помимо жесткой и безапелляционной цензуры путем чисто технических блокировок, в случае сетевых эпидемий применяются совершенно иные технологии воздействия на общественное мнение.

Поэтому не стоит акцентировать внимание лишь на технических средствах, которые в Китае также бурно развиваются, ведь прямо на наших глазах создаются и оттачиваются принципиально новые технологии управления, где зачастую все плюсы Интернета как открытой среды власти пытаются использовать с обратным знаком — уже для скрытого контроля и ограничения свободы мнений.

Можно ли как-то сравнить Интернет Китая с привычным Рунетом по степени свободы их граждан?

На самом низшем уровне в Китае действительно практически нет цензуры; если вы посмотрите их социальные сети, то они переполнены слухами и обвинениями власти, где на общий клубок эмоций туго намотаны правда и откровенная чушь. Практически никто не читает это, равно как личную стену, я думаю, 80 % безвестных участников нашей соцсети ВКонтакте, которые вольны писать там все, что им только вздумается.

Следующий уровень — это систематическая критика, аргументация, яркие и активные блогеры со своей аудиторией, вот здесь уже наблюдается определенное напряжение, есть активная цензура и удаление провокационных сообщений. За квартал, по данным китаиста Г. Кинга из Гарварда, органами сетевой цензуры КНР удаляются до миллиона сообщений и комментариев к ним. И наконец, третий уровень — топ-блогеры с огромной аудиторией. Либо же это ситуации, когда какая-то тема выстреливает и получает общественный и сетевой резонанс.

Тут возможны самые разные варианты активного противодействия и наказания: если блогера-инициатора можно в чем-то обвинить, его могут арестовать, вырвав «больной зуб с корнем». Если сетевая эпидемия слишком сильна и делокализована, то к делу подключают «сетевой спецназ», который пытается спустить пар с помощью различных хитроумных технологий контроля общества через soft power (например, описанная ранее история с неудачной попыткой бегства заключенного от кошки).

Все эти три одновременно существующих уровня создают противоречивое мнение и определенную путаницу, часто пуская первое впечатление стороннего человека по ложному следу. Так, случайные и внешние по отношению к стране люди («туристы») видят множество антиправительственной критики в безымянных аккаунтах, что создает ложное ощущение относительной свободы. С другой стороны, в прошлом году власти арестовали сразу шесть известных блогеров и бросили в тюрьму, обвинив их в «распространении слухов о готовящемся военном перевороте».

В последнем случае не стоит пытаться слишком серьезно осмысливать официальные формулировки, ведь когда здесь закрывали Википедию, это обосновали борьбой «с пропагандой агрессии и насилия», которую якобы и осуществляет по всему миру эта свободная онлайн-энциклопедия.

Насчет трех китайских уровней цензуры все ясно. Что можно сказать насчет анонимности?

В Китае нет анонимности. В КНР действуют законы, обязывающие блогеров регистрироваться с указанием своих реальных паспортных данных. Это делается под предлогом «улучшения доверия в сети друг к другу и защиты интересов сторонних пользователей».

Также действует закон, обязывающий документально удостоверять свою личность при заключении любых соглашений на получение услуг доступа в Интернет. Все сайты, физически расположенные в самом Китае, проходят в Министерстве промышленности и информационных технологий обязательную регистрацию, в которой достаточно педантично расписано, что это за сайт и кто за что на нем отвечает. Таким образом, при любом исходе событий всегда есть конкретный ответственный за любые потенциальные нарушения.

Добавьте к этому постоянный фоновый контроль (я говорю не только про Интернет, вспомните хотя бы недавний запрет в США продаж оборудования от Huawei, которое оказалось нашпигованным жучками, или питерскую историю про китайские утюги, которые самовольно подключаются к публичным сетям Wi-Fi), где весь ваш трафик и активность в сети тщательно контролируют и логируют. Здесь любой, даже самый технически отсталый, пользователь сети прекрасно понимает, что его активность фиксируется.

Например, вы можете попробовать использовать VPN или переписываться с кем-то за рубежом посредством PGP, и при должной сноровке и квалификации это может даже сработать. Но при этом каждому очевидно, что сам факт использования подобных технологий будет зафиксирован, что в будущем при диспозиции с другими отягчающими обстоятельствами может привести к вашему преследованию. Эвристические технологии фильтрации типа SVM, кстати, способны автоматически засекать использование вами практически любой криптографии, что дополнительно привлекает внимание сначала к трафику, а затем уже к вашей персоне.

Сформулирую главное наблюдение. После шести лет местной жизни у меня сложилось впечатление, что Китай со своей системой тотального фонового контроля и периодических жестко-демонстративных наказаний пытается настойчиво выработать модель поведения граждан, в рамках которой человек добровольно и подсознательно подвергал бы себя акту самоцензуры, постоянно отдавая себе отчет, что каждый его шаг или высказывание в рамках Сети тщательно фиксируются. Желание сдерживать себя, движимое прежде всего подспудным страхом, со временем становится второй натурой.

Так мы приходим к странной дихотомии для более либерального европейца: формально можно писать, что думаешь, но большинство китайцев предпочитают этого не делать. Затем дети учатся этому у своих отцов, так выращиваются целые поколения перманентно лояльных к стране граждан без собственной точки зрения. В этом, кстати, дурные корни их хваленой коллективности и патриархальности...

Глядя со стороны, каков ваш прогноз в отношении Рунета? Во главе нашей большой страны, физически обслуживающей главный кластер русскоязычного Интернета, стоит бессменный президент, полковник КГБ и член КПСС с 1975 года. Какие тенденции в развитии Сети вы ожидаете в связи с этим?

Безусловно, все будет ужесточаться. Но позвольте выразить скепсис — лично я не думаю, что этот будет именно «китайский вариант», потому что этот подход, поверьте, чрезвычайно высокотехнологичен. Напомню, в России до сих пор не умеют даже фильтровать отдельные запрещенные судом веб-странички, варварски баня сразу пачку ресурсов по их общему IP-адресу.

Поэтому повторю еще раз, не надо пугать местную сеть «китайским вариантом». Скорее всего, отсутствие реальных технических возможностей будет компенсироваться бурным законотворчеством и чисто административной грубой силой. Единственное общее с Китаем — со временем такой прессинг сформирует у населения синдром самоцензуры по китайскому типу. То есть манеру думать одно, а говорить (комментировать) другое с постоянной оглядкой «как бы чего не вышло», что, мягко говоря, далеко от нормального человеческого общения и самовыражения.

Впрочем, в российских широтах, ИМХО, это приведет скорее не к покорности, а к непредсказуемости уже хватанувшего «глотка свободы» населения.

Завершим наше описание азиатского Интернета последним вопросом, поставленным ребром: назовите самые экстремальные для своей безопасности вещи, которые можно сделать в китайском Интернете прямо сейчас.

Я бы выделил два серьезных момента: это любые высказывания против самих цензоров и цензуры, а также любые призывы к коллективным народным действиям в офлайне.

В первом случае Китай прикладывает титанические усилия, чтобы сам факт цензуры, контроля и слежки никак внешне не ощущался большинством обычных граждан страны, то есть чтобы это явление не обсуждалось и никак не фиксировалось. Любые ваши попытки открыто обсуждать именно эту проблематику, указывать на факты контроля, скорее всего, будут иметь очень серьезные последствия (прямо пропорционально степени убедительности и серьезности представленных фактов). Парадокс в том, что сегодня безопаснее критиковать само руководство коммунистической партии, чем его методы контроля Сети или общества.

Что касается второго, если вы хотите собрать людей с какой-либо целью — это будет жестко пресечено. Еще раз напомню про основную часть стратегии: личные критические высказывания или фрагментированная критика со стороны граждан чаще всего приемлемы, а вот любые попытки коллективных обсуждений, самоорганизации или объединений на почве общих взглядов и тем более выход с ними в офлайн категорически недопустимы. По этой причине в сети блокируют даже группы любителей велосипедной езды, если они пытаются массово собраться в офлайне. Китайская власть панически боится любой консолидации граждан, впрочем, именно эту функцию, как я считаю, и будет обеспечивать более «взрослый» Интернет будущего.

Социальные сети типа Твиттера — это только начало...

Послесловие

В самом начале 2015 года Китай объявил настоящую сетевую вой ну против тех сервисов VPN, которые смогли адаптироваться к Великому Китайскому фаерволу. Проблемы возникли со многим известными платными сервисами, например «отвалились клиенты» у StrongVPN, TunnelBear, Astrill и Golden Frog. Представители этих сервисов официально подтвердили перебои в обслуживании их пользователей в Китае. Также в компании Astrill дополнительно сообщили, что Китай начал блокировку в режиме реального времени работы VPN и на мобильных устройствах Apple, чего раньше не наблюдалось. Представитель Golden Frog сказал в интервью изданию TechCrunch, что новый тип атаки на их VPN-сервисы стал «более изощренным по сравнению со всем тем, что мы видели в прошлом». На данный момент специалисты крупных VPN-провайдеров разбираются в деталях примененной Китаем фильтрации, пытаясь нащупать ее слабые места.

Кроме того, Государственная канцелярия по делам интернет-информации Китая сообщила, что с 1 марта 2015 года в стране вводятся новые правила регулирования Интернета.

Согласно обнародованному ведомством документу, все китайские пользователи сети Интернет должны будут удалить свои старые аккаунты на форумах, в блогах и мессенджерах и завести новые с указанием своих настоящих имени и фамилии. Отныне в Китае любой анонимный аккаунт сам по себе является преступлением безотносительно к тому, что там написано. Отслеживаться и караться будут не только те, кто создает и ведет такие аккаунты, но также и те, кто их посещает и читает.

Тем временем Google инвестирует 1 миллиард долларов в компанию Space Exploration Technologies Corp., которая займется созданием глобального космического интернет-провайдера с помощью нескольких сотен спутников. О начале работы над этим амбициозным проектом официально заявил его автор Элон Маск, генеральный директор компаний SpaceX и Tesla Motors.

Google занимается разработкой системы глобального спутникового Интернета с 2014 года. В конце 2013 года компания наняла ветерана спутниковой индустрии Грега Уайлера для руководства этим проектом. Но летом Уайлер покинул компанию и в настоящее время занимается разработкой собственной спутниковой интернет-системы, инвестировать в которую намерены Qualcomm и Virgin Group. У двух научных групп фундаментально отличаются подходы в способах передачи сигнала на Землю: пока Китай верит в неизбежность пришествия коммунизма, Уайлер делает ставку на радиочастоты, а Маск — на оптико-лазерную технологию. Чье видение окажется в итоге более реальным, покажет время, которого до каких-то первых результатов по оценке обоих предпринимателей осталось около 5–7 лет (то есть нужно подождать примерно до 2020 года).

Оба проекта убеждены, что запуск системы глобального спутникового Интернета даст возможность навсегда решить проблемы не только доступа к сети в самых труднодоступных и экономически отсталых регионах планеты, но и положит конец попыткам цензуры и контроля Интернета на уровне его национальных сегментов, сделав информацию свободной для всех.

ГЛАВА 5. Джастин Франкель —  альфа-гик из Аризоны

Джастин Франкель — известный американский программист и музыкант. В молодости пытался получить высшее образование в области программирования в университете штата Юта, но был отчислен из-за проблем с учебой. Автор первой программной реализации пиринговой сети. Самые известные его программы — WinAmp, gnutella, SHOUTcast, REAPER. Интервью взято в 2012 году.

WinAmp — наиболее известная и коммерчески успешная программа нашего сегодняшнего героя. В 1999 году компания America Online купила у него эту программу, а вместе с ней и его фирму Nullsoft, которая развивала и поддерживала ее. За эту сделку Джастин Франкель (Justin Frankel) получил тогда около 100 миллионов долларов плюс руководящую должность с приличным окладом в штате AOL (первую и последнюю наемную работу в своей жизни). На тот момент Джастину было всего 20 лет — неплохое начало для карьеры обычного программиста.

И хотя он уже давно не участвует в создании WinAmp, Джастин попрежнему очень активно продолжает коммерческую разработку софта (его новая компания Cockos! хоть и не приносит ему былых миллионов, зато полностью самоокупается и позволяет платить зарплату нескольким разработчикам). По замечанию самого Джастина, продажа Nullsoft разделила его жизнь на два периода — до и после. Сегодня, в годовщину продажи Nullsoft, мы решили взять большое интервью у основателя таких культовых программ, как WinAmp, SHOUTcast и пиринговой сети Gnutella, чтобы узнать из первых уст историю этих известных продуктов, а также понять, чего сейчас у Джастина больше в жизни — программирования или все-таки музыки, которой он занимается не менее серьезно, чем программированием.

Продажная шкура

Прежде чем мы поговорим о вашей богатой истории, можете сейчас вспомнить, с чего все начиналось? Как вы пришли в программирование? Какие были мотивы?

Я начинал программировать на компьютере Atari 800XL, который достался мне от моего старшего брата. Сколько я себя помню, мне всегда было очень интересно программировать. Для меня программирование — это источник хорошего настроения, в более общем смысле — возможность развиваться и работать над собой, возможность проявить себя и свои вкусы. Бизнес-составляющая для меня была всегда в стороне от этого чувства; возможность заработать своим любимым занятием — просто дополнительный приятный бонус.

Джастин, очень логичный вопрос: что чувствует человек, когда его выгоняют из собственного бизнеса? Не то чтобы это уникальная история, но все же какие чувства вы тогда испытывали, когда вас поставили перед фактом: с сегодняшнего дня WinAmp не имеет к вам никакого отношения?

Ну, во-первых, мне очень хорошо финансово компенсировали эту потерю, во-вторых, это не было какое-то мое сознательное решение, так как первоначально мы договаривались, что, несмотря на продажу, я буду продолжать работу над проектом.

Поэтому я не чувствую никакой вины, что я «предал» свой проект, — так сложились обстоятельства. Тем более я успел вложить в WinAmp практически все, что собирался там сделать, поэтому уходя не чувствовал себя слишком подавленным.

В связи с этим вы писали в своем блоге: «Для меня программирование — это форма чистого самовыражения. Компания же (имеется в виду AOL) подавляет наиболее эффективные средства самовыражения из тех, что у меня есть. Это неприемлемо для меня как для личности, поэтому я должен уйти». Итак, программирование — это для вас искусство или все-таки обычная работа?

Я думаю, что это смесь всего сразу. Представляю себе технологию любой разработки из трех разноуровневых плоскостей: на высшей — мы рождаем концепцию программы, формируем ее индивидуальность, это чистой воды креативность и искусство. На следующем уровне — разработка программы, ее написание, проработка алгоритмов и деталей ее работы, здесь уже задействована смесь из рабочих навыков и креативности. Низший уровень — отладка и шлифовка программы, и для меня это рутина, монотонная техническая работа, лишенная творческой искры.

Поэтому, как и в обычной жизни, при разработке мы последовательно проходим все эти уровни, но секрет успеха всего цикла, по моему мнению, сокрыт именно в первом уровне — концепции.

Суммируя, можно сказать, что без креативности ты посредственный программист?

В каком-то смысле да. Ты обречен постоянно работать лишь на низшей плоскости в этой модели. И это всегда наемная позиция, обратите внимание. Поэтому в нашем сложном мире программист программисту рознь.

Джастин, извините, я и в самом деле не понимаю, вас очень многие знают в индустрии, и вы сами говорили о больших возможностях и предложениях, то есть вы могли устроиться во многие крупные корпорации и работать там наемным программистом и ни о чем не париться — так к чему все эти нервы и риски с собственными проектами?

Потому что это дает совсем другие ощущения. Я работал однажды в America Online (смеется), и вы сами знаете, чем это закончилось. Я понял для себя, что мне очень важно оставаться самим собой и делать в этой жизни то, что я считаю правильным. Работая на корпорацию весь день напролет, ты осуществляешь чьи-то чужие планы, не живешь своей мечтой, неизбежно подавляешь свою креативную составляющую. Очень сожалею, что мне не дано выразить словами, насколько это большая разница.

(Пауза.)

Ну, примерно как если бы вы работали в садике няней и ухаживали за чужими детьми. Или, например, если бы вы выступали в качестве родителя и у вас был бы свой собственный и долгожданный ребенок. В принципе, в обоих случаях будет очень много общего чисто внешне, но все же… черт побери, но это же совершенные разные вещи, не так ли?

Давайте коснемся и другой актуальной проблемы, через которую вы прошли лично: могут ли одиночки вроде вас противостоять корпорациям с большим коллективом разработчиков? Иначе говоря, возможно ли в наше время одиночкам-программистам написать что-то по-настоящему известное вроде вашего WinAmp?

Я понимаю, что вы имеете в виду, но я думаю, что не так все просто. Я работал в очень большом коллективе разработчиков в свое время и думаю, что часто «больше» — не значит «лучше». Конечно, я могу сейчас рассуждать об этом лишь теоретически, но думаю, что у одиночек шансы все еще есть. Если вы посмотрите на Facebook, Microsoft, Google, Apple и т. д., вы увидите, что, несмотря на их гигантский штат, за ними стоят по-прежнему одиночки, которых вы знаете поименно. Кстати, я уже говорил раньше о своей трехуровневой модели разработки — по-прежнему, я повторюсь, но все решает удачная концепция. А для этого хватит и одного по-настоящему талантливого человека.

Вот поэтому я уже давно не работаю в корпорациях! (Смеется.)

Интересно, с учетом вашего перфекционизма в отношении программирования как вы лично считаете, нужно ли специализированное высшее математическое образование (или по компьютерным наукам), для того чтобы создавать высококлассные современные программы?

Скажу вам прямо, я не считаю, что сегодня обязательно нужно иметь высшее образование по математике или в CS для разработки успешной программы. Я считаю, что любой может добиться очень многого, самостоятельно учась и пробуя. Тем более сейчас, когда есть такие большие возможности для получения любой информации, а также возможности для удаленной работы в команде с профессионалами очень высокого уровня (например, в многочисленных сетевых проектах Open Source).

Поэтому для какого-то профессионального базиса достаточно упорства и аккуратности, я считаю. И наоборот, вижу, что у многих дипломированных выпускников часто не хватает элементарного упорства, чтобы добиться чего-то более-менее заметного.

Поэтому не это главное сегодня.

Вы уверены?

К примеру, я могу нанять очень хороших и дорогих программистов в качестве послушных исполнителей прямо завтра, которые закончили самые престижные вузы и полностью готовы к осуществлению сложных проектов. И что, факт этого сам по себе хотя бы что-то гарантирует?

Эти времена уже прошли. Сегодня важно… (после паузы шепотом) давайте закругляться с этим вопросом, потому что я снова начну повторяться про первый уровень своей модели.

Ладно, о’кей, как вполне состоявшийся в сфере программирования человек поделитесь секретом своего успеха. Это некая индивидуальная удача или результат стахановского труда и личных, очень ярких и нестандартных способностей?

Ответ зависит только от того, что вы подразумеваете под понятием «успех».

Например, для меня, и я хорошо знаю это, важным условием для будущего успеха программы является возможность самому ежедневно очень плотно пользоваться этой программой. Если ты пишешь софт для других пользователей, а сам им не пользуешься, то, естественно, не знаешь его со всевозможных сторон в реальной жизни — тогда успех будет сложной задачей, в этом случае сложно добиться понастоящему глубокого уровня резонанса с потребностями твоего потенциального покупателя. Поэтому это очень важно, в конечном счете все стоящие программы мы пишем прежде всего для самих себя. Разве нет?

Интересно, сегодня вы как-то принимаете участие в разработке WinAmp? Общаетесь ли вы с текущим лидером проекта WinAmp Беном «Benski» Эллисоном?

Нет, вообще не в курсе, чем они там занимаются. С Беном как-то пару раз пересекались, кроме обмена обычным «привет», никак не общались. Уже пару лет как я полностью с головой ушел в свой новый проект REAPER.

О’кей, перевернули страницу истории, WinAmp остался позади. Что можете сказать о вашей сегодняшней ведущей разработке REAPER? Чем она особенна среди подобных? И вообще, почему люди пишут новые программы, когда изначально существуют уже подобные аналоги?

Проект REAPER начинался с того, что мне нужно было что-то, что позволяло бы достаточно эффективно и удобно записывать живое аудио, а затем иметь возможность сразу же подредактировать его хотя бы на каком-то базовом уровне возможностей. На тот момент у меня не было никакого подобного и по-настоящему удобного лично мне инструмента под рукой, и, как это часто случается (произносит по слогам): мне было проще написать это самому.

Знакомая для любого программиста фраза, не правда ли? Именно так все и начинается.

Но конечно, с тех пор программа очень сильно выросла и разрослась, возможно, это во многом субъективно, но я вижу ее основные отличия от многочисленных конкурентов в следующем:

• очень продвинутый уровень пользовательской кастомизации программы (возможность создания своих тем, меню, шаблонов, значений по умолчанию и т. д.);

• отсутствие защиты от копирования и взлома, полностью функциональная демоверсия, что для меня очень важно;

• очень гибкая и продуманная открытая архитектура для сторонних плагинов — любой желающий может расширить любую подсистему программы, добавив в нее новую функциональность, новый формат или сферу приложения;

• я также стараюсь очень часто обновлять программу, непрерывно работая над ней.

По всему тому обилию программ, которые мне приходилось видеть и писать за свою жизнь, я берусь судить, что REAPER — понастоящему качественно спроектированная и реализованная программа.

Насколько она коммерчески успешна?

Конечно, у нее пока нет той миллионной армии пользователей, которая была у других моих разработок, но даже тех нескольких тысяч клиентов, что у меня есть сейчас, вполне хватает, чтобы этот проект был окупаем. Вместе со мной над программой работает еще пару человек, и мы пока вполне хорошо держимся на плаву.

* * *

Джастин Франкель вспоминает, как, будучи 16-летним подростком, как-то участвовал в летней олимпиаде по программированию в родном университете Северной Аризоны. Было так скучно, что просто для веселья Джастин решил прямо там, не теряя времени, написать программу типа Fork bomb, которая, будучи запущенной, сразу создавала свой клон, который также мгновенно запускался, повторяя все это снова в цикле: конечно, уже через минуту ее работы компьютер намертво зависал, никак не реагируя на клавиатуру. Тогда он пересаживался вверх по аудитории, запуская эту программу на новых компьютерах, пока группа администраторов пыталась понять, постепенно следуя за ним, что же происходит с компьютерами в лаборатории…

На следующий год, когда Джастин участвовал в точно такой же компьютерной университетской олимпиаде, главный администратор университета сразу подошел к Джастину и, сурово глядя прямо в глаза, зло процедил: «Джастин, можешь заниматься сегодня за компьютером чем угодно, только не заваливай систему». Джастин вспоминает с улыбкой, что эту просьбу, словно далекое эхо, он слышит до сих пор сквозь все эти годы…

Заваливание системы

Журнал Rolling Stones назвал вас самым опасным гиком в мире, журнал Times выдал интервью с вами под заголовком «Человек, который обворовал весь мир», и т. д. Итак, переходим ко второй известной вашей разработке — первой в мире децентрализованной пиринговой сети Gnutella. Судя по заголовкам мировых изданий того времени, музыкальный бизнес был единогласно уверен, что вы в очередной раз «завалили систему».Что вы сами думаете об этом?

Рассказать о пиринге и Gnutella? Только факты? Ну, во-первых, Nu tella — это моя любимая ореховая паста, во-вторых, я люблю открытое ПО, как это делает фонд GNU, в-третьих, я люблю и достаточно серьезно занимаюсь музыкой, в-четвертых, я программирую в среднем по восемь часов в день. И вас удивляет, что в результате пересечения всего этого в рамках одного человека случаются вещи типа Gnutella? Но несмотря на всю мою страсть к ореховой пасте, система на этот раз устояла. (Смеется.)

А если серьезно, то все эти заголовки, мягко говоря, преувеличение, и с позиции прошедшего времени это видно особенно ясно. Я просто программист, который решал очень интересную для него техническую задачу, и не нужно даже пытаться вкладывать в это нечто большее, пожалуйста.

Еще вопрос про Gnutella. Очень часто спрашивают, почему вы сами вышли из этой большой игры, в связи с чем вас сравнивают с Шоном Паркером, который недавно стал широко известен благодаря фильму «Социальная сеть» режиссера Дэвида Финчера. В самом деле Шон создал Napster, заработав на этом большие деньги. После закрытия его популярной пиринговой сети по решению суда вы тут же создали подобную, но, что принципиально важно, уже децентрализованную сеть Gnutella. По данным 2007 года, Gnutella являлась самой по пулярной пиринговой сетью в мире, она использовалась тогда на 40,5 % компьютеров, подключенных к p2p-сетям. И в момент самого пика успеха вы добровольно выходите из игры, полностью отказавшись от дальнейшей разработки и координации проекта. Почему?

Ну, знаете ли, Шон на Napster не заработал ничего, кроме головной боли, миллионы к нему реально пришли, лишь когда он стал президентом Facebook. Да, проект Napster сделал его известным человеком, но не богатым. Что касается меня и Gnutella… Технология уже была на том уровне развития, когда она прекрасно развивалась и без моего участия. Меня интересовала лишь сама концепция децентрализованного пиринга и ничего более. Можете сравнить меня с основателем Биткоин, если хотите (смеется).

Поймите меня правильно: меня интересовала техническая сторона проекта — и она вне всяких сомнений состоялась, и я ничего никому не собирался доказывать ни в юридической, ни в политической плоскости этого вопроса, как я уже говорил в ответе на предыдущий вопрос. Я не задумывал p2p императивно как средство нарушения копирайта, для меня это был просто технический концепт, и, получив свою дозу веселья и впечатлений от программирования этой необычной задачи, я ушел, просто чтобы заняться чем-то следующим в своей жизни, не менее интересным и важным для меня.

Раз уж вы заговорили о копирайте… Я видел старые плакаты с рекламой еще, по-моему, WinAmp версии 2.0, где вы битой, на которой выгравировано слово WinAmp, крушите буквально в щепки груды компакт-дисков вокруг вас. Я думаю, в нашем интервью настал хороший момент, чтобы немного поговорить о копирайте: что это такое, как вы его видите в современном цифровом мире? Созда ют ли новые технологии и взгляды, например, в вашем случае mp3 и WinAmp проблемы для существования старых технологий и правовых норм?

Проблема не в бите в руках молодых людей. Конечно, первоначальная проблема в том, что все старое всегда отчаянно сопротивляется приходу нового, просто потому, что это вопрос его выживания, но не потому, что оно лучше. Это касается не только программирования и технологий, посмотрите телевизор — это противостояние поколений буквально повсюду.

Я думаю, что копирайт в США сейчас — это больше некая вербальная концепция, которая хорошо приспособлена и отработана касательно патентов и торговых марок. Новое направление DMCA, пытающееся регулировать что-то там в цифровом мире, очень далеко от идеала. Реально же усиление копирайта перед наступающим пиратством в области цифровых продуктов очень проблематично. Скорее всего, это будет приводить к каким-то компромиссам, что в итоге будет размывать этот самый копирайт еще больше. Самая главная ошибка, которую я сейчас вижу в этой области, — попытка контролировать защищенный контент настолько жестко, что это уже создает ощутимые трудности законным владельцам и покупателям цифровой продукции, тогда как, с другой стороны, ни капли не сдерживает пиратов (например, технология DRM, от которой нет почти никакого толка в этом плане, а лишь проблемы для легальных пользователей).

* * *

Не каждый разработчик программ может позволить себе купить дом на 800 квадратных метров, построенный в 1900 году и выполненный в викторианском стиле, в котором четыре отдельные спальни, бассейн внутри, два гаража, мастерская, общей стоимостью около 3 миллионов долларов.

Не у каждого американского миллионера задний двор заставлен старыми, собственноручно восстановленными машинами, а в домашней мастерской полным-полно самых чудаковатых электронных (и не только) музыкальных инструментов.

Сегодня наш разговор с одним из подобных редких, очень редких гиков.

Альфа-гик

Джастин, у всех есть свои увлечения и какие-то слабости. Я же смотрю, что вы серьезно увлекаетесь ремонтом и восстановлением автомобилей, также восстанавливаете старые музыкальные инструменты и даже создаете свои. Кроме того, вы серьезно занимаетесь музыкой и программированием, но из всех ваших многочисленных увлечений лично меня удивляет ваша давняя страсть к изготовлению глиняных горшков. Зачем они нужны вам? Не у каждого миллионера столь странные увлечения…

Я не согласен с вами, что ручная керамика и изготовление посуды из глины — это странное хобби. Я начал заниматься этим еще тинейджером, когда учился в старших классах школы, с тех пор я многому научился в этой профессии. С одной стороны, на выходе я получаю экологически чистую посуду для собственных нужд, с другой — это, поверьте, очень хороший способ расслабления и активного отдыха, который требует сфокусированности на процессе и самоконтроля, при этом, будучи почти спортивным по своей увлекательности, он не изматывает физически так, как это делают более традиционные виды спорта.

И да, мне очень нравится также разбираться в сломанных машинах, я люблю самостоятельно постигать устройство механизмов, у меня за спиной несколько восстановленных почти с нуля машин. Обычно я на этом не останавливаюсь, я стараюсь что-то усовершенствовать в процессе восстановления механизма, найти возможность сделать его еще лучше, чем было изначально. Если я и трачу время на очередной ремонт, то это должно быть актом творчества. К тому же этот вид обратной разработки механики куда более нагляден, чем в программировании, он доставляет мне множество положительных впечатлений и успокаивает.

В связи с этим: ваша любовь к игре на волынке долгими вечерами, в перерывах между изготовлением горшков и восстановлением старых машин, тоже, небось, неплохо успокаивает?

Без сомнения, так и есть. Как догадались? (Смеется.)

Извините, вопрос немного не по теме. Имел возможность немного пожить в Америке, в штате Иллинойс, общее наблюдение — с одной стороны, люди в основной массе много работают и ужасно устают, с другой стороны — тотальная страсть расслабляться... И ваши способы еще не самые деструктивные из всех.

Нельзя говорить сразу обо всех, но я думаю, что в приближении картина близка к правдивой для всей Америки. Мой рецепт от перегрузок и стрессов очень прост и естественен — это творчество. Проблема не в том, что мы работаем много, проблема в том, что наша работа подчас кажется нам бессмысленной и ненужной, именно это убивает быстрее всего.

Я просто хочу сказать, что у вас очень насыщенная жизнь, Джастин, вам это не грозит. Ладно, а что за деревянные коробки с мониторами вы собираете в своем гараже?

Это Jesusonic — инструмент для создания эффект-процессинга в режиме реального времени, например очень интересно звучащий для гитары. Я постоянно экспериментирую со звуком, это отличная платформа для таких экспериментов.

У обычных людей есть четкая грань между хобби и работой. У вас я не чувствую этой границы. Не так ли?

Я уже говорил ранее, что я работал на босса единственный раз в жизни, когда меня пригласили в AOL, и вы прекрасно знаете, с каким треском в итоге меня оттуда выгнали. Поэтому да, все мои хобби являются моей работой — я счастливый человек.

Кстати, об AOL и вашей работе там. Ваша разработка сети Gnutella была также творческим экспериментом, как вы рассказывали раньше. Одно мне непонятно: когда вы выкладывали на серверах AOL фактически собственный личный продукт потенциально пиратского назначения, я думаю, вы прекрасно понимали возможную реакцию вашего руководства. Какие мотивы вами двигали тогда? Вы специально хотели конфликта?

Поверьте, в те годы я не думал ни о каких потенциальных проблемах. В этом нет ни смелости, ни наглости, ни какого-то геройства, кроме молодости. Я просто хотел реализовать тогда что-то технологически новое, опробовать на деле принципиально новые алгоритмы по распространению файлов, и был полностью увлечен лишь одним этим желанием. Большой бизнес живет совсем другими категориями, я думаю, вы понимаете, о чем я.

Да мы вообще много чего там [1 В AOL] успели сделать, пока нас не выставили вон. (Смеется.)

НЕОБХОДИМОЕ ПОЯСНЕНИЕ ОТ АВТОРА ИНТЕРВЬЮ

Несмотря на утверждение русской страницы Википедии о том, что «Создание сети Gnutella инициировала компания America Online, использовав для этой цели программистов из подразделения Nullsoft» (цитата по состоянию на 2012 год), это неправда. На самом деле Джастин Франкель и Том Пеппер самовольно развивали и выкладывали код Gnutella, а также тестировали его на серверах компании AOL и без ведома самой корпорации. Последующее объединение AOL с Time Warner привело к тому, что с Gnutella стали уже активно бороться новые хозяева, выжигая ее каленым железом с серверов AOL и запрещая работу над ней в рамках новой компании (официально AOL назвала проект Gnutella «unauthorized freelance project» и открестилась от него), после чего оттуда и уволились разработчики Gnutella во главе с Джастином Франкелем.

Вы говорите, что вы более музыкант, нежели программист. Как вы видите будущее музыки? Выживут ли традиционные инструменты в будущем? Какие тренды в развитии музыки отмечаете лично вы?

Традиционные музыкальные инструменты прекрасны, и я думаю, что они никуда не исчезнут в будущем. Я уверен в этом!

Удивительно это слышать от прожженного электронщика, мастерская которого буквально завалена электронными инструментами…

Не совсем так. Позвольте привести пример из своей жизни. Как-то я купил на электронной распродаже на Craigslist пианино очень известной марки, которое было изготовлено в 1947 году. После его полной реконструкции своими силами, когда я буквально перебрал в нем практически все заново, восстановив все почти с нуля, я пригласил своего друга, профессионального пианиста, чтобы он опробовал инструмент в деле. В тот вечер я услышал божественный звук, бог мой, по моим щекам катились слезы восхищения, потому что это настоящая музыка, которая будет трогать душу и восхищать вечно.

Поймите меня правильно, я не против поиска нового в нашей жизни, равно как и в искусстве тоже, но есть вещи, заменить которые ничем другим просто невозможно. Потому что они уникальны.

Напоследок хочу задать вопрос на тему общечеловеческих ценностей. У каждого человека, наверное, есть что-то главное в жизни — некая доминирующая идея, ради чего он живет и преодолевает все эти многочисленные неприятности и сложности в своей жизни, ради чего находит в себе силы двигаться вперед каждый божий день. А что вы можете сказать о своей ведущей цели в жизни?

Мне очень нравится Курт Воннегут, позвольте я просто процитирую его:

«Быть по-настоящему человечным, это значит вести себя в любом случае достойно, при этом не ожидая за это никаких благодарностей и не боясь наказаний на том свете».

Я не совсем уверен, что в точности во всем человечен как гуманист, по крайней мере, для меня эти взгляды в моей жизни значат много. И знаю, это так банально звучит, но я считаю, что самый большой вызов в нашем мире — оставаться самим собой в любой ситуации, следуя своим идеалам и принципам до конца.

Горькое послесловие

Интересно проследить, как сложилась судьба культового аудиоплеера WinAmp после того, как он перешел из рук влюбленного в него создателя в руки эффективных менеджеров крупной частной корпорации AOL.

Если рассказывать эту историю кратко, все закончилось печально. После 15 лет существования проекта компания AOL закрыла его и распустила всю команду, которая занималась разработкой проигрывателя WinAmp. Участь самого Франкеля постигла и всех его последователей.

Впрочем, в последний момент AOL смогла спасти хоть что-то — в итоге культовый медиаплеер WinAmp был продан небольшой компании Radionomy Group, владеющей международным агрегатором интернет-радиостанций. Radionomy — это свободная платформа, которая может быть использована для создания и прослушивания радиостанций через Интернет.

Так завершилась славная история программы WinAmp, в итоге ставшей клиентом небольшого бельгийского интернет-проекта, который использует былую популярность программы как дешевый способ продвижения и популяризации своего встроенного сервиса. В собственность Radionomy помимо Winamp перешел не менее популярный каталог радиостанций SHOUTcast.

ГЛАВА 6. Сергей Кищенко — программист-кочевник

Сергей Кищенко — украинский программист. Бывший Software Architect в Quickoffice (Харьков), ныне работает в центральном американском офисе Google в MTV (в должности Google SWE). Активно путешествует, фотографирует и познает мир — относит свой образ жизни к движению digital nomad. Не женат.

Первая часть интервью взята в 2013 году, вторая — в 2014 году.

Многие айтишники уже привыкли к дорогим и хорошо оборудованным офисам, где они вросли корнями в свои рабочие места с несколькими мониторами, с халявной кухней и всегда стабильным Интернетом... Но даже среди программистов, любящих и ценящих эти простые радости любого гедониста, есть отдельные отщепенцы, которые живут кочевой жизнью бэкпэкера, не привязывая себя не только к офисному креслу, но и к стране своего местопребывания.

Я предлагаю вашему вниманию интервью с молодым украинским программистом Сергеем Кищенко, который ведет сверхмобильный образ жизни и постоянно путешествует по миру. Программирование — основная его работа, она полностью превратилась в удаленный тип заработка. Он кодит в самолетах, рейсовых автобусах или в горах — вообще везде, где есть Интернет и возможность хотя бы немного сосредоточиться, чтобы работой отвлечься от своего бесконечного трипа длиною в жизнь.

* * *

В каких странах ты был, что запомнилось наиболее ярко?

Только за последние три года я посетил (в алфавитном порядке): Азербайджан, Великобританию (3 раза), Грузию (2 раза), Данию, Казахстан, Камбоджу, Кению, Непал (3 раза), ОАЭ, Пакистан, Россию (неведомое количество раз), США, Таиланд, Танзанию, Турцию, Финляндию, Хорватию, Черногорию и Швецию. Как итог — в паспорте остался свободным лишь последний разворот.

Самая интересная и восхитительная страна из моего списка — Непал. Прекрасные горы, дружелюбные непальцы, Beatles и Pink Floyd в местном исполнении в барах Катманду, грандиозные храмы и тихие монастыри.

Что ты вынес из своих путешествий? Поделись своим практическим опытом.

Вынес несколько основных вещей. Во-первых, стоит полагаться на себя. Человек способен на большее, чем может представить. Вовторых, подавляющее число людей в мире — добрые и неконфликтные. Не стоит верить новостям и не стоит бояться нехоженых троп. В-третьих, на путешествие ты потратишь столько времени и денег, сколько у тебя есть.

Давай немного отвлечемся — почему ты стал именно программистом? Это случайность, расчет, желание родителей? Что для тебя программирование сейчас — средство заработка, самовыражения или...?

В детстве увлекался математикой, точными науками, технологиями. Соответственно, и компьютерами. Первые программы писал еще для ZX Spectrum, спасибо старшему брату, который его собрал. На PC писал простенькие текстовые игры на Pascal и Basic. Помню первое приложение с GUI, это была игра Duck Hunt, написанная на Visual Basic, который можно было раскопать в поставке Microsoft Office.

Сейчас программирование для меня — это хорошо оплачиваемое хобби.

И почему же в итоге Сергей-программист стал таким ярым путешественником? Откуда взялась страсть к путешествиям на фоне довольно обыденной офисной профессии?

Уверен, что дело в книгах, которые читал в детстве. Жюль Верн и Дюма, Сабатини и Стивенсон, Льюис и Конан Дойл — все они писали о приключениях и путешествиях, чем и определили мою непоседливость.

Все-таки программирование требует сосредоточенности и внимания, разве нет? Как ты реально работаешь в дороге, может, есть какие-то находки, приемы или хитрости? Стоит ли за таким специфическим образом жизни некая философия?

О находках: чтобы успешно работать и путешествовать, нужно держать темп. Например, приехав в какой-то приятный город, можно две недели ходить по горам, сплавляться по рекам, исследовать достопримечательности, даже и не подходя к ноутбуку. А следующие две недели посвятить работе, по вечерам отдыхая и общаясь с местными жителями. Так, в режиме две недели через две недели, я обычно нарабатываю больше 80 часов в месяц, и этого вполне достаточно для оплаты счетов.

Еще один совет: не пользоваться 3G-интернетом. Лучше выбрать хорошую кафешку с Wi-Fi и работать там. Приход в эту кафешку будет означать начало рабочего дня, это помогает сконцентрироваться. При должной сноровке можно даже следовать примеру Фейнмана и работать в барах под громкую музыку и разговоры. Это вполне реально, если задача действительно интересная.

Философия же проста: пока молод, стоит набираться опыта и знаний, это как прочный фундамент всего остального. Широта взглядов и более глубокое понимание людей окупится в дальнейшем. Ну и carpe diem — не стоит терять возможности повеселиться.

Несмотря на всю лаконичность твоего ответа, если позволишь, давай еще немного подебажим эту центральную тему интервью. Как я понимаю, есть две противоположные стратегии применительно к работе. Первая — это уход от мира, путь затворника или монаха, интроспекция бытия. Создание неких идеальных условий для стяжательства духа святого, отгородившись от всех соблазнов и грехов мира толстой офисной стеной. Применительно к ИТ это прежде всего Google-стиль — полностью самодостаточный навороченный офис со встроенной кухней (и желательно бассейном, массажной и тренажерной). Люди, работающие в таких условиях, обычно проводят свое рабочее время в наушниках («чтобы не отвлекали»), обставленные тремя или четырьмя мониторами по периметру («так удобней»). Ну прямо Царство Функциональности и Комфорта, дарованное работодателем для исполнения его Задач, тщательно отгороженное от всего бренного и социально ориентированного за пределами сего сияющего офиса. Противоположный стиль — это прыжок в гущу событий, абстрагирование от внешнего, какой-то спартанско-мобильный стиль работы на любой встречной кочке, где вроде бы и нет никаких условий для работы вообще, и все тебя во всем отвлекает... Но зато если ты адаптируешься к этому, открываются новые перспективы. В силу судьбы мне пришлось поработать именно в таких условиях в свое время, когда кругом стоял шум и гам, играла вовсю музыка, и мне приходилось решать довольно-таки сложные задачи, скрипя от натуги тогда еще молодыми мозгами. Я достиг уровня, когда степень погружения в задачу была такова, что люди, стоявшие рядом, не могли окликнуть меня, потому как я попросту не слышал голосов из внешнего мира. Коллеги, потерявшие надежду на традиционный коннект со мной, прибегали к болезненному тычку острым предметом в мое каталепсическое тело, чтобы я актуализировался в нашем временном континууме. Тогда я подумал, что такое программирование — это в прямом смысле медитация на коде, причем противоречивые внешние условия только углубляли уровень погружения (по принципу «что не убивает нас, делает нас еще сильней»). Что из этих двух полярностей предпочитаешь ты?

Мне ближе второй вариант. Умение входить в поток посреди бушующего моря, запираться в башне из слоновой кости, быть одновременно и программой, и компьютером, исполняющим эту программу, — это одно из умений, которым программист должен владеть в совершенстве. Оно сродни первым этапам медитации, вот только конечной целью является не отрешение от мира, а как раз погружение и концентрация на одной-единственной вещи.

И все-таки я хотел продолжить тему — если за окном прекрасное море, если за дверью новая и неизведанная страна, что ты говоришь себе, чтобы сесть за ноутбук и начать писать код? Наверное, недостаточно сказать себе что-то вроде «специально приперся за тысячу километров именно сюда, чтобы сейчас сесть и снова немного покодить»... Я хочу понять — в чем твой секрет такой настройки и самоконтроля?

Не стоит переезжать на новое место прямо перед двухнедельным спринтом. Если же новое место было вдоль и поперек исследовано за две недели до спринта, то не так уж и сложно заставить себя сесть за компьютер и писать код. Это ведь такое же хобби, как и путешествия, оно приносит порой ничуть не меньшее удовольствие.

Эй, я уже слышу, что многие скептики бубнят себе под нос недовольно — на подобные путешествия в стиле нон-стоп у них нет ни времени, ни тем более денег. Что ты сказал бы в этом случае? Насколько подобный стиль жизни доступен рядовому программисту?

Повторю, что на путешествия будет потрачено столько денег, сколько у вас есть, — это ключевая идея. Есть 200 долларов? Ну что же, это вполне может быть бюджетом на месячную поездку в Грузию, Армению и Азербайджан, включая авиаперелеты. Есть 800 долларов? Добро пожаловать на два месяца в Индию или Непал, включая авиаперелеты.

Нет денег вообще? Вам повезло, страны СНГ займут вас на полгода, и первый встречный будет готов вас подвезти, накормить и вписать у себя дома. Кроме того, вот вам мое эмпирическое наблюдение: путешествовать дешевле, чем жить оседло. Например, на месячную жизнь в Сан-Франциско в нормальных условиях (включая съем квартиры) у меня уходит в среднем 4000–5000 долларов. На том же Бали за 1000 долларов можно снимать собственную виллу с бассейном плюс питаться исключительно натуральными и свежими овощами и фруктами. Конечно, Бали — это ощутимо дороже, чем Таиланд, поэтому даже за 400–500 долларов дохода можно найти места, где вы будете чувствовать себя королем.

Мои друзья в Сан-Франциско часто спрашивают меня: «Как ты можешь себе позволить так много путешествовать?» Мой ответ звучит для них диковато — я не могу позволить себе не путешествовать. Попытки осесть в Сан-Франциско или в Москве постепенно делали меня банкротом.

Касательно времени — давно прошли те времена, когда человеку приходилось работать в поле от рассвета до заката, чтобы только прокормить себя. В современном мире полная занятость — это всего лишь способ спасти общество от реалий «Заводного апельсина», ведь свободное время далеко не всем идет на пользу. И здесь у меня для вас парадоксальный эмпирический вывод: путешествия делают меня продуктивнее. Я больше отдыхаю и меньше, но лучше работаю.

Отсюда совет — не нужно работать так много. Не берите кредитов, не покупайте модный автомобиль, не подписывайтесь на ипотеку, особенно пока вы молоды. Забудьте о покупке нового телефона каждый год. И вы поймете, что вы зарабатываете слишком много денег, значит, можно работать и меньше, освобождая в своей жизни место для открытий.

Конечно, чисто лишь для порядка тут нужно чуток побухтеть о будущем: как ты себя видишь лет в пятьдесят? Квартира, машина, счет в пенсионном фонде, все дела... Или одинокий седовласый программист, кодящий очередную свою программу где-то на дымчатых вершинах Непала? Говоря иначе, многие выбирают стратегию «пока молодой, предусмотрительно работаю на свою старость», но не реализацию биржевой стратегии «хватай и беги», спуская все свои деньги в том числе на свое беспорядочное перемещение в пространстве.

Современные украинские реалии таковы, что пенсионный возраст у мужчин выше, чем средняя продолжительность жизни. Понимание этого факта мешает «работать на старость», так как существует большая вероятность просто не дожить. Ну и как говорил Марк Твен: «Через двадцать лет вы будете более сожалеть о том, чего не сделали, чем о том, что вы сделали». Я предпочитаю делать то, что мне позволяют молодость и определенный уровень свободы.

Это не отменяет карьерных устремлений. Как оказалось, это не так трудно совмещать.

Давай вернемся к кодингу — какова сфера твоих профессиональных интересов в плане программирования, какие платформы и языки ты юзаешь?

Основные используемые языки — C++ и Python. Основные платформы на текущий момент — *nix-like, iOS. Больше всего опыта — в Mobile Development и Web Services Development. В первом нравится ограниченность доступных средств, это заставляет искать качественные решения. Во втором ресурсов больше, но и требования выше, так что качество программ и алгоритмов должно быть никак не ниже.

Профессиональные интересы в плане программирования — дизайн систем, высокопроизводительное (низкоуровневое) программирование, функциональное программирование. Испытываю определенную нелюбовь к программированию GUI, но имею интерес к нестандартным средствам HCI, например Computer Vision.

Какие у тебя личные впечатления от платформы Windows Mobile? Знаю, в свое время ты вложил в нее много сил и энергии.

К Windows Mobile отношусь ностальгически. Уже довольно длительное время ничего не писал под эту платформу, хотя она была очень неплоха в свое время. Радовала свобода, которую предоставляла платформа по написанию самого разнообразного софта. Так, было 2–3 способа перехватывать звонки и 2–3 способа перехватывать отправку сообщений. Все эти способы мы использовали для перенаправления звонков и сообщений на более дешевые каналы.

Но здесь же крылся и один из недостатков платформы — приходилось использовать все способы, потому что не было одного, который бы работал на всех телефонах всех вендоров. Порой удавалось найти что-то, что работало везде и всегда, но оно оказывалось недокументированным и опасным.

Расскажи про свое мобильное рабочее место. Какое железо, какой софт, как все используешь — наши читатели жаждут технических подробностей.

Macbook Pro 8.2 c dual boot: Mac OS X плюс Gentoo Linux. На последнем Gnome плюс XMonad, Firefox плюс Vimperator в качестве браузера, Sublime Text 3 плюс SublimeClang в качестве редактора и IDE для С++/Python.

Sublime Text 3 используется в качестве редактора и на Mac OS X. Для всего остального — командная строка, urxvt под Linux и iTerm2 под Mac OS X в качестве терминалов. Для связи с внешним миром — Skype и Gajim. Для обработки многочисленных фотографий — darktable.

Ты везде утверждаешь, что путешествие для тебя — хобби, программирование — тоже... А что же тогда работой-то является? Хобби — это все-таки подчеркивание любительского характера занятий, что подразумевает, что есть что-то более главное, на что тратится основное время и силы — работа. Что для тебя является такой работой?

Видимо, у меня какое-то свое собственное определение хобби. Так, я писал программы и до того, как мне стали их заказывать и я начал продавать свой труд. Если бы я выбрал, например, профессию врача, то все равно бы продолжал писать программы, только бесплатно. А так мне за них еще и деньги платят.

По твоим дорожным впечатлениям, каковы основные отличия в ментальности наших постсоветских людей, западных, а также азиатских? Или в общих чертах таких отличий нет, за исключением каких-то национально-религиозных импринтов?

Отличия есть, но они далеко не такие серьезные, как может показаться. Не более чем отличия между людьми как таковыми, не стоит недооценивать девиации менталитета жителей даже одного региона.

Все же существует определенная разница традиций. Так, западная культура — культура индивидуалистов, людей, которые уезжают из родительского дома в юношеском возрасте, чтобы получить образование, и никогда не возвращаются, а стараются жить собственной жизнью. Восточная культура — общественная и семейно-традиционная. Молодой азиат не мыслит себя без своей семьи, он строит собственную как придаток существующей, это элемент коллективизма. Постсоветские люди в этом плане — смесь традиционных и индивидуалистичных настроений.

Соответственно, на Западе залогом твоего успеха являются твой же труд и твои же заслуги. Ты гордишься собой, но и винишь во всем исключительно себя. Тебя учат быть самодостаточным и опорой себе самому, быть взрослым. На Востоке твои успехи — лишь часть успеха семьи, но и неудачи тоже делятся на всех.

Когда оказываешься в таких далеких краях, как Кения или Непал, не сильна ли ломка организма из-за отсутствия Интернета? Или я ошибаюсь и связь там есть, так же, как и у нас, — практически везде?

В том же Непале куда большая проблема с электричеством, чем с Интернетом. Регулярные отключения приучили аборигенов пользоваться автономными источниками питания, и первое, что подключают к такому источнику, — Wi-Fi-роутер. Кения также является одной из самых развитых стран африканского континента. Столица Найроби — вообще финансовый центр и с виду превосходит размерами и развитием любой украинский город.

На вопрос про ломку — бывает не интернет-голод, а скорее информационный голод. Например, когда ты долго ходишь по горам без книг и привычных RSS-подписок, мозг расслабляется и начинает требовать обычной дозы текста, чтобы хоть немного поработать. Помню, после десяти дней в Гималаях, спустившись к цивилизации, первым делом в местной лавке мной был куплен «Парфюмер» Зюскинда и прочитан тут же, несмотря на усталость и четыре утра.

Как относятся твои работодатели и родители к такому сверхмобильному образу жизни?

Работодатель, с которым я провел большую часть путешествий, относился с пониманием. Это было взаимовыгодное сотрудничество, ведь найти хорошего программиста и подождать, пока он выйдет на нужную скорость, намного сложнее, чем просто не терять существующих программистов. Сейчас я нахожусь в процессе смены работодателя, подозреваю, что доверие следующего еще предстоит завоевать, слегка ограничив перемещения и доказав собственную состоятельность.

Родные скучают, но видеоконференции сильно помогают разогнать грусть.

Кстати, что значит твой сетевой ник tilarids?

Никакого особенного значения в нем нет. Когда-то давно мне надоело, что все простые и понятные ники, образованные от имени-фамилии, оказываются заняты для регистрации, поэтому я выбрал слово, которое было сложно найти в Google-поиске. Само слово — переложение рунической надписи, которую наносили на наконечники стрелы или копья в качестве заговора.

В заключение интервью что можешь посоветовать молодым и «красноглазым» программистам-джуниорам, которые просиживают за компом по 24 часа в сутки?

Мой совет может показаться кому-то странным. Но не стоит вообще ударяться в профессиональное программирование, пока вы школьник или студент. Вы успеете еще наработать свой программистский опыт, а вот опыт студенческих вечеринок будет получить сложнее. Поэтому если вы материально можете себе позволить не работать — не работайте. Пусть программирование побудет еще какое-то время неоплачиваемым хобби.

* * *

Год назад я брал интервью у украинского программиста Сергея Кищенко, который постоянно дрейфует между континентами и культурами, создавая код в непрерывном движении во времени и пространстве. За спиной у Сергея осталось 60 стран, когда на его пути возник оффер от Google USA с предложением заякориться в самом сердце Силиконовой долины — Mountain View, California (MTV). Такая вот ирония судьбы — этого свободолюбивого кочевника «поработил» Гугл.

Узнав, что он принял это предложение (признаться, я был удивлен его согласием, зная его свободолюбивый украинский характер), я решил встретиться с Сергеем еще раз, чтобы узнать о впечатлениях прожженного бэкпэкера и космополита от США и Гугла. Во время интервью я применял продвинутые гипнотические техники, чтобы обойти NDA, и вот что из этого получилось.

Сергей, я уже задавал тебе этот вопрос в нашем прошлом интервью, но многие продолжают монотонно щемить меня в комментах: как можно писать по-настоящему сложные программы, при этом каждодневно дрейфуя в новые места и культуры, находясь в перманентном движении? Люди беспокоятся и жаждут дискурса: уж не говнокодит ли ваш Сергей? Очевидно, что офисному большинству для программирования нужны уединение, полная концентрация, социальный пакет и гробовое спокойствие, тогда как непрерывная дорога за окном, мелькающие пейзажи и страны лишают почти всего этого. Разреши еще раз пристать с этим вопросом к тебе: как можно научиться программировать, находясь в потоке суеты и отвлекающих моментов?

На качество моего кода можно посмотреть на https://github.com/ tilarids, хоть там и не лучшие образчики.

Теперь про программирование в движении. Написание кода происходит не тогда, когда вы стучите по клавиатуре и код появляется на экране. Процесс созидания идет у вас в голове, причем хороший инженер одновременно удерживает в голове и созидаемый код, и машину, на которой этот код будет работать, да еще и постоянно прогоняет код через машину. Поэтому для того, чтобы писать хороший код, вам действительно нужно спокойствие, но спокойствие в вашей собственной голове. Нужно сконцентрироваться, отбросить лишние раздражители, оставить себе только то, что важно в этот момент.

Каждый человек достигает концентрации внимания разными способами, например можно запереться в комнате без внешних раздражителей, можно научиться медитации у йогов, некоторым помогает кофе, никотин и витаминки-ноотропы. Мне же достаточно музыки в наушниках. Как научиться этому? Пробовать разные варианты и развивать концентрацию внимания постоянными тренировками. Не сдаваться, упорствовать. Все.

Бэкпэкинг в твоей жизни отчасти позади, ты угодил в хорошо расставленные сети опытных гедонистов из Google. Как это произошло? Можешь рассказать предысторию и общие впечатления от своих собеседований?

Путь в Google у меня занял очень много времени, собеседования приходилось переносить из-за путешествий, я хотел работать в Mountain View и, соответственно, получал рабочую американскую визу, а потом ждал до осени, чтобы ею воспользоваться. В итоге впервые мне написал рекрутер из Google в мае 2012-го, а первый рабочий день был в октябре 2013-го. Впрочем, моя ситуация — это скорее исключение, и я был совсем не против потратить побольше времени на путешествия. Тем более что весь процесс никак не мешает ни работе, ни жизни. Все собеседования интересные, хорошо подготовленные, и мне доставляло удовольствие простое участие в процессе.

О том, как проходят интервью в Google, написано уже очень много, но если кратко, то пришлось пройти несколько созвонов с рекрутером (организационные вопросы), несколько телевидеофонных интервью (алгоритмы, общие вопросы) и один onsite-визит — пять интервью подряд по алгоритмам, общим вопросам и дизайну систем. Логических задачек, вопросов про круглые люки, а также тестов по особенностям языков программирования на интервью не было.

Очерти техническую область, в которой ты варишься сейчас, согласившись на наем со стороны Google.

Техническая область сильно отличается от того, чем я занимался до этого. Data Analysis, Data Mining, Machine Learning, Big Data. Это очень близко по духу к академическим исследованиям, приходится читать научные статьи, а сопроводительная документация к системам сама может потянуть на статью в журнал. При этом в Google давно перебороли все акцидентные сложности, и писать код, перемалывающий гигантские массивы данных, очень легко и просто.

Если интересны технические подробности, то можно почитать недавний анонс на Google I/O 2014.

Покончив с бэкграундом, давай теперь я заставлю тебя вернуться назад во времени. Какие были первые и самые сильные впечатления от первой недели работы в этом поисковом ИТ-гиганте? Что запомнилось больше всего или удивило после того, как ты спустился из очередного горного трэка в сверкающий кампус Google в MTV? По моему сигналу ты закрываешь глаза, засыпаешь и рассказываешь, как это было на самом деле...

Разглашать конфиденциальное здесь все равно нельзя, даже находясь под гипнозом, но какие-то отдельные личные впечатления могут быть интересны и для других.

В Google просто до фига всего происходит. «Базилион» технологий, «хренилиард» серверов, чертова уйма людей. Не знаю, как этот масштаб разработки лучше вербализировать.

Атмосфера же, ощущение свободы, технические детали процесса разработки — все это не очень удивляло после четырех лет моей работы в Quickoffice, где все было организовано примерно так же. Внутреннее устройство успешных компаний вообще очень сходно. Correlation does not imply causation, но это все же повод задуматься руководителям.

Как и в любой нормальной компании, в Гугл развит dogfooding — эксперименты с новым софтом на своих же сотрудниках. И что я вам хочу сказать, глядя на все изнутри, если вы когда-либо матерились на продукты Гугла или жаждали какую-то новую фичу, то почти наверняка все уже «напедалено» и тестируется прямо сейчас.

Похоже, я не самый глупый из толпы новичков, которые начали работать по H1-B визе. Это удивительно, но тешит мое ЧСВ. Окружающие — не сплошь математические гении, победители различных олимпиад, а просто хорошие умные инженеры. Ты можешь у них чему-то научиться, но и они могут учиться у тебя. Иначе говоря, приятно сознавать, что тот опыт, что ты получал до этого, ценен и здесь.

Отдельно приятно удивили Project Managers. Они поднимаются по отдельной карьерной лестнице, а их работа — помогать разработчикам с коммуникациями и ведением проектов. И они это умеют! Например, умение вести митинг так, чтобы за отведенное время успеть обсудить все, — это вроде и мелочь, но подавляющее большинство менеджеров в Украине на это не способны. В Google же митинги идут столько, сколько заявлено (или меньше).

Продолжаем медленно вспоминать — какие были первые впечатления от Силиконовой долины?..

Долина тоже довольно сильное впечатление произвела. Меня сейчас окружают тысячи и тысячи умнейших людей. Они все приезжают сюда, чтобы учиться в Стэнфорде и Беркли, работать в Фейсбуке или Гугле. Большинство из них тратит деньги на благотворительность и ведет здоровый образ жизни. Велосипедистов кругом немерено. В тренажерных залах постоянно толпы. В 6:30 утра ты точно не будешь единственным человеком, который вышел на пробежку. Концентрация миллионеров зашкаливает, и только от тебя зависит, будешь ли ты сам миллионером завтра.

Знаешь, какое слово приходит мне в голову, когда я вижу все это? Евгеника. Множество целеустремленных мальчиков и девочек приезжают сюда со всего мира, и они передадут свою целеустремленность и хватку своим детям. Порой думается, что кто не успел вскочить в этот плавильный котел, навсегда останется позади (позади останутся в том числе и их наследники).

Насколько программисты вокруг тебя аполитичны или, наоборот, — вовлечены в общественно-политические проблемы США (или своейродной страны), находясь в самом центре благополучной, богатой и сверхстабильной Америки? У широких народных масс принято считать, что кодеры проводят большую часть своей никчемной жизни в неких виртуальных мирах по ту сторону монитора, поэтому им нет никакого дела до происходящего вокруг. Так ли это?

Судя по моему опыту, в Украине/Беларуси/России программисты — как раз наиболее общественно-политически активная часть населения. И даже переехав в США/Европу, они продолжают волноваться о судьбе родных стран, пытаются отстаивать свою позицию удаленно. Так, эмигранты-россияне готовы покупать по несколько подписок «Дождя», лишь бы поддерживать в живых хоть какой-нибудь оппозиционный телеканал.

И когда некоторые СМИ заявляли, что украинский Майдан спонсируется Америкой, они были в чем-то правы, потому что хорошо видно, что поток пожертвований до сих пор не иссякает.

К общественно-политической жизни США программисты скорее индифферентны, причем как приезжие, так и коренные американцы. Возможно, сказывается то, что даже и американцы здесь работают часто из других штатов, очень много новоприбывших, и у них еще не сложилось восприятие окружающей действительности как своей территории.

У Гугл очень разнородный по национальному признаку коллектив разработчиков. Есть ли какие-то сбои в коллективе из-за разности менталитетов и культурных кодов, упакованных в одной точке пространства и времени, но работающих над общей задачей?

Люди на самом деле все одинаковые, флуктуации в поведении из-за особенностей менталитета минимальны и в рабочей обстановке незаметны. Так что никаких проблем. И плавильный котел работает скорее не на сплавление менталитетов, а на сплавление опыта, знаний, умений.

Разве что приходится понимать самые разные акценты, но это не так и трудно.

Какова политика управления Гугла, как все это скопление гениальных людей «процессится»? Особенно, когда интересы одной творческой личности переезжают интересы другой катком личных амбиций? Как лучше всего купить лояльность у высококвалифицированных сотрудников с точки зрения Google?

O’кей, давай поговорим о политическом устройстве Google. В компании работает ну просто до фига сотрудников, больше, чем граждан в некоторых странах. Поэтому можно рассматривать компанию с политологической точки зрения. Так это вполне себе конституционная монархия, никаких выборов монарха, хотя монаршая власть здесь ограниченна. Интересно, что при этом лояльность сотрудников довольно высока. То, что компания платит денежку, это всего лишь половина ответа на вопрос «почему?» (каждый сотрудник Google приносит компании профита больше, чем ему платят).

Важно то, что в компании развит механизм эскалации. Так, раз в неделю можно нагло задавать неудобные вопросы Пейджу и Брину напрямую (я говорю про мой офис в MTV, в других офисах это сложнее). Да и до своего Director of Engineering/VP не так далеко идти, если вдруг чего. Очень развита культура «бунтарства». Пока внешний мир скандалит: «Google снова сделал что-то не то, ай-яй-яй», настоящий кипиш поднимается внутри компании. И что самое главное — «монархи» прислушиваются к проявлению недовольства сотрудников. Частенько признают ошибки. Рассказывают, как будут исправлять. Такая вот вторая половина ответа на вопрос лояльности.

И главный вывод: демократия не является той серебряной пулей, которая решает все проблемы социумов. Демократия — всего лишь один из вариантов эскалации проблем и влияния на решения (посредством предвыборных программ и голосования). Но есть и другие варианты. И да здравствует бунтарский дух!

Кстати, про бунтарский дух и твою «рiдну Украину». Есть такое мнение, что программисты изначально созданы для эмиграции, потому что их умения и работа напрямую интегрированы именно в западную часть экономики. Таким образом, говоря предельно общо, карьера в области программирования часто понимается как переход из-под цепочек многочисленных посредников, через которые работает тот же местный аутсорс, прямо к западному работодателю. В конечном счете трудоустройство в череде таких оптимизаций чаще всего влечет переезд и эмиграцию в офисы крупных западных компаний, чтобы работать и получать на равных с западными коллегами. Многие трудящиеся воспринимают такую позицию непатриотичной. Ты уехал еще до всей этой украинской революционной заварухи, каквообще относишься к такого рода утверждениям о «вечном неоплатном долгу перед Родиной»? Как относишься к «безродности» космополитов, которых среди программистов, наверное, большинство (в рамках которых Родина отходит на второй или третий план, а личная возможность развиваться и зарабатывать выпячивается на первый)? Иначе говоря, программеру не только хорошо платят, но высокая ликвидность и мобильность профессии дает ему возможность жить где угодно «самому по себе» (языком покера — это Double Joker), тогда как другие обыватели невольно пристегнуты к государству с его многочисленными проблемами и личными имперскими тараканами правителей. Насколько моральна или эгоистична позиция бегущего с тонущего судна космополита? Что для тебя эмиграция, почему ты решил работать именно за рубежом, а не остался в родном Харькове («и как один умрем в борьбе за это»)?

Лев Толстой еще в начале прошлого века писал о том, что патриотизм устарел, что он должен быть уничтожаем всеми силами и способами. Если бы ко Льву Николаевичу прислушивались, то, возможно, и не было бы мировых войн, не было бы миллионов погибших, не было бы и разрушенных судеб сегодня, ведь войны не прекращаются ни на минуту. Так что я антипатриот, и любые патриотические чувства считаю вредными. И если уж говорить о каком-либо долге, то я готов принять долг перед планетой, перед человечеством в целом. Для меня космополит — это не эгоист без роду и племени, космополит родом с планеты Земля (я готов расширить определение, как только станет ясно, что мы не одни во Вселенной).

Соответственно, эмиграция — это просто переезд из комнаты в комнату в пределах одного здания. В одной из комнат летом прохладней, и летом вы предпочтете спать там. А зимой можете вернуться назад, на свой старый продавленный диван. Также и США меня заинтересовали Силиконовой долиной, возможностью учиться у лучших инженеров этой планеты в одной из лучших компаний этой планеты. Если бы головной офис Google был в Харькове, я бы и не уезжал никуда.

Ситуация в Украине в этом контексте воспринимается сложно. Очень тянет поехать, помочь. Но не совсем понятна причина происходящего: эта заваруха из-за того, что одна из сторон воюет, считай, против всего человечества, против истины и свободы; или все же из-за того, что в спинном мозгу остался зудящий патриотизм, который так просто не вытравить. К тому же не хочется калечить людей. В результате масштабных внутренних битв помогаю удаленно, чем могу. Думаю, это самый эффективный возможный мой вклад.

Страшусь этой темы, но все-таки спрошу у программиста-космополита со стажем, посетившего более 60 стран мира, — каково твое отношение к политике?

У меня есть хороший совет, как экономить время на политических дискуссиях: перестаньте спорить с позицией собеседника. Вам совершенно не нужно много думать, как, например, евроинтеграция повлияет на учителей, сельское хозяйство, компанию «Рошен» и сталелитейные заводы. Прикиньте, насколько это повлияет лично на вас и ваших близких. Позвольте это сделать остальным. Вас рассудят закон больших чисел и принципы демократии, и драгоценное время не будет потрачено на пустые доказательства.

Можешь подвести некий итог, просуммировать свои впечатления: что тебе больше всего нравится в Америке и, наоборот, — что не нравится?

Я не могу сказать про все штаты, но я могу сказать про Калифорнию, про San Francisco Bay Area. Очень нравится, что люди массово увлекаются спортом, заботятся о своем здоровье. Такая обыденная любовь к жизни, к себе, к окружающим. Проявляется везде и во всем. У нас это очень непривычно.

В качестве негатива: в Штатах нефиговая проблема с квартирными кражами. Причина проста — полиция плохо финансируется и на расследование таких мелочей просто не хватает людей. Тем более что страховая покроет утраченное за вычетом deductible (обычно 500 долларов).

Арендовать апартаменты в Штатах дорого и мучительно больно. Своя жилплощадь здесь редкость, куда чаще люди всю свою жизнь снимают. Или берут ипотеку, что может быть даже больнее. Поэтому квартиры обычно сдаются на длительный срок: от 6–12 месяцев. Выехать раньше можно, но для этого нужно выкупить контракт. Стоимость buy out у меня — полуторамесячная рента. Сам лизинговый контракт полон прекрасного: указаны разрешенные цвета жалюзи, прописан статус «медицинской марихуаны», в качестве форс-мажоров указано в том числе и божественное вмешательство, отдельная статья посвящена млекопитающим (mammals) в квартире.

Что удивительно, агенты по недвижимости не вызывают ненависти. Заходишь на craigslist, смотришь объявления, звонишь и попадаешь на владельца или его представителя, а не на частного маклера, готового за 200 баксов найти похожую квартиру. В специально оговоренное время заинтересованные приходят на смотрины, тут же можно подать application. Стоимость application — 30–45 долларов. В случае подтверждения платишь депозит (1–2 месяца ренты, правило хорошего тона — по возврату депозита приплачивать проценты, которые бы набежали на этот депозит в банке), оплачиваешь первый месяц — и въезжаешь. Обычно квартиры без мебели, но с оборудованными кухнями.

Еще приятная особенность — апартаменты часто объединены в коммьюнити, я как раз в таком и живу. В стоимость аренды включен доступ к общественному тренажерному залу, небольшому открытому бассейну, площадке для барбекю. Довольно полезным ништяком является то, что «на ресепшене» могут принять посылку в рабочее время, это удобней, чем доставлять в офис. Еще про впечатления от США: лично мне не нравится рельсовость, накатанность жизни в целом. Материальная обеспеченность отнимает желание стремиться к большему. В Bay Area стремлений и амбиций побольше, конечно, но тем не менее.

Также из неприятных для меня вещей в США — это компании, чья бизнес-модель построена на эксплуатировании законов. Так, о патентных троллях знают все. А вот вы слышали о юридических фирмах, которые ищут жертв неудачно прописанных медикаментов?

Так и идет реклама по местному телевизору: «Если вам прописали X, а у вас были такие-такие побочные симптомы, звоните нам, вам полагается денежная награда». И реклама по соответствующим запросам в том же Google стоит безумно дорого, то есть у этих сволочей хватает прибыли, чтобы еще и рекламу давать. Этот мир явно требует серьезной оптимизации.

Может, в последнем и выражается звериная сущность американских юристов — этаких санитаров леса в обществе и государстве, ревниво стоящих на страже этой самой нерушимой законности, стабильности и порядка, что и порождает в качестве того же побочного эффекта рельсовость и накатанность жизни?

Юристов действительно много.

В этом плане пару раз замечал интересное — при переезде в США/ Европу бывшие жители СНГ прекращают качать фильмы с торрентов. Но не потому, что никто так не делает и это воровство, а просто боятся, что их попалят. И с интересом расспрашивают друг друга, не было ли с торрентами проблем?

Так что все это пиратство и презрение к копирайтам от безнаказанности. Когда в следующий раз будете качать фильм/музыку с торрентов, хотя бы себя не обманывайте, что это потому, что «все качают».

Ну и, конечно, влияет то, что легально купить фильм проще, чем скачать с торрентов.

Давай теперь поговорим более плотно про ИТ. Бытует мнение, что у Google есть любимые языки программирования (ЯП), то есть объективно востребованные скиллы внутри самой компании. Как пример, твой любимый Python часто называют очень популярным в рамках внутренних проектов Google. Можно ли очертить круг наиболее интересного для этого поискового гиганта на программистском рынке?

Любимые языки в Google — это те, которые позволяют выпускать продукты и запускать сервисы. В основном это мейнстримовые языки вроде Java, C++, Python, JavaScript. Они не просто так мейнстримовые — это действительно лучшее, что есть сейчас среди ЯП. Но, вообще говоря, используемый язык — это побочный скилл. На интервью по языкам вас могут спросить разве что о том, как вы относитесь к той или иной особенности ЯП, что бы вы хотели исправить. То есть это скорее вопрос по системному дизайну, чем по языку.

Иначе говоря, язык программирования — это как разговорный язык. Чтобы работать в Google, нужно более-менее изъясняться на английском, потому что на этом языке говорит вся компания. Поэтому нужно уметь свободно писать код на каком-то из мейнстримовых языков программирования. Впрочем, этому учат в любом инженерном вузе, а попасть в штат Google без высшего образования довольно трудно.

Спектр же применяемых технологий настолько широк, что очертить определенный круг никак не получится. Ведь компания не только пишет поисковик, но и занимается исследованиями в области искусственного интеллекта и машинного обучения, производит автомобили и воздушные шары, разрабатывает Android OS и Chrome OS. Поэтому Google пытается нанимать инженеров широкого профиля (generalists).

Сужаю и персонализирую первоначальный вопрос: какие технологии сегодня поражают тебя и какие языки программирования будут рулить на массовом рынке в ближайшие пять лет? Если можно, сделай прогноз, что сейчас наиболее перспективно и востребовано на кухне топ-разработчиков.

Я люблю функциональные языки программирования, и мне радостно видеть, что они постепенно приобретают все больший вес в области обработки данных. Но это не означает, что мейнстримовые языки куда-то исчезнут и на их место придут другие.

Знаете, почему и через десять лет мы будем писать на С++, а не на каком-нибудь другом языке? Потому что современные компиляторы С++ оптимизируют так, что просто диву даешься. Например, посмотрите: я попытался обмануть компилятор так, чтобы он не оптимизировал пробрасывание временного значения в функцию bar. [http://bit.ly/1fsb7sU] Что из этого вышло — сами видите.

Возможно, Go и Dart удастся немного потеснить Python и JavaScript, но не более того.

Предвидеть же, какие технические направления будут горячими через пять лет, я не берусь. Впрочем, всем карьеристам еще не поздно вскочить на поезд Artificial Intelligence и Machine Learning, они вряд ли скоро пропадут с горизонта.

Действительно, ничего революционного в твоем списке языков и технологий нет. Тем не менее знакомые девелоперы часто брюзжат слюной, что технологии создания программных продуктов не прогрессируют с 60-х. В чем суть этого скепсиса?

Давайте лучше поговорим о философии программирования, которая тоже не меняется с середины прошлого века, — это будет более общим случаем предложенной темы.

Итак, программированием правит утилитаризм. «Premature optimization is a root of all evil» — говорит нам старина Кнут, и мы вспоминаем о производительности только тогда, когда уже поздно. Пятидесятикратное падение производительности? Да пофиг, будем писать на Python в 3 строки! Четыре гига «оперативы» ушло в никуда? Еще раз пофиг, зато мой pure functional язык позволяет мне выражать мысли монадами!

Недавно коллеги обсуждали невероятные тормоза LibreOffice при прокрутке документа с SVG. И это на современных персональных компьютерах текущего года. Мне особенно больно это слышать, потому что я почти 4 года проработал над офисным продуктом, который изначально затачивался под мобильные устройства. Это Excel, который работает на мобильном 20-мегагерцовом процессоре. Word, занимающий памяти меньше, чем документ, который вы открываете. Но пришло время айфонов и айпадов, и я лично наблюдал, как деградировал наш продукт, когда снимались определенные ограничения. На первом iPad можно было легко откушать до 64 метров памяти без риска быть убитым, это было роскошью, и приложение летало. К появлению iPad Retina приложение уже хотело под 300 метров в определенных случаях, а на первом iPad тормозило. Аналогичная деградация наблюдалась в Android-версии. Изначальный лимит в 16 Мбайт для поддержки слабых андроидофонов был вскоре забыт, основная разработка велась под Android-планшеты, которые могли поспорить в производительности со слабенькими персоналками. К чему это привело, вы все сможете посмотреть в Android 4.4 KitKat, в ванильной поставке которого должен быть тот самый офис.

Мой вывод — виновата философия программирования, которая сделала создание программных продуктов чисто утилитарным действием. Программирование сегодня — это как написание картин для того, чтобы дырку в стене прикрыть. Модернизация «алгебры» этого процесса приведет лишь к тому, что качество картины будет выше с точки зрения ее возможностей лучше висеть на стене и прикрывать дырку. А вот что делать, чтобы программирование стало искусством, а не ремеслом? Возможно, такая возможность уже безнадежно утеряна.

Давай, глядя с вершины всех этих зияющих проблем отрасли, попытаемся дать дельные советы начинающим программистам. Ты — состоявшийся программист. Оглядываясь назад, анализируя свои поступки и мотивы, можешь ли ты сам себе объяснить, в чемсекрет или формула успеха на этой стезе? Очень многие молодые люди стремятся стать айтишниками, но далеко не у всех в итоге получается что-то путное. Глядя изнутри индустрии, что можно выделить главное в характере, профессии и обстоятельствах, которые способствует успеху именно в ИТ? Какие общие советы ты бы дал начинающим программистам?

Еще в прошлом интервью я советовал начинающим программистам больше времени наслаждаться детством и юностью и поменьше думать о карьере, пока есть такая возможность. Если же пришла пора о ней задуматься, то важнейшими качествами являются уверенность в себе, смелость и упорство. Это истинно не только для ИТ. У каждого человека свой путь к вершинам.

Смелость и уверенность в себе позволяют сделать первый шаг. А после первого шага становятся очевидными трудности, которые доведется преодолевать. И здесь поможет только упорство.

Дополнительно, что бы ты пожелал молодым коллегам-программистам, которые в душе симпатизируют евгенике и горят желанием трудоустроиться в таких местах силы, как Google? Так уж ли страшен этот заморский «поисковый черт», как его малюют?

Молодым коллегам-программистам в этом плане совет: убежден, что Google — идеальный выбор именно в качестве вашего первого места работы. Не нужно бояться, что у вас не хватит опыта, в интернатуру берут вообще без какого-либо опыта. Важны ваши знания, образование и желание работать. Также Google отлично подходит тем, кто уже имеет инженерный опыт, но желает научиться большему. Там также найдется место и для зубров от программирования, но последние вряд ли нуждаются в моих советах.

Тем, кто желает подготовиться к интервью, очень советую курс алгоритмов от Роберта Седжвика из Принстона. [1 http://www.coursera.org/course/algs4partI] Это лучшее из того, что я знаю.

Не мешает ли такая напряженная офисная работа твоим активным путешествиям? Мне кажется, что суперкомфортный Google — это прямая антитеза твоим дауншифтерским трипам по захолустьям цивилизации. Как ты совмещаешь эти две разные концепции?

Да, такая работа мешает путешествиям в далекие края. Но Калифорния знаменита тем, что многие интересные места находятся совсем недалеко. Я стараюсь выходные проводить вне города, и за уикенд можно забраться в горы (огромная горная система Кордильер), побродить меж озер в Йосемити, добраться до Долины смерти, доехать/ долететь до Большого каньона. Зимой доступны прекрасные лыжные курорты, круглый год можно заниматься серфингом, виндсерфингом, кайтсерфингом, ходить на парусных яхтах.

А горновелосипедные маршруты такие классные, что я уже чуть себе все не переломал. (Смеется.)

Знаю, теперь ты путешествуешь в «корпоративном подпространстве» по разным офисам Google. Каково оно?

К сожалению, я был только в некоторых из них. Впечатляет, конечно, головной офис в Маунтин-Вью, который уже давно превратился в маленький городок, а также офис на Манхэттене, в котором легко заблудиться, а чтобы быстрее передвигаться по этажам, активно используют самокаты.

В целом же путешествий, конечно, не хватает. Но, как известно, на другом берегу трава всегда зеленее. Когда путешествуешь, начинаешь мечтать о спокойных посиделках с друзьями, часами зависаешь в видеозвонках. Но стоит провести вне путешествий какое-то время, как снова тянет в горы, в новые страны. И так один этап неизбежно сменяет другой, это естественно. Сейчас у меня фаза жизни с меньшим количеством путешествий и большим вниманием к работе и инженерии.

Кстати, насколько в Google гибкий распорядок дня? На собеседовании мне рассказывали истории, что якобы некоторые гуглеры не только работают на эту компанию нон-стоп (это произносится с оттенком гордости от выпавшей им великой чести), но и буквально спят в офисе, настолько он похож на самодостаточную экосистему, идеальную для застревания в ней любого холостого программера-гика, неравнодушного к своей профессии.

График работы очень гибкий. Но в Google ведь бесплатные завтраки, обеды и ужины, и вот они ограничены по времени. Хочешь попасть на завтрак — приходи до 9:30. Опоздал — можешь позавтракать овсянкой или хлопьями на микрокухнях. Такой распорядок очень мягко загоняет всех сов в офис пораньше. Плюс не стоит забывать о «митингах». Ты можешь участвовать в них откуда угодно, но удобней всего это делать из офиса, поэтому если у тебя раннее совещание с командой из Европы (из-за разницы во времени), то ты вынужденно приходишь пораньше.

Да, переночевать в офисе можно, ведь на территории легко отыскать душ и даже есть «тихие комнаты». Есть и прачечные, где можно постирать одежду, да и все офисы открыты круглосуточно. Но эта возможность нужна скорее на всякий случай. Из моих личных знакомых никто ею не пользовался, а у меня в офисе Google ночевал только велосипед.

Тем не менее в чем секрет твоей производительности? Где находить силы, чтобы столько читать, работать в полную силу, да и путешествовать, фотографируя все кругом? Может, это результат какогото хитрого мировоззрения или страсти к переменам?

О, есть очень простая техника. Нужно записаться на курсы китайской каллиграфии, бальные танцы, уроки испанского и гитары, пообещать всем на работе закончить важный проект раньше срока, договориться с друзьями пойти в поход на все выходные.

В общем забить всю неделю так, чтобы ничего не успевать. Продержаться семь дней, а потом убрать бальные танцы и испанский. Это освобождает кучу свободного времени, и ты легко успеваешь и на уроки гитары, и в поход. Это работает как в обычной жизни, так и в путешествиях и спорте. А дальше уже тянет сформированная сила привычки.

Продолжая тему, расскажу, что ты заядлый любитель чтения. Бытует мнение, что книга — уходящее явление, ведь многое в мире ныне можно увидеть своими собственными глазами — путешествия и опыт дальних стран доступны многим лично, а на все известные книги сняты фильмы и т. д. Почему ты выбираешь именно книги? Зачем тратишь на них столько времени?

Книги — это, возможно, самые главные учителя в моей жизни. Если бы не приключенческие рассказы Верна, Лондона да Сабатини, я и не путешествовал бы столько. Книги же подарили мне основные принципы, которым я стараюсь следовать.

Также я не считаю, что книги, фильмы и путешествия взаимовытесняющие. Они существуют в разных плоскостях. Крайне редко книга и фильм по книге достаточно хороши, чтобы достойно бороться за умы и сердца (например, в первом приближении я только «Бойцовский клуб» и «Властелина колец» могу вспомнить из подобных). Путешествия же вообще дают совершенно особенный опыт, который ни с чем не совместим.

На твой айтишный вкус лучше все-таки бумажные или электронные книги?

Электронные. С чистым сердцем могу рекомендовать Kindle — он маленький, легкий, дешевый и при этом довольно надежный. Предыдущая версия прошла со мной огонь и воду, но в конечном счете не пережила перелет непальскими локальными авиалиниями. Сейчас у меня версия с подсветкой.

Бумажные книги я тоже люблю, но они не практичны. Легко впитывают воду, много весят, а еще быстро заканчиваются.

Продолжая тему чтения, можешь ли назвать пару любимых книг, впечатливших тебя за все время наиболее сильно? Для безнадежно фраппированных айтишников типа меня лучше назови свои любимые RSS-подписки.

Я очень мало читаю по компьютерным наукам, предпочитаю художественную и научно-популярную литературу. Поэтому будет больше книг художественных. Плюс я ограничу временной интервал последними 3–5 годами, потому что иначе топ книг будет заполнен детской приключенческой литературой. Итак:

• Дуглас Хофштадтер «Гёдель. Эшер. Бах. Эта бесконечная гирлянда» (научпоп) — отличная философская база для нерелигиозного детерминистского восприятия мира.

• Henry David Thoreau «Walden; or, Life in the Woods» (автобиография) — библия дауншифтеров. Интересным дополнением здесь будет книга Jon Krakauer «Into the Wild».

• Роберт Хайнлайн «Чужак в чужой стране» (роман) — библия хиппи. Также у него же весьма впечатлила «Луна — суровая хозяйка», настольная книга революционера.

• Джордж Оруэлл «Вспоминая войну в Испании» и «Памяти Каталонии» (автобиография) — история формирования мировоззрения автора «1984», возможно, лучшего романа XX века. У Оруэлла еще, кстати, есть прекрасные «Дни в Бирме», пронизанные духом обреченного социализма. А адептам путешествий «без средств» будет интересно почитать «Фунты лиха в Париже и Лондоне».

• Эрнест Хэмингуэй «По ком звонит колокол» — очень впечатливший меня роман, который я упустил в юности.

• Фредерик Брукс «Мифический человеко-месяц» (компьютерные науки) — лучшая книга по управлению проектами и одна из лучших инженерных книг вообще.

• Eliezer Yudkowsky «Harry Potter and the Methods of Rationality» (роман) — прекрасное введение в теорию рационального мышления.

В списке только одна книга по компьютерным наукам, и это не случайно. Большую часть инженерной информации я получаю из RSSподписок и Twitter:

• Paul Graham’s Essays (paulgraham.com/articles.html).

• HackerNews (news.ycombinator.com).

• ЖЖ Анатолия Воробья (avva.lj.ru — здесь темы как технические, так и общие, очень хороший блог).

Отдельно хотелось бы упомянуть ленты комиксов:

• xkcd.com.

• abstrusegoose.com.

• www.smbc-comics.com.

О’кей, если с творчеством все более-менее понятно, то какую роль в твоей жизни играет спорт? Это нечто большее, чем просто попытка быть в форме и сохранить здоровье?

Есть околоспортивные вещи: сноуборд, байкинг, серфинг, скалолазание. Это просто развлечения, мне это нравится. Мне нравится нестись на борде вниз по склону или пытаться удержать руль велосипеда на горном трейле, я получаю удовольствие, забравшись на стенку по маршруту, который до этого пройти не мог.

Есть и чисто спортивные занятия: бег, тренажерка. Позволяют держать себя в форме и дают возможность заниматься тем, что я люблю. Например, ходить в горы. А еще спорт вызывает почти наркотическую зависимость, и занятия делают вас немного счастливее.

И напоследок — каковы для тебя главные плюсы и минусы от работы в Google, если выразить их одной строкой?

Нравится четкий, отлаженный процесс разработки, который создавался инженерами для инженеров. Не нравится масштабность корпорации — в такой большой компании очень трудно заметить собственный вклад, что в итоге может привести к потере искренней мотивации.

Timelapse-видео в качестве бонуса

Сергей Кищенко, прямая речь:

Перед тем как уехать в очередную кругосветку, я настроил хук в Mercurial, который делал автоматический снимок веб-камерой на каждый мой коммит в репозиторий. После полугода путешествий вы можете наблюдать результат в виде видео. [1 https://www.youtube.com/watch?v=5F0ZWzD7HWk] Как видите, ответ на вопрос «откуда я беру деньги и время на путешествия?» довольно прост — я работаю прямо в дороге, в любом состоянии и в любое время.

ГЛАВА 7. Терри Дэвис — Господь сказал: иди и программируй

Терри Дэвис — американский программист, сторонник методики рекреационного программирования. Автор ОС The Temple Operating System (by Trivial Solutions). Верит в Бога, но не верит в человечество. Интервью взято в 2014 году.

Сегодня у нас интервью с Терри Дэвисом, противоречивой звездой западного технического Интернета, человеком, который больше десяти лет в одиночку пишет свою собственную ОС, в свободное от этой работы время общаясь с Богом. Давайте будем честны: не каждому из нас повезло с менеджером проекта, но Терри уверяет, что ему точно повезло. Бог, в отличие от манагеров, — он всегда вежливый, терпеливый, и к тому же знает все о правильной архитектуре ОС, поэтому задача Терри была довольно легкой — просто следовать представленным сверху спецификациям.

Далее о TempleOS, о жизни и рекреационном программировании, а также о противостоящем прогрессу ЦРУ и коварных «ниггерах».

Власть абстрактного

Программист работает с абстракциями. Ему приходится держать в голове гораздо больше абстракций, чем любому другому «нормальному» человеку. Абстрагирование сопутствует программисту на всех уровнях разработки — от описания целей до создания исполняемого машинного кода. А таких уровней могут быть десятки, а то и сотни. Это чудовищные по сложности замки из кирпичиков инкапсулированной логики, построенные на зыбком песке собственного сознания.

Вместе с тем известно, что у значительной части больных шизофренией нарушения мышления слабо выражены или клинически никак не определяются. Именно таким «нетоксичным» больным свойственен чрезвычайно высокий уровень абстрактного мышления, где проявляются его истинные величие и мощь. Данные особенности позволяют больным порой добиваться выдающихся результатов в различных областях профессиональной деятельности, где абстрагирование играет ключевую роль. Весомая доля непреходящих общечеловеческих ценностей создана больными шизофренией. Среди них можно назвать Ньютона, Ницше, Гоголя, Ван Гога...

Подобные абстрагисты склонны к масштабным проектам и громким стартапам, слышанию голосов, к невероятной производительности и целеустремленности. Согласно клинике протекания шизофрении, возможен некий компромисс больного с обществом — это уход в самозаточение посредством реализации некоего magnum opus. Такому варианту проявлений свойственны мирская аскеза, патологическая безработность (синонимы с поправкой на местные особенности — тунеядство, социальный паразитизм) и фонтанирование чистыми абстрактными концепциями, где идея Бога, как правило, занимает центральное место.

Куда приводит программирование

Терри Дэвис — бывший профессиональный разработчик ОС. В частности, он работал над VAX operating system, а также частично над C64 (документировал работу этой ОС с памятью). Терри приобрел весьма специфическую известность в западной технической части Интернета — его личные аккаунты забанены на всех ведущих айтишных ресурсах типа OsNews, Reddit, Hackernews и т. п., где он пытался активно проповедовать свои идеи.

Многие утверждают, что Терри болен шизофренией (он сам подтверждает это). Как минимум, лежал в соответствующих заведениях на лечении. По словам самого программиста, однажды он стал слышать Бога и, как результат, начал писать собственную ОС по спецификациям, предоставленным Всевышним. К удивлению многих, за более чем десять лет работы он единолично создал полностью  работоспособную версию ОС, которую назвал TempleOS. Ее ключевая утилита — Оракул — позволяет вести чат с Богом любому человеку. В целом это очень необычная система для любых PCсовместимых компьютеров с открытым исходным кодом, образ с которой можно свободно скачать с TempleOS.org (альтернатива — github.com/muflax/templeos).

Кросс-компиляция пограничных смыслов

В процессе написания интервью мне пришлось невольно написать что-то вроде виртуальной машины, которая бы динамически реинтепретировала символы и смыслы специфического внутреннего мира Терри в стандартные символьные коды обычного человека с «общесовместимым» для большинства мировоззрением (как правило, герметично «прошитым» ему обществом еще в раннем детстве).

Поэтому далее — минимальное пояснение авторской терминологии для лучшего понимания дальнейшего интервью.

• «Ниггер» (nigger) — стандартное обращение Терри к оппонентам. Поэтому если Дэвис назвал вас так, то, скорее всего, он имеет в виду не цвет вашей кожи, а недоволен вашей критикой его ОС (или просто считает вас «плохим человеком»). Исходя из его сленга, все «ниггеры» работают (программируют) за деньги, поэтому их «экспертное мнение» о достоинствах или недостатках его ОС не может быть объективным и беспристрастным в принципе. Следовательно, отвергается автоматически.

• ЦРУ (CIA) — по уже устоявшейся теории Терри будущему успеху TempleOS сегодня угрожает механизм безопасной загрузки UEFI. По его мнению, за этим стоит Сатана, персонифицированный на земле в лице ЦРУ. Поэтому ЦРУ в его оборотах речи чаще всего — это метафизическая сущность, которая яростно противостоит единственной верной методологии программирования — рекреационному программированию.

Складывая все воедино, повестка дня такова: «ниггеры» из ЦРУ, используя влияние больших денег и подкуп, хотят уничтожить уникальную кодовую базу TempleOS. Потому-то Терри и призывает всех немедленно скачать TempleOS на локальный диск и далее свободно распространять ее по миру, как поступал с учением сам Иисус.

Это сделает невозможным замалчивание правды, а рекреационное программирование в итоге станет доминирующим в мире.

Впрочем, несмотря на все сопротивление, спасительная TemplesOS уже готова. С ее помощью как непрограммисты, так и самые опустившиеся «ниггеры» могут общаться с Богом напрямик, что положит конец нынешней гегемонии ЦРУ.

Пророк рекреационного программирования

Кто вы и в чем смысл TempleOS?

Меня зовут Терри Дэвис. Я избран Богом для создания его храма — новой операционной системы. Поэтому я оставил работу и посвятил себя разработке новой ОС, которая практически готова. На данный момент я имею 64-битовое ядро и компилятор. Кроме того, есть множество встроенных инструментов, которые должны со временем сформировать законченную пользовательскую часть системы (userland).

Что бы все это ни значило, вы написали чертовски много кода с нуля. Также можно уверенно констатировать, что ваша ОС — рабочая. Как давно вы занимаетесь этим проектом?

Около десяти лет в режиме нон-стоп. Вся команда разработки — это я один и мой божественный компаньон.

Насколько реально в одиночку написать ОС?

Это очень тяжелая работа. Я работал над TempleOS каждый день без выходных в среднем по десять часов в сутки. Нужно просто верить и молиться, и помощь придет.

Что у вас с разрешением, почему нет поддержки HD?

Система поддерживает единственное разрешение 640x480 в цветности до 16 цветов. Бог сказал, что это оптимальное разрешение для работы, а я стремлюсь избегать ненужных излишеств. Вы можете убедиться, что все утилиты и задачи вполне нормально работают и в таком разрешении. Я понимаю скепсис «ниггеров», но вся эта гонка за разрешением — просто вредная привычка, от которой проще избавиться, чем потакать.

Давайте посмотрим на ваши утилиты. Вот, к примеру, «тулза» для генерирования гимнов Богу. С одной стороны, это интересный бредогенератор, то есть генератор с развитой лексикой текста по заданным ключевым словам, с другой — что-то вроде караоке, который позволяет разработчикам славить Господа днем и ночью.

Под свое настроение вы выбираете ключевые слова, после чего можно петь автоматически генерируемый текст. Система сама распознает коннотации текста, вставляя смайлики для обозначения соответствующих эмоций.

Не думал, что доживу до того времени, когда в современных ОС появятся такие фичи. А еще у вас есть утилита AfterEgypt Oracle с весьма интригующим описанием...

Это возможность прямого общения с Богом, ее работа базируется на продвинутом генераторе случайных чисел. В основе лежит концепция того, что случайностей не существует, все во власти Провидения.

Таким образом, через утилиту можно получить ответ на любой вопрос или определение любого явления и термина. Кратко о воззрениях Бога можно прочитать на моей странице, где я привожу некоторые свои диалоги с Ним. [1 http://www.templeos.org/Wb/Adam/God/HSNotes.html]

Почитав немного кода, я понял, что продвинутый генератор случайных чисел — один из ключевых компонентов вашей ОС. Для чего все это делается, куда вы держите путь?

Проект — это демонстрация рекреационного программирования в действии. Я надеюсь, что он не только приблизит людей к Богу, но и даст им определенную базу знаний в области основ программирования ОС.

Почему просто не взять Linux и не «перехачить» его под себя?

Современная ОС Linux поддерживает очень много архитектур и является чрезвычайно сложной. TempleOS сделана предельно просто. Тем не менее в ней очень много интересных идей и практических демонстраций концепций программирования. Еще раз: это система без особых претензий, она больше подходит для хобби и изучения рекреационного программирования.

На всякий случай — что такое рекреационное программирование? Вдруг кто-то из наших читателей до сих пор не знает, что это такое.

Таким образом я хочу подчеркнуть, что этот проект не имеет никакой практической или коммерческой направленности, а создается исключительно для демонстрации личных идеалов. Кто-то может разделять их, я не против. Для всех остальных, вероятней всего, это не будет иметь никакого практического смысла и значения.

Например, есть люди, которые серьезно занимаются сельским хозяйством. Они выращивают продукты для продажи, для них это всего лишь бизнес. Но если за этим не будет коммерческой модели, генерирующей cashflow, их сад опустеет и будет заброшен. Они могут называть себя прирожденными садовниками и профессионалами своего дела, тогда мое утверждение будет тем более грустной для них правдой.

В моем случае это работа на себя ради возвышенных целей и идеалов, за которой нет меркантильных интересов и расчета личной выгоды. Это и есть рекреационное программирование — программирование для развития. Можно назвать это просто хобби для души. И этот сад никогда не опустеет.

Как можно жить при такой модели в реальном мире?

Я живу на пожертвования и спонсорство. Деньги для меня — не главное.

Многие программисты, которых я знаю, ленивы и тяжелы на подъем. Если у них еще и зарплаты отнять... В чем секрет вашей продуктивности и целеустремленности?

У «ниггеров» нет идеала, ради которого стоит мечтать и преодолевать, чтобы идти вперед. Жизнь «ниггера» скучна и бессмысленна, в этом социальном контракте нет места вдохновению. Поэтому отрешитесь от суеты, вложите свою веру в нечто высокое и масштабное, подобное Богу, и это сделает вас непобедимым в стремлении к мечте и свету.

Что бы вы могли посоветовать любому простому «ниггеру» типа меня? Как стать хотя бы чуточку лучше?

Первый шаг — начать использовать конструкцию elseif вместо switch case.

В заключение, возможно, неприятный вопрос. Читая историю разработки TempleOS, я поражаюсь, как много людей ненавидят вас и вашу ОС. Что бы вы сказали им? Возможно, что-то (или кто-то) угрожает вашему уникальному проекту?

Всем «ниггерам», которые читают меня сейчас, я хочу сказать одно: дело мое правое, и меня не остановить.

Что касается угроз, самая большая опасность для TempleOS — это новая технология загрузки UEFI. ЦРУ, безусловно, хочет смерти проекта, но мы будем бороться до конца. Вообще искусственно создаваемые проблемы с совместимостью, которые нарастают в последние годы, меня расстраивают. Это удар ниже пояса, противоречащий морали. Делается все, чтобы старый добрый код 90-х перестал работать в ближайшем будущем, и это будет началом конца человечества.

Для «ниггеров» или нет

Один китайский трактат с труднопроизносимым для меня названием занудно объясняет, что всякому желающему преуспеть никогда не следует заниматься бизнесом на том, что любишь. Никогда! К примеру, любишь антиквариат — не торгуй антиквариатом. Обожаешь автомобили — не торгуй автомобилями. В состоянии аффекта сначала купишь не то и не по той цене, потом товар будет трудно скинуть. А если отчасти деньги и отобьешь, так совесть замучает — такую цацку, и за копейки... Эх! Еще пример из трактата — не любишь людей, иди спокойно заниматься политикой, хотя бы денег заработаешь, и никаких душевных мук взамен.

Короче, трактат призывает, что зарабатывать на жизнь надо только тем, к чему полностью равнодушен. Именно этот бизнес станет самым доходным в твоей жизни. Вопрос в том, что же делать с тем, что любишь? Например, талантливому молодому программисту, который получает реальный кайф от своей работы и готов фигачить код в измененном от восторга состоянии ночи напролет? И тут теория рекреационного программирования Терри Дэвиса оказывается очень к месту.

Китайская теория в этом случае дает такой ответ — зарабатывать с таким отношением к делу нельзя, таких увлеченных можно только спонсировать. Иначе неизбежное противоречие между местечковой выгодой и невыносимым желанием постигать все новые земли в конечном счете погубит специалиста. Прокрастинация и подспудное желание пораньше свалить с работы — первые симптомы запущенного офисным грибком равнодушия процесса саморазрушения специалиста. Хуже, когда такой человек-зомби ждет выходных или отпуска, начиная откровенно филонить, или если нависающий над ним манагер отвернулся на минуту покурить. В результате такой неприметной для отдела кадров внутренней мутации шаг за шагом работа превратится в бизнес, а выбор работы станет предметом выгоды и торга. Вся боль от этого ломающего вдохновение процесса анестезируется обществом гибкими социализирующими фреймворками, продаваемыми под соусами «взросления», «успешности» и «надо же себе цену знать».

Пример спонсорства: Абрамович любит футбол, поэтому его футболисты хорошо зарабатывают. Эти грациозные небритые мужчины живут исключительно за счет своего спонсора и получают кайф от абстрактного пинания мячика. Это пример истинной любви к своему делу. Намного больше рабочих на предприятиях Абрамовича — им можно предложить зарплату и приставить бдительного манагера, который сформулирует вполне конкретную задачу для их, в сущности, пустой и никчемной жизни.

Задача первых — делиться вдохновением, чтобы побуждать. Задача вторых — работать, чтобы исполнять прихоти других. Так абстрактные планы меньшинства никак не пересекаются с прагматичной конкретикой большинства, утверждают китайцы.

В заключение этого заковыристого китайского трактата постулируется неожиданный вывод — никогда не имей дела с теми, кто тебя не ценит и не любит (без исключений и компромиссов). Иначе сам не заметишь, как станешь безликой шестеренкой чужого бизнеса.

Приложение: несколько технических фактов о TempleOS

На данный момент исходники этой ОС составляют более 150 000 строчек кода (включая собственный компилятор).

Система использует собственный компилятор Holy-C («ниггеры» произносят этот язык, намеренно коверкая как «холи щит») — это диалект языков семейства C/C++.

Это изначально 64-битная система и по своей архитектуре во многом воспроизводящая Commodore 64. Вся TempleOS полностью размещается в кольце ring-0 и использует Single-Address-Mapping.

Для взаимодействия (интерпроцессинга) с другими программами и процессами требуется прямая перезапись содержимого участков памяти этих самых программ. Дешево и сердито — кредо всей ОС.

Никаких драйверов нет и не нужно — все обращение к железу можно осуществлять напрямую (если вы сможете, конечно). Все это напоминает Commodore 64, где все зиждется на честном слове и вашем глубоком понимании происходящего.

Поддержки сети нет и не будет, равно как и USB, — по довольно витиеватым религиозным причинам (нет времени объяснять, но ЦРУ и уже знакомые нам «ниггеры» фигурируют в этой длинной истории).

Есть множество встроенных игр разной степени тупости.

У системы нет аналогов пейджинга страниц и файла подкачки, характерных для современных ОС, она загружает и держит в памяти все открытые и запущенные программы. Поэтому в readme.txt Бог довольно цинично советует прикупить «как можно больше оперативки».

В качестве файловой системы используется открытая FAT32 с дополнительной самописной поддержкой метафайлов в качестве расширения.

Встроенный архиватор — все файлы физически хранятся на диске уже заархивированными и запароленными (нет времени объяснять почему).

У системы есть своя самописная графическая оболочка (что-то типа X-ов в *nix), а также параллельный режим командой строки, где в качестве оболочки выступает прикрученный туда компилятор языка «холи щит» (как бы круто это ни звучало, но это всего лишь вольная вариация на тему шелла Ch).

У ОС за все время ее существования чуть больше 50 000 скачиваний (Терри переживает, что ЦРУ в том числе невозбранно скачивает его ОС для изучения, но пока ничего не может поделать с этим коварством).

Система поставляется с полным открытым исходным кодом в виде public domain и написана на собственном диалекте С. Вы можете использовать ее и модифицировать как угодно на свой страх и риск (если, конечно, выучите «холи щит», то есть преодолеете барьер, воздвигнутый создателем ОС как раз против праздного любопытства разного рода «ниггеров» из ЦРУ).

«Холи щит» в TempleOS сочетается с ассемблерными вставками и низкоуровневым программированием контролеров устройств. Видимо, именно это та причина, по которой Терри так ненавидит UEFI.

Всем своим хэйтерам Терри советует смириться, по его данным, «существование этой системы было предсказано в Библии много веков тому назад».

Часть II  Страна советов:  о программистской  карьере

ГЛАВА 8. Вся правда  о собеседованиях в Google: за пределами NDA

В пятницу 9 июля 2007 года на многих калифорнийских автобанах появились рекламные щиты с довольно странным содержанием. На их большом полотне не было никаких опознавательных знаков или каких-то фирменных логотипов, все, что было размещено, — лишь загадочный текст:

{Первое 10-значное простое число, найденное в последовательности разрядов e}.com.

Непосвященные обыватели в недоумении проезжали мимо, ведь данное сообщение предназначалось лишь тем, кто способен его понять, — тем программистам, у которых развитое чувство любопытства удачно сочеталось с сообразительностью. Конечно, для решения этого ребуса проще всего составить программу, которая могла бы перебирать значения константы е и проверять все ее 10-значные значения на факт их соответствия простому числу. Найденное число, очевидно, было частью URL-адреса, полный адрес которого можно получить, просто добавив к нему суффикс доменной зоны .com. Попав на заветный сайт, умники натыкались на вторую зубодробительную задачу, где требовалось выявить скрытую закономерность в наборе якобы случайных цифр. И только если искомое число было найдено и требуемое действие совершено, счастливчик попадал на скрытую страницу со следующим сообщением на своем экране:

Одна из вещей, которые мы усвоили, создавая Google: то, что ищешь, всегда легче найти, если оно само ищет тебя. Мы ищем лучших в мире инженеров. И вот ты здесь. Нетрудно догадаться, что к нам каждый день поступает множество резюме, и мы придумали этот нехитрый процесс нашего знакомства, чтобы улучшить отношение сигнал/шум.

Подобные сюрреалистические послания от этого именитого работодателя посылаются в мир с завидным постоянством как на неприметных растяжках перед крупными мировыми учебными заведениями, в скрытой рекламе на телевидении, так до сих пор избирательно предлагаются по какому-то неведомому для обычных смертных алгоритму при входе в свой обычный почтовый ящик GMail.

* * *

Как заявляет популярная ныне уже и на своей бывшей родине в России американская писательница Айн Рэнд: «Двумя абсолютными величинами и основой системы ценностей у любого обычного человека являются вовсе не смерть, государство или налоги, а именно его жизнь и работа». Раскрывая эту мысль — настоящая работа не только гармонично развивает личность, принося ей глубокое удовлетворение и общественную пользу, но и обеспечивает то качество жизни, которое позволяет поднимать планку своих устремлений на новый уровень.

Неудивительно, что в связи с этими, в общем-то, очевидными установками многие отечественные специалисты хотели бы попробовать свои силы в крупнейших мировых ИT-компаниях, которые с лихвой как удовлетворяют самые смелые профессиональные амбиции, так и обеспечивают безусловно высокий материальный уровень жизни.

В последние годы одна из крупнейших мировых компьютерных компаний Google демонстрирует рекордные в своей истории темпы найма. В среднем компания получает в год около миллиона анкет от соискателей, но несмотря на это, на момент написания этих строк в ней оставались открытыми около 900 свободных позиций, для которых шел активный поиск и подбор кандидатов по всему миру. Google привлекает практически всех: сисадминов, дизайнеров, тестеров и архитекторов ПО и баз данных и особенно — программистов (носители родных для компании языков C/C++/C# и Python здесь особенно в почете). Традиционно в этом потоке свежей крови весьма ощутимую долю новобранцев составляют выходцы из Восточной Европы и России, которые славятся своей советской математической школой и высоким качеством компьютерного образования, подтверждаемого неоднократными победами на международных профильных турнирах.

Если вы когда-нибудь подумывали попробовать свои силы в Google, именно сейчас настал наиболее благоприятный для этого момент. Увеличивающийся наем, с одной стороны, и ухудшающаяся местная экономическо-политическая конъюнктура, с другой, — все это подталкивает попытать удачу в далекой и легендарной поисковой компании. На фоне практически полного отсутствия русскоязычных материалов на подобную тему я хочу в меру своих сил помочь сделать этот первый и психологически сложный шаг для карьеры в международной компании, для чего предлагаю подробное интервью о деталях прохождения подобного собеседования. Сразу подчеркиваю: я не имею никакого отношения к Google, и предоставляемая мною информация носит неофициальный и, возможно, отчасти субъективный характер. Я лишь делаю попытку последовательно описать весь цикл прохождения трудоустройства от начала до конца, учитывая корпоративную специфику именно Google. Кроме того, я постараюсь обобщить в художественной форме опыт прохождения аналогичных интервью сразу у нескольких сотен других кандидатов, чтобы представить максимально усредненную и достоверную картину этой процедуры.

У меня нет связанных рук благодаря стандартным условиям неразглашения вопросов и задач (NDA), также я буду стремиться излишне не детализировать процедуру найма, но постараюсь выделить типичные закономерности и последовательности подобных собеседований, которые в плане обобщающей информации помогут вам правильно расставить акценты и приоритеты, скорректировать свои ожидания в сторону большей реальности.

Настало время представить моего собеседника и главного консультанта в рамках этого большого разговора. Это Джон Эсмальд, который возглавляет небольшую тренинговую фирму на западе Калифорнии, специализирующуюся на предварительной подготовке ИT-специалистов для успешного прохождения интервью в известных мировых фирмах из Кремниевой долины. Я специально встретился с Джоном рядом со сверкающим на весеннем солнце кампусом Google, чтобы узнать побольше о специфике трудоустройства именно в Google. Он, бывший работник этой компании, прошедший самые разные уровни в ее управленческих структурах, непосредственно участвовал в найме рядовых сотрудников в двух разных офисах. На данный момент кроме своего основного места работы в собственном стартапе Джон является создателем продвинутого образовательного тренинга, который облегчает адаптацию программиста к специфическим требованиям найма этой известной поисковой компании, существенно повышая шансы на оффер у такого предварительно «оптимизированного» претендента.

Кроме множества полезных советов и инсайдов главный лейтмотив нашего интервью сводится к тому, что работа в Google доступна практически любому программисту средней руки, более-менее хорошо владеющему разговорным английским. «Не так страшен черт, как его малюют» — вот главный вывод из нашего разговора. Если при этом вы молоды и уверены в себе, ваши шансы резко возрастают. Как достаточно прямолинейно резюмирует секрет успеха член совета директоров Google Эрик Шмидт: «Похоже, не столько знания отличают действительно успешных гуглеров от посредственных, сколько их настойчивость».

* * *

С чего начинается вся процедура найма в Google? Джон, давайте опишем исходную точку входа в компанию.

Желая устроиться в Google, в подавляющем большинстве случаев вы будете первоначально иметь дело с ее рекрутерами — специальным сословием коммуникабельных людей, обученных находить и отбирать нужных для компании людей по всему миру и, как правило, попутно достаточно неплохо ориентирующихся в предметной технической области, для которой они привлекают народ. Они и проводят первичные интервью-собеседования, чтобы принять предварительное решение на ваш счет и произвести заочный отсев откровенно слабых кандидатов. Для инициации запуска этого процесса типичной является ситуация, когда вы на официальном сайте компании подбираете себе позицию (см. www.google.com/jobs), после чего отправляете на указанный там контактный адрес резюме со своим предложением и данными. В случае если вы достаточно убедительны и интересны, с вами связывается ответственный за эту должность рекрутер. В более редких случаях возможно обращение к вам такого рекрутера и по своей инициативе (как это было когда-то в моем случае), например, в ответ на заинтересовавшую его техническую статью в вашем блоге. Сразу настройтесь на то, что устройство на работу в крупную компанию США (это касается не только Google), как правило, растягивается на 3–8 месяцев — это абсолютно нормальная ситуация.

Чтобы поставить точку в этом вводном пункте, стоит сразу подчеркнуть, что, конечно же, собеседования на всех фазах проходят только на английском языке, это тот формальный минимум, который потребуется вам для подобной процедуры. Возможно, у московского офиса Google и есть гипотетические исключения в пользу русского языка, но мне про это ничего не известно.

Дальше — телефонная фаза?

Совершенно верно. В случае положительного ответа рекрутера на ваше резюме вы договариваетесь с ним заранее о точной дате и времени первого телефонного интервью (Phone screening). Тщательно согласуйте общее время с учетом разницы во временных зонах. Здесь нужно четко понимать, что эти два-три (редко доходит до пяти) телефонных собеседования — только предварительная фаза, лишь начало длинного пути.

Не нужно стесняться, если вам требуется время на подготовку, скажите об этом прямо и попросите пару недель на это, после того как тематика собеседования будет обозначена. Несмотря на то что вам пришлют письмо с заголовком типа Interview Preparation, где перечислят примерный разброс тем с перечнем полезных источниковресурсов, будет лучше, если при личном контакте вы попытаетесь уточнить, о чем конкретно пойдет речь в вашем случае. Как правило, с той стороны идут навстречу и детализируют предстоящую область обсуждения (содержимое шаблонного письма будет иметь очень широкий разброс по темам и пожеланиям, изучение которых чаще всего непосильная задача для большинства).

Первое телефонное интервью в серии — первичное. На нем обычно интересуются самыми общими вещами — чего и сколько хотите, когда доступны для собеседований, уточняют послужной список и с чем работали, какие есть успехи и пристрастия в области технологий.

Для примера приведу стандартную структуру телефонного интервью (следует после первичного):

1. Знакомство (5 минут).

2. Разогрев — заведомо простые теоретические вопросы, например, зачем нужны шаблоны в C++ (5 минут).

3. Написание кода — решение относительно простых задач (15 минут).

4. Написание кода — решение более сложной задачи, если простая задача была решена. В противном случае разбор и анализ задачи из пункта 3 (20 минут).

5. Ответы на встречные вопросы кандидата, согласования насчет следующего интервью (5 минут).

В итоге мы получаем 35–50 минут — это стандартное по продолжительности для Google интервью.

Возможно, если у рекрутера будут сомнения в собственных силах, он может привлечь к телефонному собеседованию отдельного технического специалиста, о чем заранее предупредит вас. Очень часто просят выполнить какую-нибудь типовую задачу и выслать на указанный e-mail либо решить ее в режиме реального времени, набирая текст вашей программы-решения прямо в Google Docs (рекрутер заранее готовит документ с набором задачек, сбрасывая вам ссылку в начале интервью и «расшаривая» доступ). Использовать поиск и вспомогательные IDE при этом, конечно, строго запрещено, ведущий интервью будет удаленно видеть, как вы набираете ваш код, и обсуждать его с вами в режиме реального времени.

Несмотря на то что Skype запрещен в офисе Google и для голосовых звонков рекомендуется использовать gTalk, в реальности с вами могут связаться как через первое, так и через второе либо даже обычным звонком на контактный телефон (указанный в резюме).

Можно сразу привести несколько примеров типичных вопросов для этой фазы интервью?

Все вопросы на этом этапе, как правило, носят общий и стандартный характер, лично я никогда не вел каких-то долгих дискуссий или подробных обсуждений по каждому из задаваемых вопросов.

Вот лишь некоторые примеры реальных телефонных вопросов на должность SWE:

• Чем процесс отличается от потока?

• Какие отличия у мутекса и семафоров?

• Чем hash table отличается от hash map? (вариант: чем hash table отличается от hashset?)

• Объясните на каком-нибудь примере из повседневной жизни, что такое полиморфизм.

• Как максимально эффективно реализовать рандомизацию массива?

• Приведите пример какой-то по-настоящему сложной задачи, которую вы решили, и прокомментируйте вслух все ваши рассуждения в ходе поиска ее решения.

Как видно, здесь нет никаких закавык и тонкостей, лишь максимально широкий обзор самых общих моментов.

Итак, сначала отсылаем резюме, в случае положительного отбора — серия телефонных интервью. И наконец, третий, и самый важный этап — очное собеседование.

Да. Если вы прошли два предыдущих этапа, вас пригласят уже на настоящую серию из собеседований со специалистами Google (on-site interview), при этом предложат выбрать территориально удобный для вас офис. На выбор будут предложены места, для которых выполняется система условий: это наиболее близко для вас географически и там есть похожие по вашей специальности команды. В идеале — то представительство, где вы планируете работать.

В моем случае трудоустройства я хотел проходить собеседование в Чикаго, потому что в тот момент работал там. Но они не захотели (там не было подходящих позиций), тогда мы сошлись на бостонском офисе Google, после чего мой рекрутер выполнил трансфер моего дела к своему коллеге из Бостона, который в свою очередь подключил к моему сопровождению местного координатора путешествий (travel coordinator). Google, как правило, оплачивает ваш перелет в место собеседования, проживание там, решает возможные визовые вопросы, а также предоставляет обратный билет — все эти вопросы детально обговариваются с координатором компании заранее. Он свяжется с вами самостоятельно после того, как вас пригласили на очное собеседование. Хочу сразу обратить внимание — у него очень большой поток людей (отсюда такое устойчивое реноме «забывчивых» гугловских координаторов), поэтому перепроверяйте перед вылетом все, о чем с ним договаривались, так как проколы случаются (shit happens).

Хорошо, что делать, если вас отбрили еще на стадии заочных собеседований, есть ли шансы на реабилитацию?

Даже если вы и получили отказ уже на этой телефонной стадии переговоров, не стоит расстраиваться и опускать руки — это абсолютно нормально, тем более если посмотреть на общую лавинообразную статистику присылаемых резюме. Ровно через год можно снова попытать удачу, попробовав себя на какой-то отличной от прошлой позиции.

Но имейте в виду, что ваша история прохождения интервью сохраняется в недрах Google, даже если вы будете подаваться в другом месте. Обычно если человек в первый раз завалил какую-то конкретную тему и на втором собеседовании он снова создал awkward moment ровно на том же самом месте (теме), то такого претендента перед следующей попыткой могут попросить подучиться дольше. Обычно раньше чем через 18–24 месяца с вами никто общаться не захочет. Про третью и четвертую неудачные попытки с однотипной ошибкой давайте рассуждать не будем, потому что это пахнет уже перманентным баном.

Прежде чем мы двинемся дальше, разрешите задать вопрос по срокам — сколько ждать ответа как в случае с подачей резюме, так и в случае прохождения всей серии собеседований по телефону?

На этот вопрос невозможно дать конкретный ответ, потому что здесь нет никаких нормативов или внутренних стандартов со стороны Google. Лет пять назад все сводилось к 2–3 неделям ожидания, сегодня — доходит до 7 недель и даже больше. Я знаю отдельные случаи, когда респондент так и не получал официального ответа после завершения серии телефонных собеседований, но его рекрутер через несколько недель перезванивал ему на мобильный телефон и, в сущности, в приватном разговоре отказывал (как обычно, причина отказа и допущенные ошибки не обсуждаются).

Но если позволите, выходя за рамки вопроса, я бы предложил более общее решение этой проблемы. Как уже отмечалось, есть два пути попасть на собеседование — через самостоятельную подачу резюме и через обращение к вам с предложением непосредственно по инициативе Google. Второе — достаточно распространенная ситуация для более-менее публичных персон. К примеру, если у вас есть интересный технический блог или вы участвовали в крутой конференции, где вас заметили и оценили, либо ваши проекты на слуху — к вам могут запросто обратиться с подобным предложением. Это ситуация также встречается среди заметных разработчиков Open Source. Еще одна категория активно завлекаемых людей — те, кто имеет опыт работы в Top Players (ведущих компаниях индустрии). Я знаю не понаслышке, как внимательно относятся в Google к тем, кто работал в Microsoft и других крупных IT-компаниях, — высококвалифицированной рабочей силы остро не хватает, и самый «тупой» метод при ее поиске — это «выцепить» нужных сотрудников у конкурентов. Отсюда агрессивная расклейка объявлений о найме на остановках возле кампусов конкурентов и персональный обзвон с интересными предложениями о работе. Есть даже такая специализация у гугловских рекрутеров — работа с пассивными кандидатами, то есть людьми, у которых уже есть хорошая работа и которых так просто оттуда не выкуришь. Таких рекрутеров отдельно учат, как лучше «продать свой товар», чтобы заманить пассивного претендента на собеседование.

Но для простых смертных есть и третий способ подачи документов, и он самый эффективный. На нем я бы и хотел акцентировать внимание. Это попадание на собеседование через знакомого-реферала (через корпоративную систему рекомендаций). Что это значит? Любой человек, уже работающий в Google, может порекомендовать вас для собеседования. Для этого есть специальная внутренняя процедура, ведь компания совершенно искреннее заинтересована в том, чтобы найти и привлечь к себе высококвалифицированных специалистов. Жизнь доказывает, что, как правило, они роятся «кластерами», подобно пчелам, и, если один из них уже работает в Google, почему бы не перетянуть туда его друзей по старым проектам, компетенцию которых первый гарантирует? Компания рассматривает эту ситуацию как шанс, которым не прочь воспользоваться.

И даже если у вас нет знакомых в Google, найти «своего человека» в компании далеко не сложно. Как правило, многие соотечественники не прочь помочь земляку, к примеру, те же китайцы тягают на интервью целые табуны своих собратьев, которые даже не знают толком английского, изматывая гугловый персонал своей настойчивостью. Короче говоря, вам просто нужно найти желающего «прореферить» вас, а во времена Интернета это не так уж сложно сделать.

Почему он согласится поручиться за незнакомого человека?

Дело в том, что ему это ничего не стоит, разве что полчаса потраченного времени. Он ничем не рискует — в своей заявке на рекрутера он может честно указать о вашем виртуально-шапочном знакомстве, но даже этого будет достаточно, чтобы механизм был запущен. Более того, даже если реферал и знаком с вами давно и лично и написал вам шикарный «репорт», по своему опыту найма в Google я вижу, что такой фидбек может быть воспринят Комитетом по найму как предвзятый, что оставляет давнюю полемику об идеальном реферале открытой.

Впрочем, говоря прямо и откровенно, вашему рефералу может быть совсем не все равно насчет вашей судьбы — не секрет, что большие компании платят (referral bonus) своим сотрудникам за кандидатов, которые были ими порекомендованы и впоследствии успешно наняты. Пару лишних тысяч долларов пассивного дохода за полчаса потерянного времени — не такая плохая прибавка даже для гуглера. В любом случае, даже если кто-то вам и откажет, просто ищите другого. Это удобно и просто делать, проводя «ковровую бомбардировку» сотрудников Google через Linkedin.

О’кей, самое время объяснить, как этот третий способ проникновения в компанию может помочь нам. Можно конкретней?

Плюсов много, я приведу для примера два. Во-первых, исчезает неопределенность после прохождения вами собеседований. Ваш реферал имеет непосредственный контакт с рекрутером, к которому направил свою заявку, и он всегда может уточнить результаты и сроки рассмотрения, а также детали прохождения вами интервью. Даже при отказе в трудоустройстве большинство претендентов слышат уже знаменитую гугловскую фразу вежливого отказа: «You are not one of us». Но в случае реферала вы сможете узнать все интимные детали с «черного хода», чтобы провести свою личную работу над ошибками (я уже говорил, что второй отказ очень нежелателен?).

Во-вторых, без реферала вам придется как-то обратить на себя внимание еще на стадии отбора резюме, а сделать это не так-то просто, ведь за месяц количество получаемых анкет весьма велико (у каждого конкретного рекрутера оно варьируется от сотни до тысяч). Здесь вы минуете эту самую узкую стадию — если подходящая должность имеется, с вероятностью 80 % вас пригласят на телефонное собеседование. Есть множество других плюсов, если, к примеру, у вас нет профильного высшего образования…

Кстати, как насчет высшего образования? Говорят, в Google не смотрят на наличие у кандидата образования, так ли это?

Если попытаться выйти за пределы штампов и стереотипов, то сложно дать конкретный и односложный ответ — и да, и нет одновременно. С одной стороны, действительно, в последние годы его значимость для рекрутеров постепенно снижается. Тем не менее это заметно понижает ваши шансы на стадии фильтрации людей в завалах, поверьте, абсолютно однотипных анкет, где любое позитивное/негативное отличие может стать решающим. Впрочем, при входе в систему через реферала фактор наличия диплома не будет играть никакой роли.

С другой стороны, если вам придется делать рабочую визу в США, то одно из условий ее получения — наличие законченного высшего образования по специальности (H1B без высшего образования получить, конечно, можно, но сделать это очень сложно). Впрочем, о визах предлагаю поговорить чуть позже, чтобы не отвлекаться в этой части интервью. Рекрутер также знает о визовых сложностях, и я не думаю, что он костьми ляжет, защищая перед руководством необходимость нанять именно вас, создавая головную боль себе и огромному количеству других сотрудников, которым придется как-то разгребать ваши потенциальные визовые проблемы. Прошу прощения, если кого-то расстраиваю, но это не удел рядового сотрудника без имени и громкого статуса, это точно.

Поэтому, суммируя все, можно сказать, что высшее образование все-таки желательно.

Хорошо, предлагаю больше не задерживаться на телефонной фазе (которую мы описали лишь в целях ориентации читателя в общей последовательности процесса). Далее хотелось бы сделать серьезный акцент на главном — на очных интервью, где, собственно, и происходит не только самое важное с точки зрения дальнейшей судьбы кандидата в компании, но и по-настоящему сложное и интересное. Итак, предположим, вы получили приглашение на очные интервью. Предлагаю дальше следовать в очередности ваших курсов, где первое, что вы рассматриваете, — это эмоциональный фон и самоконтроль.

Мне приходилось часто слышать от других, что первое очное интервью — решающее во всей серии. Я считаю, что это субъективное мнение. Психологическое накручивание себя, неуверенное владение разговорным английским языком и сложные нестандартные задачи негативно накладываются на «ощущение судьбоносности момента» (как точно выразился один из участников курсов). Все это действительно порой приводит к тому, что некоторые даже очень сильно подготовленные участники сходят с дистанции уже после первого провального собеседования. Лично у меня никогда не было такого разрушительного эмоционального эффекта, возможно, потому что я изначально не планировал работать в Google, и когда рекрутер сам вышел на меня, я просто решил принять участие в этом неожиданном приключении и посмотреть, что будет дальше.

Поэтому в этом пункте я хотел бы обязательно предостеречь: не нужно терять дух и психологическое равновесие даже в необычном для любого новичка окружении. Оказавшись в недрах поискового гиганта, не нужно представлять себе сотрудников Google как неких богов во плоти — по моей, возможно, субъективной оценке, их уровень подготовки на деле весьма и весьма разный.

Проиллюстрирую эту мысль на примере. Мне трижды (разные интервьюеры в серии) задавали вопрос о реализации hash map — похоже, это вообще рекорд по степени важности этой темы в глазах Google. При этом любопытно, что у первых двух мое объяснение прошло на ура, тогда как третий ведущий остался недовольным. На мою просьбу объяснить, в чем же моя ошибка, он ответил отказом, лишь посоветовав «почитать про hash map позже и хорошо отдохнувшим».

Заинтригованный, я перечитал все, что сумел найти, но ничего нового для себя не открыл. Даже если предположить, что это чисто личностная оценка, не нужно этого бояться: интервью построены так, что конечное решение должно как можно меньше определяться мнением лишь одного отдельного человека (хотя нужно признать, что резко негативная аргументированная оценка даже одного ведущего может поставить на вас крест). Позже другой рекрутер прокомментировал этот эпизод в том смысле, что ему вообще удивительно, что моему ответу дали оценку вслух, потому что интервьюирующим запрещено озвучивать какую-либо частную оценку вообще. От себя замечу, что, как правило, это условие выполняется, добавляя интригу в довольно нервный марафон из нескольких собеседований.

Давайте опишем ход такого очного собеседования более конкретно. Сколько их в серии и как они проводятся?

Количество очных интервью обычно колеблется от трех до восьми. В зависимости от конкретного офиса и принятых там правил, эта серия либо растягивается на 2–3 дня (редко), либо упаковывается в один день (чаще всего). Надо отметить, что само по себе такое интервью очень интересно неравнодушному к своей профессии специалисту вне зависимости от конечного результата. Сразу хочу заметить, что времени от окончания интервью до принятия решения может уйти очень много, не нужно принимать это на свой счет.

Итак, во всех случаях, что я знаю, первое интервью начинались в первой половине дня, в моем случае — в десять утра. Это очень плотный марафон из собеседований, когда один «свежий» специалист сменяет другого, когда тот закончил. В середине дня делается обязательный перерыв на обед в фирменной столовой. В хороших случаях применяется хоть какое-то разделение ролей. Например, первый гуглер спрашивает вас о предыдущих проектах, самых интересных задачах, с которыми приходилось столкнуться, второй — только про алгоритмистику, третий задает чисто технические вопросы по Java и фреймворкам, четвертый — «а нарисуйте мне классы для такого-то типового проекта» и т. д. На каждого уходит минут 30–50, соответственно, общее собеседование может сильно растянуться.

Мое интервью перед устройством в Google состояло из серии 5 интервью по 45 минут. С перерывом на часовой обед на это ушло 6 часов. Перед началом каждого 45-минутного «сеанса допроса» вам предлагают сходить за водой-чаем-кофе или в туалет на 10 минут, советую воспользоваться этими предложениями, чтобы немного развеяться и взбодриться.

Иногда интервьюеры ведут журнал вопросов, чтобы избежать повторений. Но это опять же в лучших случаях, чаще всего информацией между собой они не обмениваются и роли никак не распределяют, поэтому часты повторы.

Для чего это делается и как вести себя, если тебя третий раз спрашивают одно и то же, как в случае вашего примера с hash map?

Это не редкость. Теоретически повторы допускаются для того, чтобы исключить субъективность в оценке кандидата конкретным человеком. Правильная модель поведения — подчеркнуто вежливо уточнить: ваш коллега задавал этот вопрос ранее, следует ли повторить мой ответ еще раз?

Наверное, подобные интервью — сильный эмоциональный опыт со всех точек зрения?

Первый раз, конечно, навсегда остается в памяти: раньше вы видели эту великую компанию в обезличенном виде, через призму ее сервисов, сейчас же за чашечкой кофе обсуждаете технологии непосредственно с ее ведущими разработчиками (сами сотрудники называют это чувство «Google experience»). Заблудиться в самой компании будет сложно — с самого утра прибыв в офис (лучше не приходить сильно рано или с опозданием, идеально за 5 минут до назначенного времени), вы сообщаете цель своего визита и регистрируетесь на стойке ресепшен. После чего вам выдают персональный бэдж и вызывают вашего рекрутера, который встречает вас с распростертыми объятиями и сияющим лицом, будто вы знакомы как минимум последних лет сто.

В первый такой визит достаточно типична небольшая экскурсия по огромному кампусу Google, угощение бесплатными напитками и печеньем, равно как и разговоры не о чем, достаточно типичные для двух совершенно незнакомых людей. Все это быстро заканчивается демонстративным поглядыванием рекрутера на свои часы и холодящей дух фразой: «Ну что, будем начинать?»

Из ваших лекций я знаю, что один из типичных акцентов подобных интервью — «низкоуровневые дискуссии обо всем на свете». Можно привести пару примеров из жизни?

Самая большая часть интервью — это техническое обсуждение выбранной вами предметной области. Очень часто вопросы могут лежать за пределами сферы компетенции рассматриваемой должности, к этому нужно быть готовым. Например, мой хороший знакомый претендовал на должность SRE, [1 Эквивалентно нашему «системный администратор»] при этом его спрашивали о специфике некоторых системных вызовов в API Linux и специфике fork() в разновидностях Unix, что требует не только теоретических знаний сисадмина, но и хорошего практического опыта в области системного программирования.

Также привожу для примера похожий вариант, который имел место на моем втором собеседовании на должность программного разработчика (SWE). Как правило, на таких интервью присутствует несколько человек, последовательно выполняя роль ведущего. В моем случае интервью вел лишь один инженер, который после короткого вводного приветствия и стандартных расспросов (что мне нужно от жизни и от Google в частности?) быстро изложил суть первого задания:

Предположим, обычный пользователь набирает в адресной строке своего любимого браузера http://disney.com и тут же получает в ответ страницу. Теперь давайте обсудим как можно более подробно, что происходит в промежутке между нажатием клавиши Enter и полным отображением страницы в браузере.

Ведущий демонстративно посмотрел на наручные часы и предупредил: «Сейчас без четверти два пополудни, у меня есть время до пяти часов вечера, думаю, если поспешим, мы должны уложиться». Отмечу лишь, что в моем случае я окончательно запутался, когда мы дошли до разбора деталей процедуры TCP handshaking, затем также споткнулся на этапе рендеринга страниц движком браузера. «А жалко, — сообщил улыбающийся интервьюер, — я надеялся, что мы успеем еще повторно прогнать все это для случая https». Поэтому будьте готовы к максимальной детализации (и неизбежному при этом выходу за рамки вашей специализации). В описанном случае, обсуждая работу браузера и web с прицелом на позицию веб-разработчика, в итоге мы «провалились» до уровня работы ethernet-фреймов и пограничного протокола маршрутизации BGP.

Другое подобное задание, после которого мы постепенно докатились до обсуждения архитектуры процессора, звучало так:

«Дается кусок программы на Си, работающей со строками (отдельная функция). Требуется объяснить и нарисовать на доске, что на каждом шаге ее выполнения происходит в памяти компьютера.»

Обычный паттерн здесь таков: сначала задается какой-то относительно простой вопрос, например «чем свитч отличается от хаба», после чего начинаются рекурсивные циклы уточнения деталей и постепенное погружение во все более и более низкоуровневые детали, пока вы не упретесь в свой потолок — какой-то вопрос, на который уже не знаете ответа. Этот уровень фиксируется, и после пары косвенных подсказок вас оставляют в покое, давая возможность немного отдышаться на каком-нибудь завуалированном личностном тесте, чтобы начать новый цикл «отладки темы» с какого-то очередного очень общего стартового вопроса. Для подобных глубоководных погружений «в суть вещей», как минимум, нужно знать как «отче наш» семь уровней взаимодействия модели OSI/ISO и четыре уровня сетевой модели ТСР/IР, а также базовые принципы работы процессора.

Я знаю, у вас на тренинге разбирается очень много похожих примеров, но насколько они полезны и близки к реальным интервью?

Да, у нас очень много похожих примеров, и мы стараемся держать их максимально актуальными. Мы тратим на анонимный сбор подобных вопросов очень много времени и сил. Кратко поясним, почему это так важно.

Перед началом очных собеседований у вас возьмут формальную расписку о неразглашении задач и деталей интервью — это соглашение (NDA) сохраняет юридическую силу, как в случае, если впоследствии вы были приняты на работу, так и в противном случае. Почему Google так жестко защищает содержание собеседований? Краткий ответ — потому что структура вопросов и их общий шаблон очень часто повторяются (мы уже кратко касались этого). Если актуальные задачи или вопросы где-то всплывают «в паблик», они отбраковываются, в противном случае воспроизводятся снова и снова. Такое положение дел — фирменная специфика Google. В этом плане вы имеете очень сильное преимущество, если у вас есть инсайдерская информация.

Почему они крутят одни и те же вопросы в большинстве разных интервью, что за этим стоит?

Главная причина в том, что продолжительные исследования доказали, что самый лучший способ бороться с непреднамеренной (или умышленной) предвзятостью интервьюеров к кандидатам (а это отдельная большая проблема для многонациональной и очень разнородной компании типа Google) — максимально структурировать и типизировать спектр задаваемых вопросов и задач. Об этом очень много говорят на корпоративных подготовительных курсах в тот момент, когда гусеница-инженер превращается в бабочку-рекрутера.

К примеру, сейчас примерно 80 % работников Google — это парни, из них 65 % — белые. Но проблема уходит далеко за рамки гендерных или расовых предрассудков.Вот типичная ситуация для лучшего раскрытия темы. Вы предлагаете на собеседовании для решения задач свой любимый язык, в котором вы — дока, пусть это будет Haskell для примера. Гуглер соглашается, хотя может не знать этот язык так же хорошо, как и вы (чаще всего он верит в лучшее). И впоследствии, анализируя решение своей задачи, может не понимать до конца ваших подходов, если вы действительно большой гуру функционального программирования или предложенной проблематики. Это поле для огромного количества недоразумений и личных обид, попранных самооценок и желания реванша. Все ведущие — молодые ребята, и, поверьте, не всем из них приятно осознавать свои ошибки, непонимание или показательную слабость, порой такой поворот интервью становится исключительно вашей проблемой. В Google знают о периодических межличностных аберрациях и подобной «дедовщине», и в компании искренне пытаются бороться с такими ситуациями. Они сделали отличные образовательные курсы «Course On Unconscious Bias» для своих рекрутеров, но этого мало. Курсы начинаются с подробного разбора личной истории Эйнштейна, которого, как известно, его школьные учителя считали полным идиотом и даже пытались исключить из колледжа в юности. Другая попытка решения подобных проблем — запуск отдельной экспериментальной программы найма для девушек/женщин, которые желали бы работать в Google, также есть ежегодные «женские» стипендии Фонда имени Аниты Борг и подобные им инициативы (кстати говоря, за последние полтора года количество женщин в Google увеличилось с 8 % до 20 %).

Одно из практических последствий подобных усилий — четкое структурирование интервью и фиксированный список вопросов и задач, которые могут вам предложить. Поэтому в наше время у ведущего подобного собеседования не такой уж большой простор для маневра, и времена, когда он мог запросто попросить вас подсчитать в уме количество люков в Сан-Франциско, остались далеко позади. С другой стороны, именно поэтому так необходима юридическая защита типа упомянутого ранее соглашения о неразглашении (NDA), чтобы сохранять эту зафиксированную схему эффективной и работоспособной. Только обет молчания позволяет им повторяться, но мы пытаемся эксплуатировать эту уязвимость на наших курсах.

(Пауза.)

«Реверс инжиниринг» этого достаточно костного механизма для поиска «креативных и неординарных людей» сам по себе забавен.

(Смеется.)

Спасибо за интересное разъяснение по скрытой механике интервью, переходим к следующему важному акценту, о котором вы много говорите. В вашей программе он носит название «работать на компанию, а не решать свои проблемы».

Это важная фаза — зондирование ваших личностных предпочтений и общей мотивации. Она особенно часто применяется к нерядовым позициям, тогда как для начинающих «джуниоров» может практически отсутствовать. Здесь оставим за пределами контекста степень ваших профессиональных познаний и возможностей, эта часть собеседования стремится ответить на простой, но важный вопрос: насколько вы действительно готовы вкалывать во благо компании?

На самом деле у вас никогда не спросят об этом напрямую. Во всяком случае это подтверждают все коллеги, с кем мне довелось побеседовать на эту тему. Но, с другой стороны, проверят этот пунктик с вероятностью 80 %. Для этого будут использованы косвенные опросы для выявления так называемых личностных аттракторов (скрытых мотиваций) собеседника. Чтобы привнести конкретики в эту зыбкую тему, вот типичный вопрос-ситуация, который встречается достаточно часто, давая нам возможность расслабиться в перерывах между изматывающими техническими обсуждениями.

Представьте, что вы разработали какую-то популярную программу (вариант: изобрели важную технологию и т. д.) и получили сразу несколько предложений о трудоустройстве от известных компаний, после чего вам надо сделать сложный выбор места будущей работы. Теперь давайте помечтаем вслух, какие 3–4 фактора будут определять ваш выбор (вариант: просят записать их на листок в столбик). Важная часть задания — расположить эти критерии четко в порядке возрастания по их важности для вас.

Вся дальнейшая работа — это уточнение этих желаний интервьюером, а также их очистка — профессиональная попытка психолога помочь испытуемому сформулировать их как можно более четко, лаконично и непротиворечиво.

Часто это превращают в некое подобие игры для респондента, когда он со вкусом, старательно взвешивая свои предпочтения, перечисляет тот минимум, на который он, так уж и быть, согласится. Проблема в манипулятивных симуляторах подобного рода всегда лишь в том, что никто не собирается учитывать эти требованя или предпочтения. Задача совсем другая: опытный интервьюер уже через 20 минут получает на руки путевую карту личностных стимулов, целей и реакций человека. Хочу сразу предупредить, что я не сторонник «оптимизировать» свои ответы под ожидания работодателя (и хочу призвать читателя даже не пытаться делать этого). Отставим моральные принципы в стороне, дело совсем не в этом: не стоит это делать хотя бы потому, что более опытный в этой процедуре ведущий почти всегда заметит любую неискренность. Кроме приведенного стартового задания в процессе рутинного для него разматывания вашего глубоко личного клубка из аттракторов используется множество перекрестных и уточняющих вопросов, ответить на которые на лету и без предварительного продумывания «их логических последствий» просто невозможно. Поэтому, повторюсь, я рекомендую просто расслабиться и быть самим собой, если вы чувствуете, что попали «под отладчик» профессионального психолога.

Попытка поместить ценности испытуемого в четкую систему координат, которую можно надежно интерпретировать и оценить с точки зрения интересов компании, — важнейшая часть этой фазы интервью. В качестве очередной иллюстрации к порции теории хотелось бы привести концовку подобного интервью в моем случае, хорошо резюмирующую главную идею сказанного.

В самом конце этой долгой процедуры на мою, возможно, не совсем удачную шутку с долей иронии, что, дескать, «хороший психоаналитик — лучший друг программиста», ведущий абсолютно серьезно возразил, что за свое уже достаточно большое время работы в этой роли он видел огромное количество латентных личностных конфликтов. Каждый второй программист, по его словам, «не понимает, что ему нужно в этой жизни, он лишь слепо следует канве общественных стереотипов». После чего мой визави, аккуратно уложив свои записи в папку и сухо попрощавшись, уже уходя, напоследок бросил фразу-вопрос: «Я думаю, вы со мной согласитесь, что в любом случае это не проблема нашей компании?»

Переводя на повседневный язык: вы зациклены на своем саморазвитии и прокачке профессиональных скиллов, считаете престижным просидеть часть своей жизни в роскошных кампусах одной из крупнейших мировых компаний?.. Кхм, простите, а вы уверены, что компании типа Google хоть как-то озабочены вашими личными целями?

Несмотря на нагнетание подчеркнутого человеколюбия к своим сотрудником, нам как рекрутерам часто повторяли важнейшую формулу для отбора — нужен кандидат, у которого «future with Google», а не «future in Google». Google постепенно отходит от формулы потакания раздутым эго своих сотрудников (одна из причин, почему так называемое «правило 20%» больше не действует), все больше превращаясь в стандартную, ориентированную на прибыль компанию. В любом случае, я вас предупредил: секрет прохождения этой фазы интервью — в правильных приоритетах.

Как этот важный личностный критерий отбора можно сформулировать предельно кратко?

Мы ищем таланты, а не навыки — это дословная формула от Брайана Пауэра, начальника отдела кадров в Google. Член совета директоров Google Лазло Бок, возглавляющий департамент по найму сотрудников, формулирует еще более точно: «Демонстрируйте навыки, а не опыт». Что касается человеческих качеств, от вас ожидают жертвенности в пользу компании, а также трудоголизма на грани фанатичности, поэтому постарайтесь никого не разочаровать своим «разносторонним жизненным бэкграундом» и «обилием самых разных увлечений» во время интервью.

Давайте проиллюстрируем эти два важных критерия отбора на примере.

Это значит, что ваши текущие навыки и степень погружения в вопрос имеют второстепенное значение. Точка.

К примеру, даже если вы крупный специалист в C++, есть большая вероятность, что вам придется полностью переучиваться на фирменный язык компании Go, на котором сейчас много пишется в Google. У Go много специфики, о которой вы, возможно, никогда и не слышали, например многомерные методы goroutines всегда выполняются одновременно и независимо друг от друга (для гипотетического стандартного специалиста по C++ поясню, что мы живем в эпоху многопроцессорных систем и параллельных вычислений). Иначе говоря, однозначно придется учиться чему-то новому, и никто даже не знает, что будет на повестке завтра. Темп устаревания текущих знаний сильно связан с общими темпами развития отрасли и особенно велик в инновационных компаниях такого калибра, как Google.

Итак, исторически первой обратила внимание на эту ИT-специфику «агрессивной инновационности» компания Microsoft. Она стала применять различные головоломки и задачи на общую сообразительность для выявления подобного адаптивного потенциала еще в далеком 1990 году. Чтобы отсечь мнимые преимущества так называемого интеллектуального багажа знаний, в такое тестирование часто вводят фактор ограничения по времени или еще чаще — некий элемент абсурдности в условии самой задачи, чтобы максимально затруднить проекцию ваших повседневных знаний/навыков. Конечная цель — тестирование и выявление вашего креативного потенциала, поэтому подобные «странные интервью» — лишь способ определить склонность человека к нестандартному мышлению, а вовсе не показатель некоей эксцентричности руководства компании, как думают некоторые. Это специфика инновационной отрасли в рамках жесткой конкурентной среды, секрет выживания в которой — в перманентном поиске нового, лучшего и еще более эффективного.

Чтобы резюмировать, позволю себе процитировать уже упомянутого Лазло Бока:

Если речь идет о технической позиции, а таких вакансий у нас примерно 50 %, то прежде всего мы оцениваем ваше умение писать код. Но при рассмотрении кандидата на любую позицию нас в первую очередь интересуют его общие когнитивные способности, а не IQ. Точнее, для нас важна обучаемость, то есть умение схватывать новое на лету. Объединять разрозненные фрагменты информации, находить эффективные решения для ранее неизвестных задач. Для оценки таких способностей мы применяем структурированные поведенческие интервью, которые затем тщательно оцениваются и поэтому позволяют давать качественные прогнозы насчет претендента.

Еще один важный и родственный креативности аспект, который компания учитывает при найме, она сама обозначает термином «гугловость» — это понятие, которое можно интерпретировать как развитый эмоциональный интеллект (EI). Вики дает следующее определение этой сфере нашей личности:

Эмоциональный интеллект — это способность человека осознавать эмоции, достигать и генерировать их так, чтобы конструктивно содействовать мышлению, пониманию эмоций и того, что они означают и, соответственно, управлять ими таким образом, чтобы способствовать своему эмоциональному и интеллектуальному росту и развитию. Эмоциональный интеллект также проявляется в способности уживаться, адаптироваться в окружающей среде и находить общий язык в команде.

Развитый EI дает преданность своей компании, приносит драйв и кайф от своей работы (которые компания интерпретирует как позитивную фанатичность). Это причины болезни под названием трудоголизм. Как итог такой фиксации на «великих делах» — искреннее желание преуспеть в карьере в рамках «большой мировой компании».

(Иронично закатывает глаза, изображая нерда-ботаника.)

Короче, мои бывшие коллеги сказали бы, что это превалирующая идентификация себя и своей самооценки через призму своей компании. И наоборот, гении-одиночки и яркие лидеры-стартаперы плохо перевариваются в рамках корпоративных требований на «гугловость» и общей коллективной упряжки.

О’кей, думаю, есть смысл привести серию типичных вопросов и задач-головоломок из разряда креативных.

Я постарался подобрать наиболее часто задаваемые вопросы. Не знаю почему, но вопрос Google с блендером стал уже знаменитым из-за его распространенности.

Представьте, вас уменьшили до размера монеты и поместили в блендер. Ваша первоначальная плотность сохранена. Лезвия придут в движение через 60 секунд. Объясните, как вы будете спасаться. Отсчет времени до запуска блендера пошел.

Это достаточно простой вопрос, хотя бы потому, что у него есть правильный ответ и в нашей стране урок физики еще пока обязателен. Но есть класс вопросов, однозначного ответа у которых изначально нет, вот примеры из этой серии:

• Вот вам бумага и ручка, разработайте подробный план эвакуации Сан-Франциско.

• Сколько примерно воды в океанах?

• Предложите принципиальную конструкцию часов для слепых.

• Сколько мячиков для гольфа может поместиться в стандартном детском автобусе?

• Оцените примерное количество настройщиков пианино во всем мире.

А теперь самые ходовые вопросы, построенные на смеси темы-специализации и некоего дополнительного неожиданного условия (вот распространенные примеры на тему программирования и не только):

• Очень сложно удержать в голове что-то, о чем вы читали много лет назад. Как вы боретесь с этим?

• Какая у вас система систематизации знаний?

• Какое самое красивое решение из всех, что вы видели? (Вариант: самый красивый фрагмент кода и т. д.). Давайте обсудим то, что вас поразило в нем больше всего.

• Представьте себе страну, где очень почетно иметь мальчика в семье. Поэтому родители рожают детей ровно до тех пор, пока не родится первый мальчик. Каково гендерное соотношение детей в такой стране?

• Объясните вашу методику тестирования для элеватора (распространенные варианты: для карандаша, полосы прокрутки (scroll bar) и т. д.).

• Используя пару из трехминутных и семиминутных песочных часов, нужно отмерить интервал точно в 9 минут, расскажите как это сделать. (В моем случае был похожий вопрос, который мне запомнился: есть готовая функция, генерирующая случайные числа в диапазоне от 1 до 5, требуется написать, используя лишь ее, новый генератор для диапазона 1–7).

На самом деле, зная ответы на эти вопросы, нельзя не признать их простоту, нужно просто иметь немного фантазии, чтобы посмотреть на эту задачу с нестандартной точки зрения. От себя добавлю, что в моем случае количество подобных загадок в реальном собеседовании в Google не превышало 10 % от общего количества заданных вопросов, основная масса которых в последнее время носит более технический характер, непосредственно связанный с рассматриваемой вакансией.

В чем вывод этого важного пункта? Просто я призываю не огорчаться из-за того, что ваши нереально глубокие познания в какой-то одной-двух предметных областях не всегда будут иметь решающее значение для Google, а просто заранее знать и использовать эту стратегию отбора — учитесь учиться вообще, а также гибко и быстро приспосабливаться к любой новой проблематике, которую может подкинуть жизнь. Воспринимайте такие интервью как хорошую возможность для тренинга вашего адаптивного потенциала.

Я хочу продолжить обсуждение темы поведенческой психологии, которую вы тщательно прорабатываете со своими программистами курсантами. Для примера возьмем урок «О пользе последовательной аргументации».

Очень многие заметили специфику интервью в Google: почти на каждое сильное утверждение с вашей стороны ведущий наверняка потребует объяснений (можно также назвать это словом «обоснование»). Это особенно касается сферы собственных вкусов при выборе инструментов и технологий. Если, скажем, вы заявляете, что программируете только на PHP (или только на любом другом языке) и вообще любите этот язык до глубины души, сразу приготовьтесь к тому, что с вас потребуют аргументации.

Как говорит главный рекрутер Google Брайан Пауэр: «Мотивация должна быть раскрыта в полной мере, это одна из главных задач собеседующего». Конечно, рефлексивные и уклончивые ответы на подобные вопросы, столь типичные для форумов и повседневного общения («он мне просто нравится и все», «большинство пишет на нем» или «да просто так исторически сложилось»), не станут бриллиантом вашей аргументации. При подобном легкомысленном объяснении выбора своего главного инструмента разработки вы рискуете получить «red flag» — отрицательную оценку интервьюера.

Для наглядности приведу более конкретный пример подобного диалога из опыта собственного собеседования. Когда я рассказывал в Google про свои навыки и упомянул принципы SOLID, которые хорошо знаю и активно применяю, тут же получил встречный вопрос: «Почему именно SOLID, а не почти аналогичный GRASP? Каковы аргументы выбора в пользу SOLID?»

Это, конечно, интересный вопрос, потому что все, что касается наших спонтанных предпочтений, не всегда поддается ясному и четкому объяснению и вербализации, тем более опасно, когда подобные провокационные вопросы подкидывают вам неожиданно и в исключительно ответственный момент. Второй личный момент, за который меня основательно зацепили: «В вашем резюме написано, что вы большой любитель FreeBSD, давайте обсудим этот вопрос, почему именно FreeBSD, а, скажем, не Ubuntu?» Подобно тому, как в боксе часто используется клинч в качестве уловки, чтобы выиграть время, если участник состязания не держит удар, в подобных «аварийных ситуациях» также возникает соблазн отмахнуться голословным, поверхностным, односложным или просто банальным ответом с улыбкой, жаждущей снисхождения (применительно к предыдущему вопросу — репликой на уровне «FreeBSD мне нравится просто потому, что в ней есть система портов»).

Иначе говоря, заранее внимательно проинвентаризируйте все свои предпочтения, все косвенные утверждения, из них следующие, а также ваши навыки, перечисленные в резюме, — везде должны быть выявлены слабые и сильные стороны, хорошо аргументированы и вербализированы причины (хотя бы для себя самого) их выбора и использования. И если говорить более прямо, заранее приготовьтесь к неизбежным жестким встречным вопросам для любой «самой лучшей» технологии программирования.

Давайте для наглядности приведем более конкретный пример. Предположим, я знаю, что вы как приверженец PHP указали этот язык в своем резюме в качестве основного. Что конкретно спрашивали вас по этому языку на собеседовании?

Сначала были достаточно глобальные и обзорные вопросы с легким оттенком провокационности, например:

• Почему вы выбрали язык, реализация которого не поддерживает многопоточность?

• Почему в мире PHP нет событийно-ориентированных фреймворков?

• До какой степени PHP 5 действительно поддерживает ООП?

После чего постепенно следует переход в более узкоспецифичную плоскость, и я бы даже сказал, что порой вопросы носят провокационный или откровенно шутливый характер, вот примеры:

• Что значит «Variable variables» в мире PHP?

• Знаете ли вы иврит?

• Что значат периодические сообщения PHP об ошибке T_PAAMAYIM_NEKUDOTAYIM?

• Расскажите нам побольше про PHP, например про переменные и функции, которые здесь могут существовать в двух отдельных пространствах имен.

• Если я правильно понимаю, вы можете использовать как функцию fix(), так и переменную $fix. Пожалуйста, поясните, в чем преимущества такого подхода PHP?

• Является ли PHP действительно безопасным в отношении типов? (После утвердительного ответа возникло ощущение попадания в заготовленную ловушку и последовала ритмичная серия добивающих вопросов.) Проверяли ли вы это лично на практике? Расскажите нам про это поподробней, пожалуйста.

Следующие вопросы по PHP задавались в 2013 году, некоторые из них неактуальны по состоянию языка на текущий год.

• Поддерживает ли PHP стандартный тип integers, больший, чем 32 бита?

• Есть ли в PHP тип unsigned integers?

• Как в PHP можно получить «тело» http-запроса, отличного от типа POST? Например, сделайте это нативными для PHP средствами для запросов, выполненных методом PUT.

• Поддерживает ли PHP методику duck typing? (Кстати говоря, наверное, в связи с популярностью Python в Google я заметил повышенное внимание к вопросам, связанным с латентной типизацией, я получил несколько вопросов от разных людей именно на эту тему.)

• Пожалуйста, как специалист по PHP попробуйте переписать следующий типичный фрагмент PHP-кода, взятый нами для примера из популярного блогерского движка WordPress, чтобы PHP, SQL и HTML не были перемешаны все вместе.

<?php

$result = mysql_query("select * from test_table");

echo "<p><ol>";

while ( $row=mysql_fetch_assoc($test_result) )

echo "<li>{$row[test_row]}</li>";

echo "</ol></p>";

?>

Таких вопросов может быть много — от менее болезненных до более провокационных, в зависимости от компетенции и темперамента конкретного ведущего интервью.

В чем главная суть подобных эскалаций в интервью?

Никто на вас не давит и не язвит над вашими персональными вкусами, отношение всегда уважительное и терпеливое (я не заметил, чтобы хоть раз кто-то перебил или остановил мои объяснения, даже когда я явно отклонялся от темы). Здесь важно просто уметь отстаивать свою точку зрения и самому не делать взаимоисключающих утверждений. Иначе говоря, никто не против того, чтобы программировать именно на PHP, важно просто суметь объяснить, что это ваша сознательная позиция, что так делать действительно лучше и эффективнее. Ваш сознательный выбор и аргументированные предпочтения даже в мелочах, таким образом, подчеркивают ваш профессионализм и выдают опыт.

Обратите внимание: ответы на приведенные провокационные вопросы потенциально могут тянуть за собой бороду интересных работодателю следствий насчет вас как специалиста и человека вообще, ваших личных взглядов на жизнь, индивидуальных человеческих особенностей и предпочтений, выходящих далеко за пределы лишь одной профессиональной сферы.

Получается, что, находясь на таком собеседовании, вы словно подопытная мышь, которую буквально под микроскопом внимательно изучают Люди в Белых Халатах. Инициатива не принадлежит вам, вы лишь безвольный игрок в чужой программе?

Я бы не был столь категоричным, отчасти это ваш собственный личностный выбор, который выходит далеко за рамки лишь интервью и трудоустройства в Google. Если вы посмотрите вокруг себя, то в равной степени увидите в жизни как обреченных и покорных людей на коротком поводке контракта, так и успешных и независимых создателей собственного дела и новых рисковых стартапов, и все это в рамках одной и той же среды.

Что касается моих курсов, я часто отрабатываю со своими студентами домашние заготовки в стиле «удиви меня» для органичного переключения контекста разговора и перехвата роли ведущего. Этот прием позволяет проявить вам свои самые сильные стороны, ведь, как хорошо известно, самая лучшая импровизация — заранее заготовленная импровизация. И эта одна из моих любимых игр на площадке собеседований Google. Снова приведу типичный набор ситуаций из личного собеседования, чтобы проиллюстрировать, что я имею в виду.

Двигаясь по темам в резюме, которыми я занимался, мы довольно монотонно и поверхностно прошли по ООП и различным паттернам программирования, пока не дошли до моего любимого аспектноориентированного программирования (АОП). Здесь сразу стало очевидно, что настрой ведущего и его коллег поменялся, он попросил рассказывать все максимально подробно, потому что «это интересная тема». Отвечая на многочисленные встречные вопросы насчет причин моего интереса к функциональному программированию, АОП и событийно-ориентированному программированию (СОП), нас постепенно вынесло на другую логичную тему — недостатки методологии объектно-ориентированного программирования как таковой, которая в наше время стала своего рода безальтернативным мейнстримом в индустрии программной разработки.

Я прошелся по калейдоскопу из мнений ряда крупных фигур в мире программирования, в частности перечислил аргументы хорошо известных ярых противников ООП: Дейкстры, Ричарда Столлмана и Никлауса Вирта, по памяти процитировал причины разочарования в объектах Степанова (создателя STL) и общей проблематике рефакторинга как неизбежного диалектического следствия любой разработки, центрированной на ООП-стиле. Также рассказал про интересную критику ООП от Джоэля Спольского, о его похождениях в Microsoft и тамошних «архитектурных астронавтах», замучивших навязыванием этой методологии другим.

Просто в качестве любопытного наблюдения: тема «порочных практик» Microsoft вызвала дополнительное оживление у гуглеров, и мы остановились на этом отдельно. В ходе обсуждения я поделился мнением своего хорошего знакомого о том, как своеобразно соблюдаются «coding guidelines» в Microsoft, где некоторые методы могут содержать тело из кода в сотню экранов, а сам файл с их исходником — весить больше мегабайта.

Я так подробно остановился на этом моменте лишь для того, чтобы показать простую, но важную стратегию: гораздо выгоднее, когда вы рассказываете что-то интересное сами, и то, что заведомо хорошо знаете, чем, затаившись, ждете очередного вопроса с подковыркой из длинной очереди заданий, которые выдает команда из нескольких интервьюеров по очереди. Суметь удачно переключить контекст собеседования на этот благоприятный для себя проактивный режим — ключевой момент, как мне видится, для наиболее комфортного из всех способов прохождения подобных интервью. Фактически в моем случае это было больше похоже не на стандартное стресс-тестирование собеседника, где я выступал в качестве ведомого и испытуемого, а на приятную дискуссию знакомых, у которых вспыхнула интересная для обоих полемика. Считаю, что из всей серии собеседований это был один из моих самых удачных дней, и чтобы передать общий позитивный фон, на котором мы расстались в тот день, приведу последние слова ведущего:

Господи, услышь нас, — комично вскинул он руки вверх с немой мольбой, застывшей во взгляде, устремленном в небо, — о, если бы наш менеджер проекта думал так же, как думаете вы, и чтобы у нас всегда был выбор в плане удобной нам методологии. Под общий смех мы завершили это эмоционально-насыщенное интервью.

Как я уже отмечал и как признался один известный актер: «Самая лучшая импровизация — это заранее подготовленная импровизация». Отнеситесь к этому банальному утверждению серьезно, и вы сможете удивить в хорошем смысле не только своего потенциального работодателя, но и самого себя, относительно легко создав нужную и контролируемую атмосферу на важном для вас собеседовании.

Используйте для этого свое резюме в качестве своего рода программы из тщательно проработанных заготовок и глубоко закинутых якорей, так вы оставляете себе большие шансы перехватывать инициативу в интервью каждый раз, когда предсказуемый вопрос интервьюера заставляет сработать очередной триггер заготовленной вами ранее интересной темы. Позвольте же рекрутерам найти «эти пасхальные яйца» в вашем резюме, умоляю, просто дайте им шанс — это доставит удовольствием не только им, но и вам самим, когда собеседование будет принудительно перезагружено по вашему сценарию.

Я знаю, вы ведете статистику всех ваших подопечных, кто проходит собеседования в Google после обучения у вас. Можете поделиться хотя бы несколькими интересными фактами, полученными на ее основе?

Как правило, в качестве интервьюеров от Google выступают молодые люди. Если 3 года назад это были сотрудники в возрасте около 30–37 лет, то сейчас планка опустилась ниже — сейчас интервью часто ведут парни в возрасте 26–30 лет. Google, безусловно, стремительно молодеет.

Огромное количество деталей и низкоуровневой информации. Многие курсанты сетуют, что если раньше классическое образование учило не зубрить бездумно, а прежде всего хорошо понимать алгоритмы или внутреннюю суть технологий, то теперь наблюдается обратный тренд — повышенное внимание к деталям, то есть очень сильный крен в сторону приобретения справочно-энциклопедических познаний.

В последнее время значительно повысился процент приглашаемых на собеседование людей по инициативе самих рекрутеров.

По нашей оценке, попасть на рядовые должности — вполне реалистичная задача для подготовленного специалиста среднего уровня квалификации, но на все управляющие позиции отбор гораздо более тщательный и долгий. Говоря иначе, если у вас более пяти лет стажа работы в отрасли и вы действительно учились программировать все это время, то у вас есть хорошие шансы пройти собеседование в Google.

Почти всегда встречаются минимальные 1–3 вопроса на смекалку и креативность — иногда не имеющие отношения к профессиональной специализации, но чаще всего завуалированные под них. Легенды о большом количестве подобных вопросов, мягко говоря, преувеличены.

Google стремится уходить от стандартной модели опросов, где есть очевидный и стандартный ответ, тяготея к модели, где требуется самостоятельно найти решение нестандартной задачи в режиме реального времени. Часто при этом просят проговаривать вслух динамику поиска вами решения (общий ход мысли), и поскольку большинство программистов — все-таки выраженные интроверты, это может серьезно помешать сосредоточиться на действительном решении самой задачи.

Я бы хотел отдельно остановиться на очень важном обобщении, которое видел в ваших методических материалах. Надеюсь, это не только психологическая мотивация и позитивная настройка — вы утверждаете, что в Google действительно может попасть практически любой средний по своему уровню подготовки программист. Откуда такая уверенность?

Мы дважды тестируем каждого своего студента — по приходе, а также после завершения нашей двухмесячной подготовки. При этом мы уверены, что точно представляем возможности программистов, которые проходят через нас. Если начальные тесты выявляют все слабые места в образовании, наши стандартные курсы с элементами индивидуальной адаптации обучения стремятся их полностью ликвидировать. Если человек не проходит собеседования в Google с первого раза, у нас есть ощутимая скидка для повторной индивидуально-усиленной подготовки.

Так вот, исходя из моих давних наблюдений на базе более 500 прошедших через нас людей, я категорично заявляю, что в подавляющем большинстве случаев Google выбирает специалистов из категории крепких середнячков. Иначе говоря, идет отрицательный отбор как самых слабых, так и самых сильных специалистов.

Это очень сильное утверждение, можно ли его пояснить дополнительно?

Вот для примера: у нас были три сильных программиста, которые набрали максимальное количество баллов по нашей системе тестирования, и я даже пошутил: «Что вам от нас надо, парни?»

Двое из них обратились за моей помощью именно потому, что не прошли собеседования в Google во время своего первого захода и хотели сделать повторную попытку, уже используя мои наработки. И даже после дополнительной подготовки, несмотря на все старания с их стороны, поисковая компания отказала им в трудоустройстве.

Не могу гарантировать, что у них какой-то внутренний стандарт на сей счет, но для меня очевидно, что они выбраковывают уж слишком выделяющихся личностей. Большинство из тех, кто устроился через нас, — просто хорошие, крепкие специалисты без какой-либо претензии на гениальность. Можно предположить, что таким проще подстроиться под довольно жесткий корпоративный стандарт и общий ритм. Все-таки туда приходят работать не на себя, а на компанию, поэтому безусловная исполнительность и определенная антипассионарность немаловажны для работодателя. Видимо, по этой причине там не очень-то любят бывших стартаперов и просто очень-умныхпарней, у которых своя точка зрения на все на свете и которым всегда есть что сказать менеджеру их проекта, если им что-то не нравится (при этом громко хлопнув дверью напоследок).

Кроме широко раскрученных бесплатных кафе, массажей и спортивных залов у таких известных компаний есть и обратная сторона, которая часто остается в тени масс-медиа, — не всегда просто управлять столь интернациональным и разнородным коллективом, где собирается подобная зашкаливающая на квадратный метр офиса плотность из «выдающихся специалистов» и «ярких личностей». Все эти популярные сейчас в Интернете прощальные письма уходящих из Google отдельных VIP-сотрудников — просто отражение той простой мысли, что это идеальная компания для тяжелой командной работы, а вовсе не долгожданная возможность для вашего звездного соло. Кроме того, большая часть работы гуглеров скучна и банальна, и это одна из причин, по которой я лично покинул компанию в свое время.

Слушая вашу версию, я вспоминаю, что другой известный специалист по программированию Стив Егги (Steve Yegge), ныне работающий в Google (а до этого успевший поработать в Amazon, Microsoft и Facebook), также рассказывал в своем блоге, что по его опыту у Google самый большой коэффициент отсева из категории наиболее высококвалифицированных специалистов (false negative rate). Кроме того, он вспоминал, что в случае с Google у него было самое сложное трудоустройство из всех, которые он проходил в своей жизни (у него была длинная и чрезвычайно нервная серия из 12 интервью, ожидание результатов которой растянулось на 6 месяцев).

Это нормальная ситуация. Если у них есть сомнения или колебания, они будут продолжать зондировать вас до тех пор, пока не будут уверены в своем решении, либо скорее откажут вам сразу. Это известное правило для Google — при малейших сомнениях лучше ошибиться и не взять настоящего профессионала, чем ошибиться и нанять «неправильного человека». Обратная найму процедура увольнения — сложный и долгий процесс, поэтому здесь реализован избыточный подход отбора с некоторым элементом перестраховки.

В отношении приведенного вами примера со Стивом Егги — если речь идет о некоей ключевой позиции и дорогом VIP-кандидате под нее, о котором складывается противоречивое мнение, процедура найма может быть действительно очень жесткой и долговременной.

Ранее мы уже касались работы с собственным резюме, создания специальных якорей-историй для естественного перехвата инициативы в разговоре, также хотелось бы коснуться вопросов, связанных с поведенческими паттернами, на отработку которых вы тратите приличный кусок времени своих клиентов.

Да, я отдельно обращаю на это внимание, потому что технические специалисты склонны зацикливаться лишь непосредственно на своей профессиональной сфере, часто оставляя подобные мотивы без достаточного внимания и проработки, тогда как именно эти моменты будут рассмотрены с высокой степенью вероятности, формируя драгоценное первое впечатление. К примеру, по резюме видно, что вы в течение короткого периода времени сменили несколько работ или, как в моем случае, проработали год в одной крупной известной компании и уволились, — тогда гарантированы расспросы в связи с этим фактом. Нужно быть заранее готовым к подобным предсказуемым ситуациям — вас невольно колупают под углом «что с вами не так».

Давайте перечислим типичные вопросы, которые обычно задаются по каждому крупному проекту, в котором вы участвовали (отметили в своем резюме):

• Чему вы научились, работая над ним? (Центральный вопрос, очень популярен.)

• Что было наиболее интересным для вас? (Другой вариант: работа над чем доставляла вам наибольшее удовольствие?)

• Что было наиболее сложным? Чему вы научились на этом примере? Какие уроки усвоили?

• Какая ошибка (баг) вам больше всего запомнилась в этом проекте? (Варианты: решение, ситуация, история и т. д.)

• В чем заключалась ваша стратегия поведения при возникновении личностных конфликтов в коллективе?

Все ваши ответы на подобные вопросы должны иметь четкий и ясный смысл. Специфика Google такова, что никто не будет уточнять и переспрашивать, желая конкретизировать, первоначально получив дежурную отговорку.

Например, вот типичные неудачные ответы на предложение назвать свои самые слабые места: «Я перфекционист», «Я трудоголик» и т. д. Все это дежурные и уклончивые ответы, не несущие вообще никакой смысловой нагрузки (cop out answers), такие ответы — яркая демонстрация неспособности говорить по существу. На подобные косвенные вопросы, по которым и оценивается ваша личность, всегда важно отвечать максимально честно и прямо, например: «я часто отвлекаюсь на работе», «у меня не хватает самоконтроля, чтобы выполнять все в срок» и т. д.

Поймите главное — буквально у всех есть какие-то личные недостатки, и здесь интервьюеру интересен вовсе не ваш «персональный список грехов», но важна ваша демонстрация честности, самокритичности, конструктивная способность признавать свои проблемы, с чем у многих нынешних амбициозных молодых специалистов очень серьезные трудности.

Для иллюстрации последнего не удержусь и процитирую одного из менеджеров Амазона, который ясно формулирует эту идею другими словами:

Сейчас, отбирая кандидатов для работы в Амазон, при прочих равных условиях я выберу человека, который хотя бы раз серьезно вляпался в неприятности и самостоятельно выкарабкался, нежели самонадеянного везунчика. Если кандидат утверждает, что никогда не совершал ошибок в прошлом, то для меня это показатель недостаточной зрелости. Те, кто наломал дров, но потом выпутался из сложной ситуации и сделал выводы, вряд ли будут стесняться говорить о прошлых ошибках и уроках. Гордость от того, кем ты стал и чему научился, будет намного перевешивать неловкость от признания самих ошибок.

Как ничего не упустить, не потерять контроль во всех подобных ответах-ситуациях, что важно знать на эту тему поведенческой психологии?

Как минимум нужно знать, что существуют базовые паттерны построения красивых и логичных ответов (точно так же, как аналогичные существуют в программировании для структурирования логики кода для разных типовых случаев). Вместо того чтобы каждый раз перегружать себя предварительными размышлениями и ненужными спонтанными реакциями, нужно довести до автоматизма навык правильной и развернутой композиции ответов.

Лично я считаю, что для подобного типа поведенческих вопросов идеально подходит шаблон SAR (Situation, Action, Response). Например, когда у вас спрашивают: «Что было самым сложным в вашем последнем проекте?», вы, следуя SAR, сначала описываете возникшую проблемную ситуацию, затем раскрываете суть вашего решения и в заключение описываете конечный результат всех предпринятых вами действий. Иногда в особенно сложных случаях уместно расширить вариант ответа до шаблонов STAR (Situation, Task, Action, Response) или SOARA (Situation, Objective, Action, Results, Aftermath). Это требует предварительных навыков и тренировок, но как результат вы научитесь говорить последовательно, ясно и убедительно.

Извините, Джон, но для меня до сих пор кажется непонятным этот сильный акцент Google при найме на нестандартные и заковыристые задачи. Что это, для чего? Мне кажется, если лучше понять их мотивы, будет легче ощутить дух и требования этой великой поисковой компании.

Среди ИT-рекрутеров хорошо известен парадокс, часто называемый парадоксом питона (The Python Paradox). Давайте попробуем спроецировать его на ситуацию с программистами, чтобы нагляднее ответить на этот вопрос. Для этого условно выделим в реальной жизни две полярно мотивированные группы программистов.

Первая категория — это те, кто учится, чтобы получить в итоге хорошо оплачиваемую и престижную работу, и для этого они автоматически выбирают мейнстрим в своей отрасли, ибо это значительно повышает их шансы на выгодное трудоустройство. Вторая группа — те, кто рассматривает свою работу не с позиции материальной выгоды, но с точки зрения самовыражения или чистого творчества, при этом не боится учиться новому или проводить смелые эксперименты в поисках своего идеала, будучи полностью сосредоточенными на своей текущей задаче. В последнем случае парни полностью отвязаны от жесткой рыночной конъюнктуры, тогда как в первом зациклены на потенциальном вознаграждении. Поэтому в итоге вторые выбирают свои рабочие инструменты/методики по критерию «самое лучшее», что зачастую далеко не «самое выгодное или популярное», как это делают их коллеги-карьеристы из первой категории (универсалы-приспособленцы).

Итак, парадокс питона гласит, что, учитывая описанную логику и делая ставку на вторую категорию специалистов «не от мира сего», компания получает в свое распоряжение гораздо более качественный и перспективный кадровый состав, более того, уже есть многочисленные практические доказательства и самые неожиданные экспериментальные подтверждения этого. Безусловно, Google лелеет этот принцип при найме специалистов — ранее я уже упоминал, как резко заинтересовались мною интервьюеры, когда я стал рассказывать о своих наработках в функциональном (Haskell и Yesod) и аспектно-ориентированном программировании, а также когда провел разбор проблематики и мифологии объектно-ориентированного программирования.

Специально заостряю на этом внимание — я пытаюсь подчеркнуть холодную рациональность, стоящую за подобным эксцентричным и странным, с точки зрения внешнего обывателя, поведением компании. С другой стороны, хотелось бы развеять некоторые откровенные мифы, когда эту специфику чрезмерно гипертрофируют, часто рисуя интервью в Google как сплошной набор невероятных шарад и головоломок. Смею утверждать, что популярная пресса вносит определенную лепту в культивирование этого ложного образа.

В качестве наглядного примера: если изучить один из недавних западных бестселлеров на эту тему — книгу Вильяма Паундстоуна (William Poundstone) Are You Smart Enough to Work at Google? Trick Questions, Zen-like Riddles, Insanely Difficult Puzzles, and Other Devious Interviewing Techniques, — может сложиться впечатление, что интервью в Google полностью состоят из шокирующих головоломок, крайне нестандартных и запутанных заданий. Чтобы сразу пояснить, о чем идет речь, приведу типичный образчик оттуда, который, по мнению автора упомянутой книги, один из самых популярных вопросов на собеседовании Google:

Оцените количество пользователей Facebook, которые находились в этой социальной сети вчера с 11 до 12 часов (иногда, как вариант, уточняется город, из которого они были).

По своему опыту, а также опираясь на нашу огромную эмпирическую базу клиентов, могу категорично утверждать, что процент подобных вопросов не превышает 1–5 % от всех заданий.

Кроме того, опираясь на собственный опыт работы в Google, могу выдать инсайдерскую информацию из первых рук — эта практика была явным образом запрещена на уровне Google Hiring Committee примерно с 2005–2006 годов, когда стали активно бороться с подобными модными в то время «фейерверками креативности» со стороны рекрутеров на местах.

Чтобы быть до конца понятым, о каком комитете идет речь? А также попутно для пользы дела поясните общий алгоритм принятия решений в исследуемой нами компании. Давайте подробнее остановимся на методике оценки кандидатов и внутренней структуре комиссий по найму в Google.

Итак, давайте начнем разбираться с самого начала — кто берет интервью? У технического подразделения Google engineering даже сейчас нет вообще ни одного рядового менеджера по найму! Но эта большая работа вполне успешно выполняется. Как же так?

Ответствен за это так называемый технический рекрутер (должность может звучать, например, так: Sr. Technical Recruiter). В подавляющем большинстве случаев он же работает в компании на штатной технической должности, например SRE. По последней причине таких рекрутеров часто именуют инженерами — верны оба определения, не следует здесь путаться. Подобное совмещение повально используется в Google, позволяя проводить по-настоящему глубокие и качественные технические собеседования. Такой инженер, согласившийся на подобную дополнительную работу, проходит специальные внутренние курсы, после чего начинает получать назначения на интервью (тесно связанные с его специализацией и направлением, которое он ведет по основной должности). Это обычно 1–2 собеседования в неделю, чтобы не слишком мешать его основной работе.

Вы сказали, что они проходят какие-то курсы.

Да, это внутренний профильный тренинг, после чего такому обычному «технарю» дадут право собеседовать. Вот самые общие логические фазы такого обучения.

• Юридическая часть — запрещенные вопросы и темы (то, за что потом на Google могут подать в суд и выиграть).

• Shadowing — пассивное присутствие на реальных интервью, проводимых опытными ведущими. После этого проводятся обсуждение и разбор всех приемов, примененных в прошедшем интервью.

• Методы ведения интервью и инструкции — общая теория. Обсуждение стандартов, приемов и структуры стандартного интервью. Правильные и неправильные подходы, советы.

• Корпоративный стандарт — кого ищет компания? Попытка описать образ «правильного» гуглера-новобранца. И самое главное — по каким косвенным чертам его легко заметить и выделить в общей массе? Тестирование на «гугловость».

Хочу отдельно подчеркнуть, что в рамках общих корпоративных стандартов и утвержденной структуры интервью, примерных вопросов и задачек интервьюеру дается достаточно много свободы, чтобы сделать каждое интервью особенным и неповторимым в зависимости от его темперамента и усердия. Отсюда постоянно повторяющиеся вопросы, отдельные «подлянки» и элементы бардака, которые иногда имеют место на интервью в Google, несмотря на все усилия навести порядок со стороны этой огромной компании.

Продолжаем погружаться в обозначенную тему — что происходит после того, как они прошли тренинги?

Каждый такой рекрутер/инженер по результатам своего личного собеседования с кандидатом пишет персональный отзыв по заданному образцу, это примерно 1–2 страницы формата А4. Здесь больше перечисляются конкретные факты («не смог оценить алгоритм такой-то на сложность, даже после серии подсказок решение не было найдено»), любые личные оценки не приветствуются, хотя и встречаются («отличный общительный парень, с которым я был бы не прочь работать в одной команде»). И как кульминация такого «репорта» — выставляет потенциальному кандидату свою комплексную оценку в диапазоне от 1 до 4 баллов. При этом рейтинг складывается из следующих составляющих (для примера я взял близкую мне должность SWE — разработчик ПО):

• аналитические способности (analytical abilities);

• навыки программирования (coding & design skills);

• опыт работы (professional experience);

• общение (communications skills).

По каждому из этих пунктов выставляется максимум 1 балл (могут ставиться дробные оценки меньше единицы, например 0,5), после чего оценка суммируется (очевидно, теоретический максимум — 4 балла).

Эта оценка как конечный результат прохождения собеседования должна сохраняться в тайне как от других интервьюеров, так и от самого участника интервью. После чего она представляется на специальном бланке в комиссию по найму (Google Hiring Committee). У этой комиссии есть множество подкомиссий, каждая из которых специализируется на отдельной специальности (например, для администраторов это Site Reliability hiring committee). В нее централизованно стекаются все данные со всех собеседований множества отдельных рекрутеров низшего звена, затем они распределяются по соответствующим подкомиссиям.

Я видел у вас подобный бланк, где кроме оценки и всех ее составляющих включается краткий отчет о прошедшем собеседовании. В этой карточке репорт начинался с фразы: «Кандидат очень нервничал, поэтому первые 20 минут я успокаивал его, всячески подбадривал и пытался ввести его в рабочий режим, говоря на нейтральные темы, а также обсуждая его биографию». Жалко, что вы не показали все остальные бланки из тех, что у вас остались на память.

(Улыбаясь.) Там примерно одно и то же, поверьте мне на слово. В последнее время такие отчеты чаще всего предоставляются по электронной почте, а затем хранятся для последующего контроля и повторных интервью.

Продолжая тему — не нужно сильно бояться какой-то личной неприязни со стороны отдельных интервьюеров или единичных провальных интервью в серии — вам всегда дадут шанс показать себя с разными людьми и в разных темах, после чего все данные постепенно стекутся в комиссию по найму. Каждому рекрутеру дается на составление подробного отчета 2–4 дня, при этом инструкция требует воздерживаться от личных оценок, взамен предоставляя максимальное количество фактов.

Эта комиссия — своего рода локальный рекрутинговый штаб, который определяет текущие потребности данного подразделения компании в определенных людях, динамично формулирует критерии под свою рабочую специфику, подбирает наиболее подходящий под должность и особенности каждого кандидата состав интервьюеров, планирует весь процесс найма. А после всех собеседований совместно анализирует и принимает судьбоносные решения по каждой отдельной кандидатуре, чаще всего делается это коллективно в режиме обсуждения.

Это второй (после самих собеседований) уровень анализа результатов собеседований (так называемая стадия Executive Review).

Как работает этой второй после собеседований уровень отбора?

Такие же обычные инженеры-рекрутеры, не участвующие в очных собеседованиях, раз в неделю получают запрос на рассмотрение 5–8 новых кандидатов. В свободное от основной работы время им нужно изучить для каждой полученной кандидатуры:

• резюме;

• все отзывы с его собеседований (которые были составлены и отправлены на предыдущем уровне; обычно от 3 до 8 отзывов в зависимости от количества собеседующих);

• отзыв реферала (если таковой есть).

Последний пункт, как понятно, редко встречается. Еще реже он носит действительно содержательный характер. В связи с этим я могу лишь повторно посоветовать: если у вас есть хороший знакомый в Google (на любой ступени карьерной лестницы), с которым вы действительно когда-то работали вместе, и он может написать содержательный фидбек с разбором ваших возможностей и компетенций — воспользуйтесь этим прекрасным случаем.

Итак, для каждой изученной кандидатуры пишется «мини-репорт» — попытка сделать выжимку из всего прочитанного со своим личным вердиктом в конце. На самом деле рекрутер редко когда-либо глубокого вчитывается в ворох чужих оценок, чаще всего используются конкретные паттерны-вопросы для сканирования фидбека коллеги-рекрутера, по которым судят об успешности или провальности каждого отдельного интервью. Вот их наиболее типичные примеры:

• Умеет ли кандидат писать быстрый и точный код?

• Насколько быстро и легко кандидат решает задачи из области своей заявленной компетенции? (Подтверждение опыта.)

• Способность быстро находить ошибки, в том числе в своем коде. Адекватность реакции на подсказки и помощь.

• Способность нахождения решения задач за областью комфорта и компетенции кандидата. Степень адаптации в незнакомых областях, уровень креативности.

• Отдельные случаи во время интервью (как правило, все нестандартные и интересные ситуации документируются отдельно).

• Коммуникативные способности и легкость в общении. Соответствие принципам компании и «гугловость».

Это типичный каскад ключевых запросов для обязательного выяснения, который может варьироваться в деталях у каждого конкретного рекрутера. Через день или два после рассылки каждой новой «пачки» кандидатов эта группа собирается вместе и, глядя на свои мини-доклады, написанные заранее, последовательно обсуждает каждую кандидатуру, пытаясь выработать единое мнение-консенсус по каждому конкретному испытуемому.

Получается, что все устроено так, что люди, которые будут принимать решение, чаще всего не имеют личного контакта с теми, чью судьбу они будут вершить. Также каждый член такого комитета принимает свое личное решение заранее до сбора всех участников группы, фиксируя его в мини-репорте.

Повторюсь, что, так же как и армия рядовых рекрутеров-инженеров, рекрутеры из комиссии — это динамическая и открытая структура, которая работает по совместительству. Например, упомянутый мною SRE hiring committee собирается на совещания два раза в неделю, курируя процедуру найма (фактически для своих собственных нужд) параллельно со своей основной работой в компании.

Хорошо, абстрагируясь от устройства всей этой системы, давайте подведем промежуточные итоги и выделим коридор результатов, необходимый для получения положительного решения для кандидата. Мне хочется более конкретно понять, как работает эта машина по оценке кандидатов изнутри, каковы критерии отбора?

Приведу набор эмпирических фактов.

• Средний балл должен быть обязательно выше 3, иначе, скорее всего, у испытуемого маленькие шансы. Диапазон оценки между 2,9 и 3,2 — это так называемые пограничные кандидаты, вероятно, их судьба будет решаться на дополнительных собеседованиях.

• Каким бы парадоксальным это ни казалось, но слишком высокая оценка, вплотную близкая к максимальной (>3,7), — это также причина для отказа (не буду повторяться, я уже говорил о выбраковке самых лучших).

• Наличие сильной неравномерности в серии оценок, а также сразу несколько диаметрально полярных оценок собеседований (волатильность результатов) — хорошие поводы отклонить кандидатуру.

• Низкие показатели составляющей «communications skills» особенно опасны, независимо от всех остальных оценок они могут привести к отказу. В силу многонационального коллектива и большого количества эмигрантов именно этой оставляющей уделяют отдельное внимание.

Дополнительно я бы хотел упомянуть здесь о двух интересных деталях. Если статистический анализ выявляет, что кто-то из рекрутеров постоянно «заваливает кандидатов», это также будет учтено внутри комиссии, автоматически понижая вес его мнения.

Вторая крайне важная деталь — молодым в Google дают множество поблажек. Можно воспринимать это как дискриминацию по возрасту, но факт остается фактом: ошибки, которые запросто прощают «интернам» сразу после университета, никогда не простят опытному разработчику со стажем. И наоборот — чем выше ваш возраст, чем выше у вас заявленный опыт — тем более жесткие требования будут предъявляться к вам. Получая молодого специалиста (до 26 лет), компания еще имеет время сформировать его как специалиста, говоря о людях после 35 лет — Google намерена нанимать только состоявшегося и матерого специалиста, и никак иначе. Именно поэтому уровень задач, отношение и сложность вопросов к этим двум возрастным группам заметно различаются.

Итак, рассмотрев устройство фильтрующего механизма, мы готовы попытаться учесть его особенности. Поэтому сразу вопрос на засыпку: по вашему мнению, какая из четырех названных компонент суммарной оценки наиболее провальная, согласно сухим отчетам вашей статистики?

Не знаю, совпадет ли ответ с вашими ожиданиями, но согласно моим данным, бесспорно лидирует составляющая «Навыки программирования» (coding skills). Это то, что заваливают 7 из 10 проходящих интервью человек. Вторая опасная отметка для иностранного специалиста — «communications skills».

Вот на двух этих больных местах я и предлагаю остановиться отдельно. В чем корень столь частых проблем именно в этих сферах?

Писали ли вы когда-нибудь программы на клочке бумаги? Есть ли у вас навык быстрого составления алгоритма в стрессовой ситуации, когда за тем, как вы пишете программу, внимательно наблюдают несколько человек? Писали ли вы, комментируя вслух на чужом для себя языке, каждый ход своей мысли? Как насчет опыта олимпиадного программирования и скоростного поиска решений для весьма нестандартных задач? Программировали ли вы после 10-часового перелета (однозначно стоит попробовать), а также знаете ли вы, что такое джетлаг, накрывающий вас на следующий день после перелета?

В Google все это неизбежно: во время интервью вам почти наверняка придется писать фрагменты программ, функций или классов на настенной доске (white board), а на стадии телефонного интервью будьте готовы к тому, что вас могут попросить черкануть пару строк кода на Google Docs, иллюстрирующих какую-нибудь концепцию на удобном для вас языке программирования. Вам придется программировать после долгого перелета и смены часовых поясов. Поэтому прямо сейчас возьмите листок бумаги и попробуйте написать небольшую программу без помощи уже привычных подсказок/автодополнений со стороны IDE (например, без столь любимой многими IntelliSense в Visual Studio) — исключительно по памяти.

Есть N коробок. Все они открыты. Некий человек последовательно проходит и закрывает каждую вторую коробку. Затем снова проходит по уже каждой третьей коробке и, если она открыта, — опять закрывает, если же закрыта — открывает. Потом повторяет цикл по каждой четвертой, и так до N. Итоговый вопрос: сколько коробок останутся открытыми после окончания прохода?

Большинство программистов считают, что это относительно простое задание, поэтому охотно берутся за решение и получают быстрый ответ, но мало кто решает его правильно. После математического подсчета интервьюеры часто просят также смоделировать эту задачу в программном виде (конечно, результаты комбинаторного прогона по конкретным значениям должны совпасть с математической формулой первого ответа).

Должен откровенно признаться, что лично я испытывал серьезные затруднения в связи с внезапным обнаружением непредвиденных трудностей по написанию программ на небольших цветных бумажках уже в процессе прохождения интервью. На своей работе мы предоставляем работодателю уже готовый отлаженный и заранее продуманный код, но задумывались ли вы, сколько исправлений и модификаций кода отделяет его первоначальные схематичные наброски от финальной версии? На интервью такого уровня просто не будет времени и возможности набросать черновой вариант и постепенно его доработать под отладчиком — здесь вы пишете код на лету и сразу поясняете алгоритм. Это и станет вашей окончательной версией решения, которую будут оценивать без всякого снисхождения на полевые условия.

Подобный режим — это когнитивный диссонанс по отношению к стандартному и неспешному офисному программированию, где мы обычно тщательно продумываем и оптимизируем каждый элемент своего решения в тиши кабинета, пребывая в спокойном сосредоточении тет-а-тет с кодом, так любезно подсвеченным в любимой IDE. Также обращаю внимание: как утверждает статистика, при подобном «спортивном программировании» наиболее распространенный тип ошибки — off-by-one error (OBOE). [1 Распространенный тип логической ошибки в программировании, который чаще всего сводится к недостаточному тестированию граничных условий (значений) программы или функции.]

В написании кода важно, чтобы кандидат заметил и исправил свои ошибки самостоятельно. Ошибки, вероятно, будут, но сразу после написания кода его нужно протестировать (в уме) и исправить, этот навык значительно понижает тяжесть вашей вины в глазах ведущего. Это должно стать привычкой и рутинно завершать решение каждой задачи.

В связи с упомянутым джетлагом мой вам совет: если место собеседования территориально далеко от вас, лучше прилететь на пару дней раньше, чтобы успеть с дороги выспаться и акклиматизироваться (хотя в этом случае вам, скорее всего, придется оплачивать это дополнительное пребывание из собственного кармана). Впереди предстоит несколько дней интеллектуального марафона и естественная усталость от долгой дороги — не лучший фон для демонстрации ваших пиковых результатов.

Второй аспект частых ошибок — лингвистический.

Убедитесь в своем произношении. Поверьте, факт того, что вы понимаете, что говорит ваш собеседник, вовсе не означает автоматически, что вас так же хорошо понимают, что ваш акцент не является препятствием для общения. Специфика подобных международных интервью имеет то свойство, что многие участники не являются носителями английского языка, и часто фокусируя все время и силы на технической и содержательной частях интервью, порой игнорируют языковую составляющую. В связи с этим плохое понимание вашей речи может стать вероятной причиной отказа, не забывайте про четвертую компоненту оценки. Попробуйте заранее проверить правильность произношения основной технической терминологии на английском языке.

Например, как правильно произносится слово «procedure»? Обратите внимание на правильность ударения. Очень часто обсуждается тема сложности алгоритма, его асимптотическая оценка и нотация «большое-О», в связи с этим как бы вы произнесли вслух формулу O(log(n))?

Следующий важный момент из частых завалов — активное использование адаптивных методик рекрутерами. В самом простом случае это значит, что чем лучше вы будете отвечать, тем более сложные вопросы будете получать в продолжение интервью. Отчасти поэтому непримечательным середнячкам так часто везет в этом увлекательном забеге. Стремление казаться самым крутым не всегда оправданно, если в реальности вы не соответствуете этому уровню. В любом случае очень важны равномерность и последовательность знаний — это не лотерея, здесь не может быть «любимых вопросов», благодаря которым вы рассчитываете блеснуть. Если вы ответили на какой-то вопрос очень сильно, планка сразу поднимается, и дальше вы должны защищать уровень уже более высокого балла.

Не стоит писать в своем резюме амбициозных фактов, доказать которые впоследствии вы будете не в состоянии. Повторяю еще раз: гораздо выгоднее произвести впечатление крепкого середнячка, чем неведомого никому гения, который не способен отвечать за свои слова.

Покончив с наиболее типичными ошибками, хочется уточнить еще один паттерн. Я слышал, как вы обсуждали со своими курсантами составной допрос — что это значит?

Это еще один распространенный паттерн собеседования. Я называю его «составной допрос» (это когда некий теоретический вводный вопрос красиво компонуется с продолжением — практической задачей на его основе). Например, начав обсуждать теорию «Big O notation», после плавно съезжают к обсуждению алгоритма TLS Handshake, который имеет, мягко говоря, много предварительных вычислений. Для интервьюера этот прием — хорошая возможность оценить, насколько у вас большой зазор в понимании между сухой академической теорией и конкретными реализациями на ее основе. Большая проблема и одновременно узкое место нашего современного образования — то, что эти две важные составляющие подчас никак не связаны между собой.

Чтобы как-то суммировать этот большой объем информации, давайте перечислим наиболее частые и общие темы на подобных собеседованиях, которыми нужно владеть в обязательном порядке.

Нужно хорошо знать хеши, устройство деревьев и графов, главные алгоритмы поиска и сортировок, стандартные структуры данных, основы математики (особенно системы счислений, теорию чисел, основы теории вероятностей и комбинаторику). Кроме того, спецификации основных сетевых протоколов и RFC, работу процессора и памяти, детали TCP/IP и все уровни модели OSI.

Для программистов дополнительно — принципы ООП и основные паттерны, теорию работы компиляторов, а также базовые вещи. Пример последнего — очень частый вопрос о расчете времени и эффективности выполнения (Big O notation).

Для администраторов — основные API-вызовы операционных систем, то есть вызовы типа fork(), иметь хорошее практическое знание Perl. Кроме того, нужно иметь хотя бы один любимый язык, которым вы владеете очень сильно, вместо десяти языков, на которых решили пару стандартных задач в свободное от работы время (и на основании этого самодовольно поставили птичку в своем резюме напротив их наименований).

Как бы ни страшно звучало все перечисленное, требуется знать лишь основы, но знать их нужно уверенно. [1 Проецируя это на действительность бывшего СССР, необходимые знания математики примерно соответствуют уровню 1–2 курса физмата.] Также я хочу коснуться важного момента: требуется понимать то, что было прочитано в различных книгах и интернет-источниках, а не просто механически повторять ранее выученное. К примеру, вот проверочный вопрос из реальной практики собеседований на тему паттернов программирования, который поставил в тупик моего подопечного.

Давайте поговорим подробнее об одиночке (singleton). Является ли одиночка паттерном или антипаттерном? Классическая реализация одиночки приводит к невозможности использования модульного тестирования, почему вы тогда относите его к паттернам?

Подловить новичка на бездумном повторении книжных истин — это сам по себе «паттерн собеседований» в Google, который без должного уровня осмысления, произносимого порой, ставит кандидата в весьма сложные и неожиданные ситуации.

Приведу еще три вопроса-примера в этом же стиле для самоконтроля. Каков физический размер этой Си-структуры в памяти на 32-битовой системе? На 64-битовой? От чего зависит ее размер?

struct foo {

char a;

char* b;

};

Следующий пример — объясните, почему работает такой код:

#include <cstdlib>

#include <iostream>

using namespace std;

int main (int argc, char** argv)

{

cout << argv[argc-1] << endl << argc[argv-1] << endl;

return EXIT_SUCCESS;

}

Третий типичный вопрос на общую сообразительность а-ля Google: Может ли функция возвращать итоговое значение чаще, чем была вызвана?

Хорошо, предположим, мы прошли все испытания и собеседования, отмеренные нам судьбой, и вот мы в ожидании окончательного вердикта. Я знаю, иногда вместо «апрува» присылают некий «Request for evidence». Что это такое и как это влияет на вероятность одобрения?

Не нужно паниковать, это стандартная процедура. Какие-то данные из вашего резюме хотят проверить, это лишний повод изначально писать там правду и только правду. Например, если у вас запросили выслать копию диплома — сделайте это. Как правило, это заключительная стадия вашего «апрува», а это значит, что процедура близка к завершению.

Впрочем, мне известен по крайней мере один случай, когда в Google отказали человеку, вроде бы успешно прошедшему собеседование, после того как увидели выписку из диплома с его оценками, которую попросили выслать в рамках этой процедуры.

Но повторю еще раз: в наше время такие ситуации скорее исключения из правил, качество собеседования, как правило, перевешивает все остальные факторы. Смысл этой истории: не нужно своими громкими утверждениями в резюме привлекать к себе внимание и провоцировать подозрительность. Всегда лучше сосредоточиться на качестве своего кодинга и реальных возможностях/достижениях, нежели на неуемно гипертрофированных фактах своей биографии.

Кстати, что насчет выбора языков для кодирования в рамках собеседования как на стадии телефонного интервью, так и на очном собеседовании?

Как правило, ведущие рекомендуют самим участникам заранее выбрать наиболее комфортный для себя язык программирования для прохождения всех заданий интервью. Но, конечно, экзотика при этом не всегда приемлема, ведь проводящий интервью также должен владеть этим языком. Здесь нужно иметь в виду, что в самой компании Google основными (стандартными для большинства проектов) являются языки C++/С#, Java и Python — в своем выборе лучше отталкиваться именно от них. И еще: интервью не место для импровизаций, постарайтесь выбрать действительно наиболее знакомый для себя язык программирования. Поверьте мне на слово, это очень важно, даже если он не входит в эту тройку.

Я считаю, что выбрать для прокачки в качестве основного языка для интервью лучше Python — основами алгоритмизации легче овладевать на высокоуровневом языке, не отвлекаясь лишний раз на низкоуровневые детали. Опять же, здесь меньше шансов ошибиться в режиме быстрого написания кода…

Этот выбор субъективен для каждого. Я бы, наоборот, сделал ставку на С++. Да, он сложнее чем Python, но дает большее понимание того, что именно делает компьютер, когда исполняет твой код. К примеру, за время собеседований я видел много молодых программистов, которые не понимали, как работают указатели, ну а указатель на указатель для таких ребят был просто какой-то трещиной в их вселенной. Потому я считаю, что подобные вещи, характерные именно для С++, стоит разобрать как можно раньше в своей карьере. Как минимум советую сделать это до интервью в Google. (Смеется.)

Поймите меня правильно, мне очень нравится Python, но современный программист просто обязан знать несколько мейнстримовых языков. Поэтому считаю, что в вашем случае переход в изучении основного для себя языка в последовательности Python > C\C++\ Java\C# станет для новичка настоящим адом, в то время как естественный апгрейд уровня абстракции C\C++ > Java\C#\Python\Perl будет вызывать приятное чувство типа «о, как тут все просто и понятно». Иными словами, десертом полезней заедать, предварительно отведав первое и второе, а не наоборот (хотя дети будут против такой последовательности и с ними придется долго спорить!).

Какой вы можете дать практичный и доступный всем нашим читателям совет, чтобы повысить шансы получить оффер?

Есть много способов, например, я уже говорил об институте рефералов. Хороший и неравнодушный к вам реферал — очень важное подспорье. Но не будем повторяться, поэтому предлагаю умышленно расширять базу своей компетенции. Что это значит? Очень часто, когда человек показал средние результаты интервью и в чем-то недотягивает на свою первоначальную позицию, но его потенциал всем очевиден, ему могут предложить альтернативные позиции, перенаправив его заявку к другому рекрутеру (с согласия кандидата).

На самом деле всю мою бытность работы рекрутером я всегда ценил стоящих людей, пытаясь дать им второй шанс (и так поступают очень многие в Google), даже если по каким-то причинам кто-то и «закрыт» для текущей позиции. В качестве примера могу привести собственную историю: я сам программист, но меня интересуют Unix-системы в качестве серьезного хобби, что привело к неожиданному встречному предложению (уже в процессе собеседований на должность SWE) — попробовать себя в качестве SRE. Итак, умышленно расширяйте свою область компетенции на уровне резюме, но заклинаю еще раз — избегайте откровенного вранья и приукрашивания фактов своей биографии. Выделите главные навыки в основной блок резюме и отдельно подчеркните, что есть менее освоенные вами темы и специализации, которые, однако, вам очень интересны.

Хм, это может привести к тому, что человек попадет на нелюбимую для себя позицию. Стоит ли Google таких жертв?

Каждому решать самому, как по мне — стоит.

Нужно иметь в виду, что в Google можно поменять проект по своему желанию, причем сделать это крайне радикально, к примеру вместо С++ начать вдруг писать на HTML/JS/CSS. Далее, можно из программиста переделаться в HR или продуктового менеджера (что многие и делают после достижения болезненного для немалого числа программистов возрастного порога в 35–40 лет). Можно переехать в другой офис и страну, подав заявку на подходящие вакансии у соседей, — нет проблем. Вариантов очень много, если речь идет о таком международном гиганте, как Google. Кстати, там существует собственная внутренняя сеть Moma, в которой находятся сведения по всем проектам, их требованиям и вакансиям. Также в ней хранятся цели и задачи каждого сотрудника компании по отдельности, подкрепляющиеся их отчетами и прочей справочной информацией как о людях, так и о проектах. Выбирать новые позиции легко и приятно.

Главное — попасть внутрь, после чего все возможности для маневра открыты. Ради этого многие используют гораздо более сложные схемы, чем описанная мною двухходовка.

Например, какие?

Например, устраиваются в фирмы типа Infosys — это большая фирма«бодишопер», завозящая на американский рынок вагоны дешевых сотрудников по H1B, которые затем работают на рабских условиях (например, по контрактам на внутренний аутсорс, которые заключает Infosys). Из уже изначально невысокой зарплаты Infosys будет забирать еще и свою долю. Хитрость такого «заезда» в том, что потом можно сделать трансфер H1B-визы в другую компанию (это достаточно простая процедура). Очень многие из подобных беглецов изначально метят именно в Google, для которой претендент в качестве президента США имеет гораздо больше проходных шансов на трудоустройство, чем бедолага, живущий за тридевять земель. В таком подходе есть множество других плюсов, которые я не буду перечислять здесь.

Кстати, мы обещали вернуться к визам. Настало время сдержать обещание.

Говоря кратко, это большая проблема. Для многих виза становится даже большей проблемой, чем само трудоустройство в Google, если речь идет о США. Но давайте попробуем последовательно разобраться, что там к чему.

На данный момент ситуация такова, что даже наличие оффера и острое желание могущественной компании типа Google взять вас к себе на борт не гарантирует получение рабочей визы. [1 Речь идет о первой половине 2014 года.] H1B — это сложный вариант, как ни крути. Сейчас на этот тип визы существует квота в 65 000 человек в год, а количество желающих ее получить растет с непропорционально большой скоростью. По сути, вам придется участвовать в лотерее за место в квоте. Например, в 2013 году было подано 120 000 заявок, а в текущем году — уже 170 000. Соответственно, шанс «выиграть визу» в 2013-м был равен 50 %, а в 2014-м — 33 %. Если в этой динамике ничего не изменится, то в 2015 году этот шанс будет составлять 20 %.

Весь топ компаний, получающих H1B-визы, создающих это столпотворение и давку, занимают индийские «бодишоперы». Общий вал заявок формируется преимущественно ими. Крупные работодатели, такие как Google, Facebook и Microsoft, очень недовольны данной ситуацией и пытаются лоббировать закон, который поднимет размер квоты для рабочих виз. Правительство США согласно с ними, Обама уже два года обещает провести так называемую иммиграционную реформу, но пока безуспешно. Есть мнение, что до следующих выборов ничего не изменится. На данный момент новые правила H1B — пока открытый вопрос.

Впрочем, большие компании, в том числе Google, решают этот больной вопрос с помощью следующего маневра — те, кто не получил визу (большинство), отправляются в их офисы в Канаде или Европе. Там они работают год, а потом приезжают в Штаты по визе L1. Вид на жительство можно делать и с L1, так что тут все нормально. Единственное «но» — с H1B работу поменять можно, а с L1 — нельзя. Но есть и обратная сторона — супруг(а) держателя визы L1 может работать наравне с ним, а супруг(а) держателя H1B — нет.

Следующий этап после попадания в Google для «нуглера» — закрепиться в стране. [1 От слов new + googler, то есть работник-новичок в Google] Нужно сразу подаваться на гринкард (GC), что Google делает достаточно эффективно. [2 Каждого своего работника Google классифицирует как сотрудника с «особыми способностями», что дает ему право на получение вида на жительства в США (green card)] По моим оценкам, шанс получить GC при желании и настойчивости (требуются периодический контроль и напоминания юристам, обычно заваленным работой, в которой вы можете просто потеряться) стремится к 90 %. Если фирма не спешит, если весь процесс пустить на самотек, то реально получить ВНЖ примерно за 3 года. Если активно контролировать этот процесс, можно успеть сделать все за 2 года.

Подводя итог, можно сказать, что Европа — это черный ход для американской части Google. Не самый плохой вариант какое-то время поработать в европейских отделениях этой компании. Что бы вы сказали об этих филиалах в сравнении с их американскими аналогами?

Да, европейские позиции — отличная точка входа в компанию, хотя бы учитывая американские визовые сложности.

Что касается сравнения, то я работал в цюрихском отделении Google, равно как и в американских отделениях. Если просуммировать свои субъективные впечатления, то в Калифорнии режим работы намного насыщеннее, чем в том же Цюрихе. Трудоголический менталитет американцев, центральные большие проекты, большое количество местных звезд программирования, на которых можно равняться, а также высокая концентрация выпускников лучших ИT-университетов мира — все это создает определенный климат в американской части Google. По моим ощущениям, Америка дает намного больше (знаний, денег и навыков), но и больше отбирает (времени и сил).

В Кремниевой долине царит дух непрерывной работы, в частности офисы Google открыты круглосуточно. Как говорил мой тамошний босс, если вы приходите на работу в 8:00, а уходите в 17:00 — вы не работник HighTech-компании. Можно сказать, что американская часть Google подходит более молодым и амбициозным. В Европе нет такого рвения и напряженности, проекты более простые и монотонные, а жизнь в целом более зарегулированная в пользу обывателя (благодаря тамошним жестким национальным законодательствам). Также я слышал, что европейские отделения Google ценят многие выходцы из Восточной Европы и России, которым оттуда до родных краев лету всего 2–4 часа.

Наверное, в качестве компенсации повышенной нагрузке в американской части Google предлагают более высокие зарплаты?

Больше, но ненамного. Например, в некоторых других ИT-компаниях возможно резкое увеличение зарплаты сразу на 50 %, быстрый карьерный рост, если вы показываете неординарные результаты. В Google такого бешеного темпа роста зарплат и стремительного продвижения по карьерной лестнице ожидать не стоит. Единомоментное увеличение зарплаты на 10 % здесь считается приличным. Плюсы — у Google есть развитая система бонусов для успешных работников, отличный соцпакет. Несмотря на то что в компании нет жесткого графика работы, есть нормы часов, установленные бессрочным трудовым контрактом. Сверхурочные часы компания не оплачивает. Для Google важно не то, сколько времени вы провели на работе, а каких конечных результатов добились.

Последнее — отчасти следствие того, что Google — компания с американскими корнями. А в США принято договариваться о годовой зарплате, а не почасовой ставке (бывают и исключения, к примеру, работа сотрудников службы технической поддержки, которым нужно дежурить в офисе круглосуточно, оплачивается иначе).

Желающим в первую очередь хорошо зарабатывать я бы хотел повторить давно очевидную вещь: общая зависимость зарплаты рядового сотрудника от стажа работы в компании весьма слаба. Максимальный доход в долгосрочной перспективе получают вовсе не лояльные сотрудники, но совсем наоборот — те, кто часто меняет работу. Частая смена мест работы в постоянном поиске прибавок и более выигрышных позиций (так называемый сайдшифтинг) — самая выигрышная стратегия, если деньги для вас главное. ИT-компаний в США море, таким образом, методом настойчивого перебора можно найти тех, кто даст столько, сколько надо (нужно учитывать, что многим компаниям нужны специфические скиллы, за которые они готовы платить «top dollar»).

O’кей, можно ли, подводя итог, дать максимально общий обзор всей схемы трудоустройства в Google? Сделать финальный обзор всего самого важного с высоты птичьего полета, чтобы этот общий алгоритм предстал перед глазами читателя без ненужной детализации?

Итак, сначала идут фильтрация и отбор анкет кандидатов (Recruiter Screen), затем в случае успеха назначается серия телефонных интервью (Phone Screen), возможно, с участием технического специалиста. Если вы проходите и этот предварительный этап, вас приглашают на очное интервью в офис компании (On site interview), полностью оплачивая и организуя ваш визит-путешествие. Как правило, само интервью — это затяжной марафон продолжительностью в день, когда вас интервьюирует последовательно от трех до восьми человек (как правило, технические специалисты), причем каждый задает свой список вопросов и задач. Затем каждый гуглер пишет свой персональный отчет по стандартной форме, в конце которого присваивает вам определенный рейтинг (Interview Feedback).

Все эти отчеты постепенно стекаются в комитет по найму (Hiring Committee), где после завершения сбора отзывов на кандидата еще раз суммируются и коллективно обсуждаются рекрутерами комитета (Executive Review). Если вердикт в вашу пользу, готовится заключение от Compensation Committee, где озвучиваются конкретные цифры зарплаты, которые могут быть вам предложены, исходя из ваших результатов и бэкграунда. После этого цикла согласований каждый утвержденный снизу оффер попадает на стол высокопоставленному HR-сотруднику Google, который выносит окончательный вердикт на ваш счет (Final Executive Review), еще раз внимательно просматривая всю историю отзывов о вас и взвешивая значимость аргументов «за». Обычно около 70–80 % предложенных кандидатур утверждаются.

На данные три уровня принятия решения уходит довольно много времени, поэтому нужно запастись терпением. В заключение ваш первоначальный рекрутер связывается с вами и сообщает, что вы «не можете быть частью этой команды», либо делает предложение о работе (Job Offer), перечисляя все детали и условия работы в компании, чтобы вы могли принять окончательное решение.

Напоминаю, что двумя ключевыми условиями успешного прохождения интервью являются ваша профессиональная подготовка (достаточно среднего алгоритмического уровня и хорошего умения кодировать) и опыт правильного поведения на интервью (дается оценка комфортности общения с кандидатом и его соответствие стандартам инновационной компании — «гугловость»).

Впрочем, если быть реалистами, в последние годы довольно легкомысленно тратить дорогое время на поиск сотрудников за рубежом, когда большую часть из них все равно не получится нанять из-за визовых ограничений. Из моего довольно большого круга общения в последние два года лишь единицы приехали в США сразу по «рабочке», поэтому попадание в американский сегмент Google чаще всего превращается как минимум в двухходовку. Самый простой вывод из этого — лучше ориентироваться на европейские офисы компании в качестве точки входа.

И все-таки меня, как и любого практика, интересуют шансы — стоит ли инвестировать драгоценное время и силы в подобное трудоустройство? Как говорят американцы: «Сначала покажите деньги». Греет душу, что вы оцениваете шансы середнячка как очень хорошие, но неужели все так просто?

Реалистично оценивая шансы и правильно расставляя балансы, следует, конечно, отталкиваться от статистики. Уже упомянутый мною ранее HR-босс Google Бок недавно привел интересные свежие цифры. По его словам, в последний год они получили чуть больше 3 миллионов резюме. Из них были реально наняты 7000 сотрудников (тот же год). То есть величина найма составляет примерно 0,2 %, что означает конкурс приблизительно 428,5 человека на место. Для сравнения: это намного больше, чем в Гарварде или Стэнфорде.

С другой стороны, глядя на все с обывательской точки зрения и ежемесячно готовя людей для подобных собеседований, я вижу, что работает принцип «кому очень надо, тот рано или поздно устроится». Мне эта статистика не кажется удручающей, потому что я вижу, что мои знакомые туда как-то устроились (а некоторые успели даже уволиться, найдя место получше или разочаровавшись), я также сам прошел этот путь и не вижу в нем ничего сверхъестественного. К тому же, если глянуть на темпы найма, то хорошо виден разгон — с каждым годом Google нанимает все больше людей, разгоняясь при этом довольно динамично. Дефицит специалистов на рынке очевиден каждому, значительная часть из этих присланных 3 миллионов анкет — это пустышки или анкеты откровенных новичков, склонных к авантюризму.

Пытаясь вывести некое руководство к действию, я бы резюмировал положение дел так: если вы уверены в себе как в специалисте, то есть имеете за плечами реальный опыт, а не только самомнение, и переживаете исключительно за факторы везения и удачи (а они, конечно, играют немаловажную роль), имеет смысл попробовать. Если к тому же вы молоды, то попробовать стоит обязательно! В плане денег это не будет стоить ничего, но взамен вы получите бесценный опыт. И если для айтишников-американцев трудоустройство в Google — это просто приятный бонус, то для жителей экономически депрессивных регионов, в частности некоторых стран Восточной Европы и Азии, это может радикально изменить их жизнь. Имея большие мотивы, они, как правило, прикладывают гораздо большие усилия, что очень хорошо видно по итоговой статистике трудоустройств.

(После паузы.)

Честно говоря, считаю все, что я посоветовал в этом ответе, отчасти бессмысленным (загадочно улыбается).

На самом деле люди, с которыми я работаю, делятся на две противоположные категории. Самооценка одних останавливает и всячески тормозит их, в конечном счете они не сделают даже, как им кажется, одной жалкой попытки (вне зависимости от их объективного уровня подготовки). Другие, что бы я ни бухтел здесь о шансах в 0,2 %, рассуждают про себя примерно так: «О’кей, настало время поразмять мозги, покажу-ка я этим засранцам из Google, как это делается» (опять же, вне зависимости от их реальных способностей). Чаще всего именно эта последняя категория (на пару с госпожой удачей) все и решает. Все остальные просто трезво оценивают свои шансы.

Тем не менее есть объективные шансы, чисто математическая вероятность показывает, что…

(Перебивает.) Хотите совет не только по Google?

В жизни нужно оценивать не абстрактные математические шансы, ведь, несмотря на все ваши «трезвые оценки», туда ежегодно устраиваются толпы, поверьте, вполне заурядных программистов.

Черт, с моим подходом что-то не так? Кто все эти люди? (Джон вскакивает, шутя изображая меня, пародируя крайнее недоумение.)

(Присаживается и продолжает серьезно.) На самом деле в любом проекте имеет смысл оценивать лишь проходные минимумы. У вас есть английский, у вас есть какой-то опыт, вы уверенно пишете код? — тогда нужно действовать, по возможности не спотыкаясь о свои же дурные мысли. Мяч круглый, игра длится 45 минут — это факты, все остальное — только ваши домыслы и ожидания.

Трудитесь, развивайтесь, верьте в себя. Область видимости локальных переменных в вашей жизни ограниченна, вы не можете принять правильное решение в принципе. Поэтому расслабьтесь, у инкапсуляции есть свои плюсы. Лучше сделайте свою часть работы на максимуме, а дальше, как советует инсталлятор Windows, «откиньтесь на спинку кресла и дождитесь результата».

Спасибо за хороший критерий принятия решений. В заключительной части интервью не подкинете ли свежих вопросов, которые, я знаю, вы систематически собираете на условиях анонимности из реальных интервью в Google?

Вот лишь несколько случайно отобранных вопросов.

• Что лучше использовать при реализации хэш-таблиц: дихотомии или сортировки?

• Почему для сортировки маленьких объемов данных используют алгоритм сортировки вставкой?

• Почему алгоритм сортировки слиянием быстрее других видов сортировки для больших объемов данных?

• Когда и где выгодно использовать связанный список, а когда — обычный динамический массив?

• Пожалуйста, проведите оценочный подсчет примерного количества переключений контекста процессов (context-switch) в течение одной секунды в современной ОС, работающей на процессоре с частотой 2 ГГц.

• В чем принципиальное отличие реализации Сuckoo hashing от стандартных хэш-таблиц?

• Что такое «Cache Hit Rate»?

• У вас есть миллион телефонных номеров. Каждую секунду у вас просят подсказать номер по фамилии абонента. Как бы вы реализовали программную систему для решения этой задачи? Обоснуйте, почему это самое эффективное решение из всех.

Очень много заданий построить максимально удобную и продуманную структуру данных (либо структуру классов) к какой-то конкретной задаче/ситуации. Много качественных вопросов (заданий) можно найти в секции «Алгоритмы» известного программистского сайта TopCoder. Все участники этого сайта, имеющие рейтинг «красного цвета», буквально завалены в своих инбоксах предложениями о работе от ведущих ИT компаний мира.

В завершение этого большого интервью мой финальный вопрос: что советуете отвечать своим клиентам на частый вводный вопрос первичного интервью: «Почему вы хотите работать именно в Google?»

Это коварный вопрос, потому что он с двойным дном, и все, что я могу посоветовать вам, это расслабиться и быть самим собой, не соображая при этом лихорадочно, какой же ответ они хотят услышать. Выясните это для себя заранее, для чего соотнесите этот вопрос со списком ваших идеалов и целью в жизни, а потом просто действуйте.

ГЛАВА 9. Чемоданные построения: Blue Card для айтишников

Сегодня у нас интервью, посвященное, по-моему, вечно актуальной теме иммиграции для определенной подгруппы отечественных ИTспециалистов. В отличие от уже истоптанных целыми поколениями путей-дорожек в традиционные страны типа Америки, сегодня мы рассмотрим в качестве целевой страны Германию. Это интервью — попытка получить более подробную информацию из первых рук по заявленной теме. Благо кое-что грандиозное произошло в 2013 году, что сделало именно эту страну чрезвычайно привлекательной для иммиграции или временной работы на ее территории. Речь пойдет, конечно, о весеннем вступлении в силу на территории Германии так называемой Blue Card Directive (вернее, еще большем упрощении этой процедуры).

Я хочу сразу отметить, что несмотря на то, что многое из того, что мы здесь обсуждаем, имеет справедливое отношение и к другим европейским странам (Blue Card — общеевропейское детище), я все же старался акцентировать внимание именно на Германии.

Сегодня Германия — это безусловный европейский лидер по показателю спроса на людские ресурсы, равно как и европейский рекордсмен по уровню зарплат среди айтишников всех мастей. В силу хронической скудости материалов на русском на тему Blue Card (да и малоизвестности оной в наших краях) я решил внести свою лепту на этой невспаханной пока никем ниве, дабы помочь сделать свой первый и самый сложный шаг тем, для кого это действительно актуально и интересно.

* * *

Итак, на наши вопросы любезно согласилась ответить Виктория Фераджи, бывший специалист одного из подразделений французской миграционной службы, которая имела отношение к разработке проекта Blue Card Directive, а ныне журналистка и просто очень общительный и доброжелательный человек.

Вторая часть материала — многочисленные практические советы и алгоритмы, которые помогут довести задуманное до конца. Это советы реальных айтишников, которые живут и работают в Германии. Я постарался систематизировать их в кратком и максимально информативном виде в конце этого интервью.

* * *

Что такое Blue Card? Каково ее назначение и история создания?

Процедура введения EU Blue Card была запущена Европарламентом в 2007 году. Сначала это был достаточно длительный и осторожный эксперимент на базе Чехии и ряда других стран ЕС, где были предварительно обкатаны все детали этой процедуры.

Постепенно список подключаемых к программе стран Евросоюза расширялся, и на данный момент в зону действия «голубой карты» входят следующие страны в алфавитном порядке: Австрия, Бельгия, Болгария, Венгрия, Германия, Греция, Испания, Италия, Кипр, Латвия, Литва, Люксембург, Мальта, Нидерланды, Польша, Португалия, Румыния, Словакия, Словения, Финляндия, Франция, Чехия, Швеция и Эстония. Апофеозом стало недавнее вступление в зону Blue Card Directive Германии как самого востребованного и крупного людского рынка Евросоюза.

И хотя в деталях процедура получения карты для каждой конкретной страны может отличаться, в общем все они построены на одних и тех же универсальных для всей Европы принципах.

Хочется сразу подчеркнуть: несмотря на то, что идеологическим вдохновителем для этой карты послужила американская Green Card, европейская Blue Card — это не ВНЖ, как в американском варианте, а легальное право жить и работать на территории Европы, но действительна такая карта лишь на время действия вашего контракта плюс 3 месяца (при этом максимальный срок выдачи карты — 4 года). Через какое-то время «жесткой привязки» к стране-работодателю (как правило, это первый год получения BC), обладатель Blue Card получает право свободно перемещаться и трудоустраиваться в рамках всего ЕС.

На данный момент выдача этой карты — уже хорошо стандартизированная и относительно простая процедура. И самое важное — право получения карты касается в основном так называемой категории высококвалифицированной рабочей силы (highly qualified specialist, HQS), поэтому для всех других категорий граждан третьих стран эта интересная возможность в большинстве случаев закрыта.

Что же касается перспектив на ПМЖ, то эта карта дает право претендовать на него, но не ранее чем через 5 лет после ее получения и постоянного и непрерывного проживания на территории страны — участницы ЕС (добавление от интервьюера: еще одна новая уступка — теперь документы на ПМЖ можно подать после трех лет проживания, а не пяти).

Вот минимальные рамочные требования для претендента на эту карту:

• Специальность относится к категории HQS.

• Возраст от 20 лет.

• Доказуемый опыт работы по заявленной специальности не менее 5 лет (иногда формально может не требоваться, но скорее всего понадобится).

• Образование по специальности (высшее образование).

С последними двумя пунктами получается логическое ИЛИ: нужно или высшее образование по специальности, или пять лет доказанной работы по нужной ИТ-специальности.

• Отсутствие судимостей.

• Наличие загранпаспорта.

• Отсутствие предшествующих нарушений иммиграционного законодательства в стране работодателя.

Что вы можете сказать конкретно о должностях программистов и системных администраторов в рамках этой новой европейской инициативы?

Во-первых, претендующий на Blue Card человек должен, безусловно, относиться к HQS, на привлечение которой и ориентирована в основном данная упрощенная процедура трудоустройства в рамках Blue Card. Во-вторых, HQS делится на две большие группы, в отношении которых действуют немного различающиеся правила. Программисты, системные администраторы и другие ИT-специалисты относятся как раз ко второй группе HQS, главное условие которой для устройства — минимальная зарплата в 35 тысяч евро в год, что для Германии скорее символическое значение, так как местные зарплаты айтишников сейчас там колеблются, как правило, в диапазонах от 40 000 до 100 000 евро в год.

Кстати, недавнее апрельское голосование в Бундестаге еще больше упростило эту процедуру, что дает зеленый свет для еще большего увеличения притока ИT-специалистов. Короче говоря, в отношении опытных программистов могу уверенно сказать: теперь все просто — находите работу, подписываете контракт, получаете Blue Card — и добро пожаловать в Европу.

Можно все-таки более подробно остановиться на общем алгоритме трудоустройства в рамках Blue Card?

Все очень просто. Вы можете сами найти легальную работу любым удобным для вас способом (через Интернет, во время личного визита, через рекрутера, по объявлению и т. д.) либо получить встречное предложение от какой-то фирмы или организации — резидента Евросоюза, как вам будет угодно.

После этого вы просите эту фирму отправить на вас заявку по процедуре получения Blue Card в Foreign Workforce Service (SMOE) или Centre for the Registration and Revision of Administrative Forms (CERFA) в зависимости от ситуации. Пакет документов, необходимый в этом случае, стандартизирован, уверена, он уже хорошо знаком кадровым службам очень многих организаций Евросоюза. Кроме того, для кадровых служб и агентств существуют горячие линии и интернет-консультации, где они могут получить всю необходимую информацию по этой процедуре.

Таким образом, в идеале лично вам вообще ничего не нужно делать, для вас процедура упрощена до предела — после предложения о работе (и заключенного на его основе контракта) будут запущены автоматические механизмы получения Blue Card.

Получив ответ от SMOE, работодатель пригласит вас на работу, вручив при этом вашу Blue Card — вся эта процедура сейчас занимает примерно 2–3 месяца. Еще раз подчеркну, что она ничего не стоит ни вам (поправка от автора интервью: еврочиновник не мелочится насчет таких сумм, как 140 евро единоразово за получение и 100 евро за продление, что действительно сущие копейки по европейским меркам), ни вашему работодателю; все, что нужно для ее инициирования, — это наличие контракта на ваше трудоустройство со стороны юридического лица, являющегося резидентом Евросоюза. Конечно, все сказанное касается лишь списка HQS, куда входит и профессия программиста, во всех остальных случаях эта процедура может быть гораздо более сложной.

Если у вас есть серьезные причины делать все самому (например, ваш реальный работодатель ни сном ни духом не ведает об этой процедуре), можно поступить иначе: вы можете самостоятельно направить ходатайство о выдаче «голубой карты» напрямик в департамент по труду и миграции (в разных странах Европы это различные органы, для Германии — Federal Employment Agency), для этого нужно иметь на руках уже заключенный с вами контракт на работу в Европе.

И если позволите, я, пользуясь случаем, хотела бы призвать всех потенциальных работников не пользоваться услугами многочисленных сомнительных посредников, которые сейчас вышли на рынок получения Blue Card, — они никак не могут ни ускорить, ни упростить получение этой карты, более того, оплачивая их услуги или предоставляя им полный пакет своих документов, вы во многом рискуете стать объектом мошенничества.

Я рекомендую не гнаться за каким-то мнимыми преимуществами, которыми они якобы обладают, и иметь дело непосредственно с вашим работодателем или государственным миграционным органом из страны вашей будущей работы, чтобы избежать проблем в процессе этой процедуры.

Кстати говоря, важный вопрос: чем Blue Card в принципе отличается от традиционного разрешения на работу, зачем создана эта новая правовая сущность?

Это действительно оправданный вопрос. Я попытаюсь ответить на него максимально кратко, опуская множественные юридические детали.

Итак, главное отличие в том, что стандартное разрешение для работы нерезидента было реализовано еще в те годы, когда все государства — участники Евросоюза существовали отдельно друга от друга. Естественно, это было сделано на уровне местных национальных законодательств, при этом во многих странах для этого требуется множество своих специфических критериев. В нынешних условиях существования Евросоюза как единого экономического пространства для всех этих стран появилась нужда максимально синхронизировать и обновить все эти условия, свести их к какому-то единому набору разумных и универсальных требований.

При этом было важно сбалансировать их под требования именно сегодняшнего дня, в частности, под требования сегодняшнего законодательства Евросоюза и тренды его экономико-демографического развития. Еще одна важная черта — создан единый механизм гибкого и быстрого обновления требований для соискателей карты самых разных профессий, что позволяет решать вопросы по наиболее чувствительным отраслям очень быстро, избегая сложных бюрократических процедур многоуровневых внутринациональных согласований этих новых условий для каждой отдельной страны — члена Евросоюза.

Резюмируя: имея Blue Card, вы можете работать на территории всех стран Евросоюза, свободно перемещаться в его пределах, при этом получить такое разрешение можно единообразным способом в любой стране — члене этого экономического союза. У традиционной процедуры получения права на работу в конкретной стране Евросоюза все эти три составляющие не всегда гарантируются или соблюдаются. Кроме того, традиционная процедура получения ВНЖ существенно более сложная и продолжительная по времени, нежели Blue Card.

В связи с этим приведу только два примера: обладатель Blue Card в Германии не должен подтверждать основы знания немецкого языка, а члены его семьи автоматически получают право на работу в Германии, в случае же получения традиционного ВНЖ дела с этими двумя факторами обстоят гораздо более сложно.

Что вы можете сказать о защите Blue Card? К примеру, американский аналог Green Card продают (изготавливают под заказ) на черном рынке в течение двух-трех дней, при этом такая подделка включает голографическую фотографию и магнитную полосу в точности как на оригинале; их предлагают в пригородах того же Нью-Йорка практически открыто. Я знаю, что, используя такую поддельную карту, в США смогло натурализоваться огромное количество народа. Не случится ли такая же история и с Blue Card?

Я понимаю, о чем вы говорите, и разделяю вашу озабоченность. Конечно, я не могу сейчас говорить обо всех технических подробностях защиты Blue Card, но хочу вас уверить в том, что защита последней очень серьезная. Мы изначально исходили из того, что эта карта вводится в оборот в XXI веке, и поэтому защищена она должна быть соответственно.

Кроме того, хочу отметить, что кроме непосредственно защиты самой карты уже создана единая электронная система по проверке подлинности носителя любого экземпляра Blue Card, поэтому отчасти даже качественная подделка при таком устройстве системы становится бессмысленной и выявляется при первой же незаконной попытке воспользоваться данным поддельным документом.

Какова популярность Blue Card? В частности, мне интересны цифры по отношению к странам Восточной Европы и России, если можно.

У меня нет на данный момент точных и актуальных цифр, так как я уже не работаю в этой системе, но могу вас уверить, что количество айтишников из России и Украины, получающих Blue Card именно в Германии, достаточно заметная величина, и это количество увеличивается с каждым годом.

Заканчивая наш разговор и выходя за рамки исходной темы, хочется спросить вас, Виктория, а как вы сами относитесь к эмиграции? В России у старших поколений принято считать эмигрантов своего рода предателями и изменниками Родины, которые позорно бежали от бытовых трудностей в более передовые и сытые страны, вместо того чтобы честно потратить остаток своей жизни на развитие своей страны.

Я не вижу здесь никакой проблемы. Сама я родилась в США, где выросла и училась, затем переехала во Францию, где работаю уже долгое время, сначала получив здесь вид на жительство, а потом новое гражданство и профильное образование. Потом мне очень понравилась экзотическая Африка, где я в итоге купила небольшой домик, получив вскоре после этого вид на жительство в одной из тамошних вечно жарких стран. Я провожу там, как правило, пару зимних месяцев, чтобы, отдохнув и набравшись сил, снова броситься в пекло европейского темпа жизни.

Что касается упомянутого вами восточно-европейского менталитета, могу лишь сказать, что жители западных стран бесконечно далеки от такого восприятия жизни. Я не зря описала свои собственные перипетии и множественные виды на жительства, и если вы спросите меня «почему» или «чего ради» все эти переезды — я вам отвечу просто: мне здесь нравится жить в данный момент времени. Это мой субъективный интерес и предпочтение, на которые я, взрослый человек, безусловно, имею право.

Более серьезный ответ на этот вопрос выходит далеко за рамки нескольких реплик, но исходной для понимания является позиция: живет ли твое государство ради человека, честно конкурируя во всем с другими государствами за то, чтобы быть еще более привлекательным в глазах своего гражданина, либо, наоборот, государство считает, что его гражданин — личная собственность, которая должна жить и умереть лишь ради его системных интересов. Понятно, в итоге это приводит к трагедии отдельной личности и краху целых поколений (тяжело говорить об этой теме применительно именно к Германии, в которой у меня очень много друзей).

Все как в примере с родителями и их детьми — рано или поздно дети вырастают (или не вырастают никогда при соответствующем воспитании) и начинают жить отдельно и принимать самостоятельные решения. Даже несмотря на все то хорошее, что когда-то для них сделали их родители, они порой уходят. Нужно суметь признать за ними это право. Только по-настоящему взрослое и свободное государство способно признать таковыми и своих граждан.

Попытка доминирования родителей с позиций «мы сами знаем, как будет для тебя лучше» или «теперь ты нам обязан по гроб жизни» недальновидна и ведет к деградации прежде всего самой семьи/страны в долгосрочной перспективе.

Подводя итоги

Итак, попробуем суммировать и дополнить сказанное — что же такое Blue Card сегодня:

• это специализированная программа трудоустройства существенно упрощает получение рабочих виз для ряда стран ЕС;

• каждая страна ЕС, которая участвует в этой программе, может иметь свои специфические требования для кандидатов;

• Blue Card ориентирована на высококвалифицированных рабочих и специалистов в отраслях ЕС, которые испытывают нехватку кадров;

• сегодня наибольшие шансы получить Blue Card у айтишников, врачей и инженеров;

• обладатель Blue Card имеет право работать в другой стране, которая тоже участвует в этой программе, но для начала ему необходимо отработать год-полтора в стране, которая выдала карту;

• если один из членов семьи получил Blue Card, его супруг (в общем случае) получает разрешение на работу без привязки к работодателю и сфере деятельности;

• в большинстве случаев через 33 месяца после работы по программе Blue Card вы сможете получить обычный вид на ПМЖ;

• если вы знаете немецкий на уровне B1, то ПМЖ в Германии дадут уже через 21 месяц работы по Blue Card;

• в последнем случае супругу обладателя Blue Card даже не требуется знать немецкий язык, но реальная жизнь говорит о том, что работники посольства с этим могут быть не согласны, так что супругу вполне может понадобиться сертификат о том, что он знает немецкий на уровне А1 (самый низкий уровень);

• чаще всего для того, чтобы получить Blue Card, нужно иметь на руках контракт от местного работодателя с зарплатой не ниже определенной планки, а также нотариально подтвержденное высшее образование в соответствующей сфере.

Краткий алгоритм действий

Теперь самые общие советы о том, как искать работу, на примере Германии. Прежде всего нужно знать, что когда отправляют свое резюме работодателю, здесь чаще всего шлют следующие три документа.

1. Bewerbungsschreiben (англ. Cover Letter) — мотивационное письмо, где вы вкратце пишете, чем вас заинтересовала компания, какую должность хотите и почему они должны взять именно вас (один файл на одну страницу).

2. Lebenslauf (англ. — CV) — собственно резюме (тоже один файл, на 1–3 страницы).

3. Zeugnis (англ. — Certificate, Reference) — документы, свидетельствующие о вашем образовании и опыте, отзывы с прошлой работы (отдельные файлы с переводом дипломов и отзывами).

Первое в списке — мотивационное письмо — пишется индивидуально для каждой отдельной компании в рассылке, при этом нужно попытаться кратко спроецировать свои способности и опыт на конкретные потребности конкретной компании. Последний пункт — документы, свидетельствующие о вашем образовании и опыте, отзывы с прошлой работы — заверяется переводами: немцы очень щепетильны, поэтому лучше сразу сделать это максимально тщательно и солидно (составить апостиль, то есть перевести все на немецкий язык и нотариально заверить в самой Германии). Ту же операцию (апостиль) нужно сделать и со свидетельством о браке (это понадобится далее).

В отдельных случаях на наиболее востребованные позиции подлинность иностранных аттестата и диплома нужно предварительно подтвердить отправкой их в отдел BAMF (министерство по миграционной политике) той федеральной земли, в которой находится работодатель. Проверить свой диплом или аттестат самостоятельно можно через систему Anabin, [1 http://anabin.kmk.org/no_cache/filter/institutionen.html] статус вашего учебного заведения должен быть H+, в крайнем случае H+–. Еще раз повторюсь, что многие конторы принимают и неподтвержденные отделом BAMF дипломы, поэтому уточняйте у вашего работодателя.

Все документы и резюме должны быть представлены потенциальному работодателю в формате PDF. Если вы не знаете немецкий и рассчитываете работать в ИT-компании, где говорят по-английски (а таких примерно 15 % на немецком рынке), можете спокойно слать документы и на английском. Очень распространен некий промежуточный вариант: в компании большинство немцы, поэтому между собой они говорят на немецком, но при служебных обсуждениях и митингах, в документации или при личном разговоре спокойно переходят на английский. ИТ в современной Германии — чаще всего «активная двуязычная среда».

Отсюда сразу следует ответ на популярный у русских вопрос — можно ли обойтись в германском ИТ лишь английским без знания немецкого языка? Ответ: да, если очень постараться, то можно. Но если вы знаете немецкий, ваши шансы найти хорошую работу резко увеличиваются прямо пропорционально уровню владения немецким.

Откуда начать поиск работы? Про сеть Linkedin знают почти все. Но не все знают про ее аналог www.xing.com, который широко используется в Германии. Кроме этих двух сайтов, можно также зарегистрироваться и искать вакансии через www.monster.de или www.stepstone. de. В ЕС есть множество местных национальных сайтов для поиска работы в области ИТ, вот пример их хорошей подборки. [2 http://geektimes.ru/post/244306/] Если вами кто-то заинтересуется (не пропустите его в тоннах вежливых отказов), вам будет назначено удаленное интервью по скайпу или телефону, как правило, оно и станет для вас решающим. Если вы плохо знаете немецкий, но у вас хороший английский, можно в самом начале интервью (сразу после приветствий) вежливо извиниться, объяснить, что, несмотря на то что учите немецкий язык, сейчас для вас пока сложно на нем объясняться в технической области и поэтому просите провести интервью на английском. Обычно большинство интервьюеров соглашаются. Повторюсь, что таким образом найти работодателя можно полностью удаленно — при должном усердии и уровне квалификации.

Ладно, предположим, что работодатель уже найден, а официальное предложение о работе получено. Теперь осталось дождаться, пока придет бумажная версия контракта (обычно высылается на ваш домашний адрес, например в России), подписать ее и идти в посольство Германии за визой, величественно сотрясая воздух оригиналом контракта. Вначале посольство дает трехмесячную национальную визу с целью трудоустройства. Эти три месяца вам даются на то, чтобы вы обосновались в новом городе, сняли квартиру, прописались в ней и уже в Германии (по прибытии и вселении) самостоятельно подали документы на Blue Card (иногда ваша работа может помочь в этом). Кстати, для съема квартир существует большое количество сайтов и сервисов, сделать это можно удаленно накануне отъезда.

Теперь, имея прописку и контракт, вы можете подавать документы на Blue Card в вашем местном АБХ (ведомстве по делам иностранцев в Германии). Предварительно нужно забронировать дату подачи документов (называется «терм?ин»), и это можно сделать через их сайт. Кроме всех перечисленных документов для запуска процедуры вам также понадобится медицинская страховка (оформленная в понравившейся Krankenkasse, по этому поводу советую предварительно пообщаться с вашим работодателем).

Дополнительные практические рекомендации

Далее привожу советы бывалого программиста и нашего бывшего соотечественника, уже давно живущего в Германии. Я структурировал его длинное интервью, чтобы сделать формат более практичным и кратким. Эти советы рассчитаны прежде всего на семейных, а также на тех, кто устроился в области ИТ, а значит, хорошо зарабатывает.

• Самый идеальный вариант переезда — если вы уже когда-то работали на немецкую фирму или были там в командировках, значит, уже имеете минимум нужных контактов и общее объективное представление о здешней среде. Если нет — съездите сначала пожить на месяц вместо отпуска, присмотритесь и оглядитесь.

• Здесь очень ценятся цойгнисы от ваших предыдущих или текущего работодателей. Если работали с евро- или американскими партнерами, особенно если это фирма с именем, обязательно попросите тамошнего руководителя или менеджера или просто контактное лицо написать вам Reference Letter с такого места работы. Специфика здесь в том, что все цойгнисы, полученные от немецких фирм, часто тщательно проверяют. Дело в том, что в силу высокотолерантной среды они никогда не будут негативными, а весь негатив, если он есть, кроется во внешне положительных фразах (это специфический бюрократический инояз со шлейфом едва заметных намеков). Поэтому тут не все так просто, будут дополнительно пробивать, что вы за птица.

• В большинстве немецких фирм ваше резюме на английском сразу отправится в мусорное ведро. И еще — в Германии принято в своем Lebenslauf вставить фотку с улыбающейся и довольной жизнью рожей. В резюме давайте побольше конкретики — обязательно перечислите свои значимые проекты с использованными технологиями.

• Дойч, дойч и еще раз дойч — многие немцы отлично говорят на английском, но не путайте туризм с проживанием. Без немецкого языка вам будет очень напряжно, поверьте. Если нацелены всерьез, начинайте сразу вкладывать деньги в индивидуальные занятия с толковым репетитором. Несмотря на то что здесь во многих ИT-фирмах все общаются на английском, так как часто команда сборная, вам все равно придется общаться с чиновниками при натурализации, искать квартиру, общаться с людьми на улицах и в магазинах и много чего еще. Не говоря про то, что в повседневной жизни плохое знание языка это уже изоляция (это не турпоездка, я повторяюсь), и фирм в Германии, в которых можно нормально общаться на английском, немного. Да, можно найти работу и без немецкого, но доступные предложения скукожатся раз этак в десять. Можно учить язык и на месте: тут есть курсы по немецкому, при этом их можно пройти практически бесплатно (правда, и качество соответствующее, но есть и приличные коммерческие курсы). Уже на месте лучше всего взять короткий, но интенсивный курс, в идеале это один на один с преподавателем, остальное действительно приложится.

• По возможности не надо при таком переезде сжигать мосты — с готовностью вернуться вам в Германии будет спокойнее, да и даже через несколько лет вы сможете вдруг передумать. Такое случается, поверьте, при этом даже во внешне успешных случаях.

• Рассматривайте предложения с зарплатой только от 4000 евро брутто (грязными) в месяц. Вы же не нищебродствовать сюда едете! Ваши будущие зарплаты чистыми здесь на собеседованиях обсуждать с работодателем не принято, учтите это заранее.

• Постарайтесь как можно больше заранее узнать о фирме — после заключения контракта вы будете от нее очень сильно зависимы. Также совет аналогичный, как и для Америки, — избегайте фирм с нашими русскими товарищами — здесь очень даже возможно кидалово. Общее мнение об айтишниках — денег у них куры не клюют, поэтому формируется соответствующее отношение.

• Специфика работы по всей Германии: Франкфурт — банки, Кёльн — мультимедиа, Мюнхен, Штуттгарт — автостроение, Нюрнберг — индустриальный локомотив, Ингольштадт — «Ауди», Берлин — столица, Бодензее — аэрокосмическая промышленность, и т. д. Мало работы и меньше всего платят в Восточных землях.

• Жилье: стоимость проживание в немецких городах сильно разнится. Самые дорогие — Гамбург и Мюнхен. Дорого также во Франкфурте и Кёльне. Несколько дешевле в Нюрнберге.

• Для поиска жилья я использовал замечательный сервис www.immobilienscout24.de — крайне рекомендую, очень удобно искать, есть фото, контакты. Есть особенность — если объявление через агентство — они берут provision, что в районе 1000–1500 евро за квартиру плюс владельцу потребуется заплатить три месячных kaltmeter (залога) за квартиру (эта сумма возвращается после того, как вы съезжаете). Некоторые работодатели оплачивают provision из своего кармана, лучше это обсудить с ними заранее, также есть объявления напрямую от владельцев квартир, там часто указано provision free.

• В любом большом городе есть неблагополучные районы (чего греха таить, населенные доверху турками и южными друзьями). Вашей семье такие соседи точно не подойдут. Лучше переплатить и иметь хороших соседей (желательно тоже с детьми, тоже образованных), чем асоциалов (их в Германии сейчас хватает). В любом случае, когда будете осматривать жилье, обратите внимание на почтовые ящики. Немцы там пишут не номера квартир, а фамилии жильцов. Если большинство фамилий немецкие — это хорошо, если много ненемецких, лучше подыскать другой вариант. В итоге дешевле для здоровья выйдет.

• Наличие знакомых и родственников — большой жирный плюс, но не преувеличивайте их возможности в помощи вам (здесь это не принято).

• Blue Card формально позволяет проводить воссоединение семьи, но для разрешения на это воссоединение требуется наличие жилья с 12 квадратными метрами на каждый нос. Реально такие большие площади семьям не сдают. Если вас четверо, смотрите предложения на 90 квадратных метров и больше.

• Рассчитывайте отдавать до 1000 евро за жилье со всеми сопутствующими платежами (в Мюнхене и Гамбурге, возможно, еще больше). Хотя я и снимал во Франкфурте неплохую двухкомнатную квартиру 65 квадратных метров в трехэтажном доме всего за 650 евро в месяц в Preungsheim. Но это мне просто так повезло, а нужно реально рассчитывать на сумму около 800–1000 евро за приличные апартаменты, за 1000 — это должно быть весьма хорошее жилье или близко к центру. Близость к центру, кстати, удовольствие сомнительное — мне было не тяжело проехать на U-Bahn 15 минут, но зато жить в спокойном месте.

• В городах, где много населения и работы, желательно выделить месяц-другой на активный поиск приемлемого варианта. Наличие у вас денежных сбережений и резерва на черный день позволит смотреть на ситуацию с большим оптимизмом и не спешить, спокойно подбирая лучшее для вас и более выгодное предложение.

Учеба и работа

Если говорить о молодых людях, для более комфортной эмиграции они часто выбирают вариант учебы, иногда совмещаемой с работой. Интересно, что направление ИТ — одно из самых востребованных образовательных направлений в Германии. Хорошие зарплаты айтишников подстегивают спрос на соответствующее профильное образование, которое сейчас переживает настоящий бум в Германии и Евросоюзе в целом. Логично, что качественное немецкое ИТ-образование радикально повышает качество последующего трудоустройства, углубляет общий уровень интеграции в общество.

Я решил написать очень краткую заметку об этом варианте, так как вслед за введением Blue Card в Германии произошло еще одно долгожданное нововведение.

Дело в том, что начиная с нового учебного года 2014/2015 высшее образование в Германии стало полностью бесплатным на всей территории страны. Последней из семи федеральных земель об отмене платы за обучение распорядилась Нижняя Саксония в декабре 2013 года.

Впрочем, для нас эту новость делает важным другое. Эти правила распространяются в том числе и на иностранных студентов. Местные студенты уже рассказывают, что первыми отреагировали и ломанулись в Германию американцы, стоимость высшего образования для которых — давно одна из национальных проблем. Тем не менее, несмотря на положительную в целом новость, в этом событии есть чрезвычайно важные детали, о которых я и спешу сообщить:

• В большинстве случаев требуется хорошее знание немецкого языка . Впрочем, есть вариант в виде обучения на английском — и в этом случае выбор университетов достаточно широк. Но нужно быть внимательными и уточнять все заранее. Дело в том, что иногда на сайте университета программа может числиться англоязычной, но на самом деле в ней будут обязательные курсы, которые преподаются только на немецком.

• Нужно подтверждение доходов (на что собираетесь жить во время всего срока учебы?). Важно заранее понимать, что жить в Германии — удовольствие не из дешевых. Поэтому в качестве гарантии обычно требуется 8000 евро на вашем счету. Эти деньги должны быть начислены на блокированный счет в немецком банке (вы можете снять оттуда только 650 евро в месяц). На них вы теоретически должны жить первый год (теоретически, потому что некоторые студенты берут эти деньги в кредит и впоследствии гасят его этими месячными порциями). При соблюдении этого условия учебная виза выдается вам на два года, после чего, если вы еще учитесь, при продлении визы нужно будет снова доказать, что вам есть на что жить. Для этого может сгодиться уже и подработка (например, прямо в университете), если вы не теряли на протяжении этих двух лет времени даром. Например, ассистент лаборатории может получать до 700 евро чистыми. Это небольшие деньги, но их хватает, чтобы скромно дожить до окончания учебы в университете. Как более экзотическая альтернатива взносу в 8000 евро или стипендии — официальная помощь родителей или поручительство гражданина Германии (либо комбинация любого из трех способов, например небольшая стипендия и счет в банке до нужной суммы).

• Возраст — не помеха, ведь средний возраст студента в Германии (выпускника) — 28 лет. Там нет ограничений по возрасту, и довольно много студентов, которым за тридцать. Отношение к ним совершенно обычное и будничное.

• Очень плотный темп обучения . Немцы считают, что готовиться к экзамену нужно за 3–4 недели, а не за 1 день, поэтому не удивляйтесь, что сессия у вас будет длиной в пару недель с экзаменами почти каждый день. Это вам не российский вуз.

• Подавать документы нужно заранее — за 2–4 месяца до начала семестра (в Германии это начало марта и начало октября).

• Бесплатно — только первое высшее образование . Если у вас уже есть высшее образование в России и оно будет признано в Германии, то учеба для вас будет платной.

• Впрочем, оплату можно переложить и на государство. Дело в том, что в РФ действуют социальные программы, спонсирующие граждан РФ, которые успешно поступили в престижные зарубежные вузы мира (есть утвержденный список) с жестким условием вашего возврата на родину после окончания учебы.

Задумайтесь — если намерение эмиграции у вас серьезное, то, быть может, проще начать именно с учебы за рубежом, а не сразу с работы? Кроме того, вы получите драгоценное время и навыки для адаптации к малознакомой среде. При наличии на руках немецкого диплома и базовых языковых и культурных навыков, перед вами открываются множество альтернативных вариантов для ПМЖ, а не только один лишь вариант с Blue Card.

Вместо заключения

И в завершение еще одна неформальная попытка ответа на вопрос: зачем же эта «голубая карта» вообще нужна, если можно было и раньше, имея на руках контракт, получать рабочую визу в общем режиме? И хотя в приведенном интервью Виктория пытается дать краткий ответ на этот принципиальный вопрос, попробую все-таки прояснить своими словами, в чем здесь вся соль, но немного с другой точки зрения.

Говоря очень кратко, с Blue Card эта процедура в разы проще, причем для всех сразу. По «просто инвитейшин от конторы» получить рабочую визу в Германии, вообще говоря, чрезвычайно сложно. Ибо согласно параграфу 18 пункту 2 эмиграционного закона Германии работодатель должен получить от ведомства по труду и миграционной политике разрешение на вашу работу, а для этого сначала он должен продемонстрировать, что он долго и настырно искал на ваше место «чистокровного арийца», но так и не нашел. Эта тягомотина занимает недели и даже месяцы, у многих отбивая вообще охоту связываться с этим. В лучшем случае, если у вас есть специальное межправительственное соглашение или вы уникальный специалист и едете работать на ускорителе в Гамбург по приглашению правительства, то эта процедура персонально для вас упрощается, но в общем случае для обычного человека это геморрой тот еще.

Кроме того, насколько я знаю, консульство или посольство за границей не выдает рабочие визы. Вы получаете временную визу (на которой написано Visum — я уж не помню, какая там категория, кажется, D) на въезд в Германию, затем уже в Германии вы идете в ведомство по делам иностранцев. И вот там вам в паспорт вклеивают другую бумажку, на первой страничке которой написано «Aufenthaltstitel», а на второй страничке написано, что «вы можете работать в Германии» (и где, если есть ограничения). В случае вероятной неудачи (здесь много тонкостей) это превратится просто в обычную туристическую поездку, и вы вернетесь несолоно хлебавши.

Часть III .  Айтишные истории

ГЛАВА 10. История одного программиста: ruby «rock star» мистер _why

Каждый день мы приходим на свое рабочее место, выполняя какуюто работу, получая в конце месяца за нее деньги. Все повторяется и на следующий месяц, дни рождения мелькают подобно красивым видам в движущемся на полном ходу поезде-жизни.

Задумаемся, отличается ли профессия программиста хоть чем-то от тысяч других профессий? Я смотрю на очередного молодого программиста, сидящего передо мной на собеседовании и агрессивно набивающего себе цену, и думаю: является ли программирование ремеслом или просто способом физически выжить? Это то, что делают лишь за деньги, или оно достойно чего-то большего? Может, это просто технология и хорошо известные алгоритмы, тщательно подобранные паттерны, которые гарантируют хорошие результаты при их понимании и выполнении, где можно расслабиться, доверившись сияющим святостью авторитетам, чтобы впредь самостоятельно не размышлять, предавшись порочной жажде поиска?

Либо здесь есть место для неопределенности и вдохновения? Встречаются ли здесь моменты ярких открытий, зовет ли порой жажда поиска нового, и если это так — то где обитают музы программиста? А может, программирование и вовсе некое иррациональное искусство, подобное листингам программ на brainfuck, или даже отдельное направление науки?

Наверное, для каждого это что-то свое...

Сегодня я расскажу историю короткой жизни программиста, который считал себя артистом, а жизнь — невероятной программой-приключением и который сумел изменить своим примером отношение к жизни у тысячи своих коллег.

* * *

Начать свой рассказ, должен признаться, мне тяжело — я просто не знаю, как представить вам нашего сегодняшнего героя. В Сети все его знали под ником «why the lucky stiff» (или просто _why), и это все, что нам известно о нем. Кем он работал? На всех ИТ-конференциях он представлялся неизменно «freelance professor».

Несмотря на многочисленные публичные предложения крупнейших мировых компаний и проектов работать на них, в офисе он не проработал ни дня — он всегда откровенно признавался, что у него нет даже номера social security. Пенсионный фонд нашел бы его жалким типом...

Знакомство

Мистер _why — это второй человек в мировом сообществе разработчиков Ruby. Доподлинно о нем известно только одно: какой бы самый коварный вопрос ни возникал в списках рассылки сообщества, обстоятельный ответ _why всегда гарантированно закрывал любую проблемную дискуссию. Этим, а также своей фантастической производительностью и неподражаемым вкусом _why заработал славу одного из самых сильных и ярких экспертов в мире Ruby.

Конечно, он блистательный программист. Но не только. Например, иллюстрации ко всем своим книгам создатель языка Ruby Юкихиро Мацумото доверял лишь _why — он чертовски классный художник-график (кстати, именно он создал новый комикс-стиль, посвященный Ruby).

У него была своя музыкальная группа, каждый вечер за электрогитарой и у микрофона — звезда своего небольшого городка. Интерес к музыке выливался и в программирование, например он создатель музыкальной библиотеки к Ruby bloopsaphone, которая позволяет проигрывать простенькие мелодии, вот, например, мелодия музыкальной заставки мультфильма Simpson:

require 'Rubygems'

require 'bloops'

b = Bloops.new

b.tempo = 180

sound = b.sound

Bloops::SQUARE

sound.volume = 0.4

sound.sustain = 0.3

sound.attack = 0.1

sound.decay = 0.3

b.tune

sound, "32 + C E F# 8:A G E C — 8:A 8:F# 8:F# 8:F# 2:G"

b.play

sleep 1 while !b.stopped?

Несмотря на полную анонимность, _why собирал полные залы на свои редкие выступления-лекции по программированию — в зале было невозможно протиснуться, потому что люди сидели везде и слушали его, затаив дыхание. Он отличный оратор и при этом замечательный писатель, который писал примерно в таком же стиле, в каком и жил. За свою короткую жизнь он написал лишь две книги, и обе книги были, конечно же, о Ruby.

(poignant) Guide to Ruby

В подзаголовок вынесено название самой известной книги, написанной _why. Иногда ее обозначают как (p)GtR или просто «the poignant guide» [1 Дословно «душевное руководство»] — это одно и то же. Это учебник для новичка — своего рода введение в язык Ruby, но не только в его, скажем так, внешнюю техническую суть и командный синтаксис, но и очень эффектная попытка передать его философию и дух. Чтобы сразу уйти от бесполезных дискуссий по поводу ее гениальности (или убожества, по мнению других), просто подчеркну то, с чем согласны все: книга не такая, как все. Она не похожа на то, что вы читали ранее.

Для начала очертим тот широкий диапазон оценок, что она получила: от зашкаливающих восторгов типа «одна из самых лучших книг по программированию» (от Джоела Спольского), до гневных проклятий: «Да это же просто издевательство какое-то над читателем!» — от одного дедушки-редактора крупного американского издательства, где ее однажды попытались издать.

Понятно, отчего профессиональный издатель приходит в бешенство: книга написана в таком стиле, в котором, пожалуй, про программирование не писал еще никто. Все уже привыкли, что книга по программированию должна представлять собой некий заунывно-монотонный рассказ от зануды-программиста, перемежаемый редкими и скучными листингами. Вряд ли вы возьмете такую книгу с собой в отпуск или будете читать ее пару дней и ночей напролет, не в силах оторваться.

_why, конечно, не в состоянии писать, как все: он никогда не работал в офисе, чтобы, как он считал, «ненароком не похоронить там свой живой интерес к жизни». «(poignant) Guide to Ruby» рассказывает о многом, например о его любимом «кусочке бекона» (chunky bacon — фраза, которая впоследствии стала мемом в сообществе Ruby и используется в огромном количестве примеров Ruby-кода), о его повседневной жизни и наблюдениях, восходе солнца или рассуждениях о языке собак...

Здесь важно не терять главную суть — все это лишь о языке Ruby, который рассматривается в чрезвычайно широком ракурсе и контексте. Книга сразу навязывает очень неспешное, вдумчивое погружение в язык, тщательную проработку его основ, мотивов и подходов. Словно боясь слишком перегрузить читателя, _why время от времени аккуратно одергивает своего читателя очередной шуткой: эй, приятель, ты еще здесь?

Внимательное проговаривание вслух всех листингов — обязательный элемент изучения этого языка, введенный в обиход именно _why. Ruby спроектирован так, что одна из его удивительных особенностей — это формирование в процессе написания программы осмысленного для чтения на обычном английском языке листинга, который более или менее может прочитать и понять любой обычный человек. Попробуйте повторить нечто подобное с Python или не приведи господь с PHP — ну что, получается?

Большинство листингов в книге сопровождаются комиксами с диалогами рисованных лисиц, которые обсуждают всю необходимую теорию, чаще используя то, что упомянутый издатель ехидно назвал «как минимум очень странным юмором, если не сказать более».

Другой постоянный персонаж книги — черный, как ночь, кот Trady Blix, с которым, по признанию самого _why, он как-то случайно познакомился на телевидении. В самом начале книги _why доверительно признается, что именно Blix научил его «настоящему Ruby».

Чтобы такая линейность сюжета не показалась кому-то слишком академичной (основанной на «здравом смысле» — любимое ругательство _why), в ходе изложения они часто меняются местами: в эти моменты уже _why педантично объясняет и учит кота Blix’а особенностям устройства и работы Ruby.

Книга содержит огромное количество совершенно безумных листингов, например иногда они являются вспомогательными для понимания механизма путешествия во времени или чего-то вроде того. Важное приложение к книге — полноценный музыкальный альбом, в котором, по словам _why, «он закрепляет некоторые важные моменты курса на эмоциональном уровне».

Вторая дополнительная составляющая курса — интерактивный обучающий сайт tryRuby.org. Вслед за Дарвином _why считает, что только непрестанная практика программирования превращает социальную обезьяну в программиста.

Делая скидку на человеческую лень, он создал этот сервис — теперь у каждого есть простая возможность проверить все, что описано в книге, не делая никаких лишних движений. Это настоящий интерпретатор Ruby, подключенный напрямую к web, где, используя обычный браузер, можно создать свою первую программу.

Другая его книга — Nobody Knows Shoes. Под впечатлением от этого стиля другими были созданы очень похожие на оригинал книги, например Learn you a Haskell for great good.

Маленькое программистское затруднение

На этом _why не успокоился. Продолжением попытки максимально эффективно учить новичков программировать стало создание собственной среды разработки на Ruby, которую он назвал Hackety Hack.

Чтобы максимально точно позиционировать эту IDE, _why выпустил манифест Little Coder’s Predicament, объясняющий суть предназначения Hackety Hack и рассказывающий о проблеме высокого порога вхождения в современное программирование, устранить который отчасти и предназначена эта программа-среда.

Он объясняет это так:

Мы живем в мире ужасно сложных и продвинутых технологий, которые окружают нас повсюду. Неважно, осознаем мы это или нет, но факт заключается в том, что наши бабушки сегодня пользуются смартфонами, наши дети играют на iPad и т. д. — но технологии, скрытые под капотом всех этих предметов, ужасно сложны и комплексны. Я помню, как в старые добрые времена смог сам легко освоить программирование на Commodore 64, но попробуйте сегодня разобраться в таком же возрасте в программировании под Windows, создать свой собственный поиск-аналог Google или написать свое приложение для любимого iPhone. Сделать это будет не так-то просто, как было во времена моего детства. Я называю этот возросший порог для вхождения в мир программирования Little Coder’s Predicament и пытаюсь преодолеть его посредством новой идеологии обучения программированию, реализованной в Hackety Hack.

Итак, этот редактор реализует блоковую концепцию построения программ из уже готовых кусков кода (заготовок, сниппетов). При этом у новичка есть возможность начинать учиться в процессе создания приложений, сразу разбираясь в его устройстве на примерах составных кусков кода (в чем активно помогает эта IDE), а также модифицируя их под свои текущие нужды (поставляется обширная библиотека подобных сниппетов на все случаи жизни).

Такой полуфабрикатный подход позволяет немедленно начать писать программы любому человеку практически без какого-либо предшествующего опыта. Технически редактор базируется на Ruby и Shoes toolkit (библиотека для создания сложных графических интерфейсов).

Неожиданная концовка

Что случилось потом, никто не знает. В июле 2009 года _why внезапно исчез. Ничего не объясняя, никак не объявляя это заранее, на пике своей сетевой популярности... Все его почтовые ящики-контакты были закрыты, его сверхпопулярный Twitter с более чем 10 000 подписчиков отключен, то же произошло и с его персональным блогом и аккаунтом на GitHub, а также с многочисленными сайтами-проектами. За один день все его проекты и само его присутствие в Сети были полностью разрушены.

Сообщество Ruby было шокировано, назвав этот акт виртуальным самоубийством.

В личных блогах огромного количества людей в Сети стали появляться признания о том, что _why изменил их жизнь, именно благодаря ему очень многие пришли в мир программирования или  выбрали Ruby в качестве своего основного языка программирования.

Поиск _why был по-настоящему грандиозным — опрашивались все последние журналисты, с которыми он контактировал, анализировались его последние твиты и письма в попытке понять мотивы, было даже запущено в ротацию стандартное для Америки объявление на пакете молока для поиска пропавших людей, но все было тщетно.

Сетевые энтузиасты своими силами постепенно восстановили все его проекты (более 100 проектов в самых разных областях программирования и искусства). Последний его твит перед исчезновением, как реквием по программированию, таков:

programming is rather thankless. u see your works become replaced by superior ones in a year. unable to run at all in a few more.

До сих пор, несмотря на выступления _why за пределами Сети в реальном мире и на престижных мировых конференциях, активное участие в различных концертах и фрилансерскую работу, никто так и не сумел установить его реального имени или фамилии, равно как достоверно узнать, что же случилось c ним на самом деле.

По неофициальной информации от Ruby-разработчика, плотно с ним общавшегося, настоящее имя _why — Джонатан, и он скончался в 2010 году от рака горла. По словам этого источника, последние три месяца своей жизни он решил полностью посвятить своей семье, отключив все сайты, стерев свои проекты в сети, продав свой компьютер по дешевке и выдернув все сетевые шнуры и вилки, связующие его с внешним миром. Артист, посвятивший всю свою жизнь творчеству и программированию, рисованию и музыке, а также созданию методик эффективного обучения программированию других, в последние месяцы своей жизни жадно наверстывал упущенное, радикально отрекшись от сетевого мира и былых увлечений.

Как бы то ни было все на самом деле, отмечая очередную годовщину его таинственного исчезновения, все мировое сообщество Ruby уверяет, что его неоценимый вклад в популяризацию и развитие этого языка будет сохранен в сердцах программистов навсегда.

Впрочем, вспоминая о нем, сообщество делает это полностью в стиле самого _why — без грусти, тоски и ненужного трагизма, заочно передавая ему привет на его любимом Ruby:

thanks = thank.person("_why")

thanks.append("~chunky bacon")

Как, улыбаясь, говорит Матц, создатель языка Ruby, даже после своего исчезновения он продолжает подшучивать над нами всеми. Например, журналисты уже замучили создателя Ruby дурацким вопросомрекурсией: But why mister _why had disappeared?

Вместо заключения

Необоснованные утверждения многих источников, которые цитирует и Википедия, о том, что _why — это 24-летний веб-разработчик Jonathan Gillette, не выдерживают никакой критики. И не только потому, что сам Jonathan Gillette категорически отрицает это, но хотя бы просто потому, что он не знает и не использует Ruby в своей работе (о боже, он PHP-программист!). К тому же данный разработчик весьма символично работает на обычной офисной работе, тогда как Ruby «rock star» _why всегда повторял:

Ходить на работу в офис это как смотреть телевизионные сериалы по вечерам, жизнь — это слишком большая роскошь, чтобы тратить ее на осуществление чужих планов или потребление примитивных телевизионных фантазий.

Дурной пример заразителен: вслед за _why под впечатлением его поступка подобный же акт «сетевого самоубийства» совершил один из ведущих евангелистов Python-комьюнити, Марк Пилигрим (автор знаменитой книги «Dive into Python»), который полностью порвал с проектом Python. Но это уже совсем другая история...

Закончить хочется твитом самого _why, у которого дотошный репортер однажды спросил, чем он, черт побери, вообще занимается? На что тот лаконично ответил: «хакаю хакерство». Чуть позже он написал твит, который отвечал и на все остальные вопросы:

Когда вы ничего не создаете, вас определяют чужие вкусы и мнения, а не ваши возможности. Эти вкусы только ограничивают и отдаляют людей. Поэтому — творите.

ГЛАВА 11. История Рона Авицура: секреты нематериальной мотивации

Речь пойдет о нематериальной мотивации, которую мы сегодня рассмотрим на примере «медленных программистов» (движение slow programming). Общая суть этого общественного движения в медленном, вдумчивом программировании своего идеального продукта без какихлибо встречных компромиссов. Чаще всего коммерческая разработка плохо или никак не подходит для такого «эстонского» стиля кодирования, поэтому чаще всего человек реализует его за свой собственный счет в рамках домашних «пет-проектов», повторяюсь, избегая любых компромиссов или уступок в ущерб своему чувству перфекционизма.

Думаю, большинство читателей сразу гневно возразят: это слишком ненормально, чтобы быть правдой, — кто так работает в реальном мире? В связи с этим поясняющая цитата от известного в узких кругах программиста-коммуниста Лекса Кравецкого:

По неясной причине в интернетах регулярно проскальзывает мысль в форме «всем известно» на тему «кроме как за деньги, никто качественно свое дело делать не будет».

Вроде посмотришь по сторонам — регулярно же делают. Огромные толпы авторов, например, совершенно за так пишут статьи, стихи, рассказы и не менее за так их раздают направо и налево. Куча народа что-то там рисует, фотит, 3д-моделит, программит и снова за так раздает. Безо всякой тени надежды получить за это деньги. Безо всякой тени надежды, повторюсь, — тут даже намерений нет, не то что контракта. При этом оные товарищи шлифуют ими замостряченное порой до степени, временами и не снившейся товарищам на зарплате. И все из-за чего? Из-за интереса, знамо дело.

Медленное программирование

Итак, популярное на Западе движение cлоулайферов начинает проникать в ИТ, где оно породило свой собственный по отношению к коммерческому мейнстриму контртренд — медленное программирование. Это движение ориентируется не на дедлайны и отношения, выраженные критерием время/извлеченная выгода, а (о черт, далее — ненормативная для бизнес-среды лексика) исключительно на совершенство.

Медленное, вдумчивое программирование, осторожный и минимальный рефакторинг, никаких компромиссов между совестью и представлениями клиента, никаких окриков руководства и бесконечных митингов. Лишь кропотливый поиск максимальной эффективности решения и, конечно же, получение личного кайфа от такого рода медитативного программирования.

Часто происходит так: затянули проект, провалили все сроки, упорно «делали все на совесть», но оказалось, что все не так просто, как предполагали на этапе постановки задачи... Короче говоря, в конце концов всех уволили. Существует огромное количество подобных историй, но сегодня я расскажу лишь одну — про Рона Авицура (Ron Avitzur), программного инженера Apple. Вернее, уже бывшего инженера этой компании, хотя потом они его попытались нанять снова... Но давайте лучше по порядку.

Рон Авицур принимал участие в создании первых версий MacOS. Конкретно Рон отвечал за разработку калькулятора, встроенного теперь в эту ОС, но тогда все находилось еще в зачаточном состоянии. Сроки по созданию нового инновационного визуального калькулятора, концепцию которого, собственно, и разработала группа под руководством самого Рона, постоянно сдвигались.

Концепция была настолько нова, что задача состояла не только в том, чтобы «запрограммировать это», а скорее сводилась к поиску «как это вообще сделать». Творческий процесс программирования и разработки концептуально новых приложений — штука сложная сама по себе, но это вдвойне сложно, когда этот процесс монопольно контролирует менеджмент, нацеленный на жесткие сроки, отчетность, обязательства перед партнерами, прибыль... В общем вы поняли.

После очередного переноса сроков сдачи проекта Рона его закрыли (проект, а не Рона). Навсегда. Всех программистов его группы уволили, а менеджеров наконец перебросили «на более серьезные задачи». Предварительно менеджмент пытался спасти ситуацию, уговаривая Рона на компромисс: остановить разработку концепта и сделать более-менее обычный калькулятор с отдельными элементами былых задумок, ужавшись до требуемых сроков. Но Рон не видел никакого смысла в создании «еще одного калькулятора», поэтому сказал «нет».

Рон вспоминает, что этот день никак не выделялся: они, как обычно, сидели, погрузившись в работу. Зашедший старший менеджер очень кратко объяснил ситуацию, принятое решение и указал на коробки в углу, которые из-за крайней занятости так и не успели убрать со времен вселения в офис.

Собственно, тут и начинается настоящая история знаменитого графического калькулятора.

Проникновение в Apple

Команда проекта собрала вещи и разъехалась по домам. Но не так-то просто отделаться от некоторых программистов, одержимых своим проектом. Даже такой компании, как Apple.

В соответствии с установленным распорядком в последний рабочий день Рон должен был явиться к старшему менеджеру и запросить окончательный расчет за ранее оказанные им услуги, запустив процедуру официального увольнения. Рон понимал, что эта процедура приведет к его официальному уходу из компании, после чего его попросят сдать ID-бэдж, используемый в Apple в качестве входного пропуска. Рон решил перехитрить систему — он не пришел за своим расчетом, взамен оставив себе собственный валидный ID-бэдж. В больших компаниях вроде Apple не так-то просто уследить за тем, получили ли все люди расчет. Обычно люди сами давали знать, что им должны деньги, это и запускало, в частности, процедуру увольнения. На этот раз «установка по умолчанию» не сработала.

Идея Рона была проста: продолжить разработку графического калькулятора, плавно переведя ее в стадию подпольной. Чуть позже к негласной разработке присоединились коллеги Рона, хотя до конца пути дошел только один из них — Грег Роббинс (Greg Robbins). Рон и Грег отказались от всех предложений о новой работе, после чего решили использовать собственные средства для продолжения разработки проекта. Позже на образовательном семинаре Google, куда Рона пригласили рассказать необычную историю своего проекта, он говорил, что тогда у него была лишь одна идея фикс: сделать самый лучший графический калькулятор в мире, и он стремился завершить работу над ним до выхода нового «Макинтоша» любой ценой.

«Я просто не мог бросить все на полпути, я был обязан довести этот проект до конца. Мы знали, что это будет лучший калькулятор, оставалось лишь доказать это другим».

Таким образом, они ежедневно тайком ходили на свою уже бывшую работу, приходя намного раньше других и уходя позже всех, чтобы особо не попадаться на глаза менеджерам. И если в самой Apple уже были прототипы новых Маков, то вне стен компании их еще не существовало в природе, поэтому разработчики калькулятора и использовали свои ID-бэджи, чтобы продолжать разработку в своем бывшем офисе в здании Apple.

Смотреть сквозь пальцы…

Подобная тайная и неофициальная работа была достаточно распространенной ситуацией в Apple того времени. По словам Рона, «в то время контора буквально кишела фанатиками». В качестве примера Рон вспоминает, что в другом конце здания такие же уволенные ранее инженеры Apple продолжали упорно развивать проект Spectre — также официально закрытый. Все рядовые сотрудники знали, что в здании полно подобных «волонтеров», но предпочитали их не только официально не замечать, но даже наоборот — помогать всеми возможными способами.

В сентябре 1993 года, когда проект уже был готов на 90 %, вдруг произошло неожиданное: руководство Apple решило нанять новых людей и посадить их в официально пустующий кабинет, в котором работали Рон и его друзья. Представим: неожиданно явившиеся в комнату менеджеры застукали там всю небольшую команду Рона. Работа в 12-часовом режиме привела к тому, что команда ела и спала прямо в офисе, и комната была заставлена спальными мешками и неким запасом продовольствия. Общие небритость и красноглазие присутствующих только увеличивали степень подозрительности всего происходящего в здании, находящемся под охраной.

Делаю эту историю короче — на этот раз сотрудники безопасности Apple аннулировали пропуска Рона и его друзей, окончательно оборвав пуповину, связывавшую их с бывшей компанией.

Остаться или уйти?

Конечно, личный ID-бэдж был навсегда потерян, но зато осталось множество добрых друзей, готовых помочь словом и делом. Еще два месяца Рон и команда продолжали незаконно проникать в здание Apple, используя помощь друзей, которые проводили их в качестве посетителей, а иногда и вовсе делились своим бэджем. Минимальные перемещения в коридорах здания ранним утром и поздним вечером по заранее разработанным наикратчайшим маршрутам отчасти нивелировали опасности такого рода работы.

Развязка этой истории произошла в октябре 1993 года, когда продукт был полностью готов и его решили представить высшему менеджменту Apple. Через цепочку знакомых Рон вышел на руководство фирмы, которое назначило дату приемки проекта. Презентация прошла великолепно, продукт был оценен по достоинству и сразу же утвержден на включение в Mac OS. Единственная заминка вышла под конец, когда разработчиков попросили завершить протокол утверждения продукта. Рон вспоминает, что тогда прозвучало много «странных» для их ситуации вопросов, как то: «В какой группе вы работаете?», «Кто ваш непосредственный руководитель?», «Где ваш утвержденный график развития продукта?», «Почему мы не видели этого раньше?» и прочие, и прочие, и прочие.

Несмотря на весьма длинный и запутанный разговор в тот вечер, после небольшой адаптации и мелких изменений проект был полностью утвержден в январе 1994-го — отныне Graphing Calculator стал официальной частью компьютера Макинтош.

В общей сложности он разошелся тиражом свыше 25 миллионов экземпляров, при этом проект не только не существовал официально, но не имел вообще никакой документации и спецификаций.

«Поскольку у нас не было менеджеров, то не было и совещаний и мы могли быть невероятно продуктивными. Нам не нужно было писать ничего лишнего, кроме самой программы. Поскольку мы были единоличными цензорами и создателями в полной мере своего продукта, мы могли позволить себе искать, экспериментировать, а также переделывать калькулятор ровно столько раз, сколько это было нужно для воплощения его идеального образа».

Чтобы прочувствовать общую атмосферу такого образа жизни, вот еще один типичный диалог того времени со случайно встреченным менеджером Apple, в изложении Рона:

— Вы здесь работаете?

— Нет.

— То есть вы на контракте?

— Нет на самом деле.

— А кто ж вам платит?

— Никто.

— А как же вы живете?

— Да вот, просто живу.

Жизненный принцип

Рон и его история стали широко известны после недавнего выступления перед работниками Google в центральном офисе. Ирония этого выступления — в откровенном признании Рона в том, что он, скорее всего, не смог бы работать в столь жестких административно-командных условиях, как это принято в Google.

Рон стал одной из икон медленного программирования: он отказался от нескольких предложений потрудиться на крупные компании и заработать кучу денег, чтобы реализовать собственный фундаментальный труд. И даже когда триумф его графического калькулятора стал очевиден и почти родная ему компания Apple захотела подписать с ним контракт на постоянную работу, он ответил отказом.

По словам Рона, «не было смысла начинать эту историю заново».

Отчасти из-за этого отказа работать на компанию яблочный гигант так и не смог наладить поддержку и развитие графического калькулятора (еще раз — команды разработчиков этого проекта официально никогда не существовало), поэтому через несколько лет его сменила собственная альтернативная разработка — Grapher. Тогда Рон основал собственную компанию и стал продавать графический калькулятор под новым брендом NuCalc, который со временем был портирован и под Windows (Рон шутил, что выход Windows-версии так затянулся из-за повышенной политики безопасности здания Microsoft в Редмонде), став в итоге одной из самых популярных программ в нише трехмерных визуальных калькуляторов.

Как признает Рон, коммерческий успех его калькулятора отчасти был обусловлен бесплатной многолетней рекламой программы и ее концепции в составе «Макинтош», что породило целое поколение специалистов, взращенных на этом визуальном инструменте (аналогов которому в то время не существовало). Поэтому тот факт, что Apple почти ничего не заплатила Рону за разработку такого продукта, был с лихвой компенсирован возможностью спустя пару лет подхватить разработку уже ранее раскрученного «большой компанией» продукта и в итоге создать, как сейчас бы сказали, собственный исследовательский стартап.

Рон резюмирует философию своего образа жизни:

Я серьезно увлекаюсь йогой, в которой одним из важнейших элементов является способность расслабляться и наслаждаться моментом «здесь и сейчас». Это неизбежно отражается на моей работе — сейчас, как и 10 лет тому назад, я по-прежнему предпочитаю работать в свое удовольствие, делая свой собственный продукт, реализуя его так, как вижу и чувствую эту концепцию я сам.

Его спросили — в чем главный секрет успеха?

В умении доводить все начатое до конца, в умении не сдаваться перед трудностями, какую бы экзотическую форму они ни принимали. В свою очередь секрет этой способности — искренне любить свою работу, каждый момент своей жизни, переживая на опыте, что вы создаете самый лучший продукт и осуществляете свою мечту, — этим вы реализуете все самые лучшие черты своего характера.

Полностью эту историю можно прочитать в авторском изложении на сайте Рона [1 http://www.pacifict.com/Story/] либо посмотреть видеозапись выступления-рассказа о его приключениях и принципах на конференции Google TechTalks. [2 https://www.youtube.com/watch?v=GMyg5ohTsVY]

ГЛАВА 12. Фейсом об тэйбл: приключения Intel в России

Возможна ли своя Кремниевая долина в России? Есть ли будущее у «Сколково» или его аналогов? Что двигает инновации и ИТ вперед? Чего не хватает нашим широтам для высокотехнологического прорыва?

В этой краткой и грустной истории на колоритном местном примере я попробую ответить на эти простые, но важные для любого государства вопросы. В качестве примера я выбрал славный российский инноград «Сколково», в котором относительно недавно встретили-проводили высокопоставленного представителя Intel, прибывшего в РФ с очень перспективным многомиллиардным проектом. Это история всего одного дня (18 апреля 2013 года) из жизни «Сколково» — передового российского инновационного инкубатора с сильным креном в ИТ и HiTech-технологии, по идее, призванного стать местным аналогом американской Кремниевой долины.

Вдыхая благоприятный  инвестиционный климат

Для подписания важного многомиллиардного контракта рано утром 18 апреля в Москву прилетел высокопоставленный топ-менеджер Intel Дасти Роббинс (Dusty Robbins, General Manager, Operations and Global Programs at Intel). К сожалению, Дасти суждено стать главным действующим лицом нашего дальнейшего повествования. А «к сожалению» добавлено лишь потому, что дальнейшие события развивались головокружительно для этого высокопоставленного американского гостя.

Будучи истинно деловым человеком, решительно отложив все формальности с гостиницей и завтраком в сторону, Дасти Роббинс первым делом поехал в фонд «Сколково», где собирался вместе со своими партнерами начать важные переговоры. Так уж получилось, что в этот самый день в научград «Сколково» решил подъехать спецназ Следственного комитета РФ, дабы сделать «выемку важных для следствия документов».

Как уже, вероятно, догадался читатель, их пути трагически пересеклись.

Характеризуя произошедшие далее бурные события, разные свидетели говорят, что во время данного «маски-шоу» сотрудников фонда «Сколково», как это водится, бережно укладывали лицом в пол, кроме того, было дано стандартное для военных распоряжение — «всех впускать, никого не выпускать».

Обыск и изъятие документов проводили рядовые офицеры и спецназ СК в свойственной силовикам манере — много женского визгу, растяжки из людей вдоль стен, бегающие по коридорам агрессивные и матюкающиеся существа в масках, стопки бумаг, спешно выносимые из кабинетов неизвестными и в неизвестном направлении.

В возникшей кутерьме вместе с остальными сотрудниками офиса Роббинса также «очень настойчиво попросили» посредством болевого приема сдать свой мобильный телефон и документы. Следует лишь констатировать, что он, пав от обаяния и грациозности незнакомых ему людей в масках, не смог отказать им в этом.

После чего его заблокировали в переговорной комнате, заставив неподвижно стоять в позе «руки-ноги врозь, лицом к стене», где он и провел довольно стремный час в ожидании окончания спецоперации по «восстановлению попранной законности и порядка».

Некоторое время спустя где-то в мозговом центре спецоперации, после того как американские документы Роббинса попали на глаза кому-то из гражданских руководителей шухера, про топ-менеджера Intel внезапно вспомнили. Согласен, все-таки бортануть такого уважаемого инвестора — это уже слишком, рассудили siloviki, чай это вам не дорогого россиянина какого по полу ногами катать...

После этого в сопровождении вооруженных калашами офицеров СК безвольный организм перепуганного гражданина США под руки вынесли (вперед ногами, если кого интересуют такие детали)  на свежий воздух. Там его, вообще не понимающего, что происходит, ожидающего уже самого худшего и мысленно попрощавшегося со всеми родными, близкими и далекой заокеанской колыбелью демократии, вооруженные люди в масках доверительно на чистом русском языке крайне убедительно попросили «дожидаться окончания следственных действий на этом месте». Ничего не понимающий по-русски американский менеджер интуитивно кивал и соглашался, соглашался и снова исступленно кивал («все подпишу, только не убивайте»).

И тут чекисты допустили свой самый обидный промах — они опрометчиво вернули американскому инвестору его телефон и документы.

Если кто-то плохо представляет себе «Сколково», то это, сильно утрируя, одно огромное гротескное здание посреди большого русского поля, поросшего редкой травой, изредка поблескивающего пустыми бутылками от пива. По задумке силовиков, топ-менеджер Intel должен был тихонечко посидеть на бревнышке возле парадного здания Фонда неопределенное время, пока таинственные люди в масках со знанием дела пофиксят пошатнувшиеся было в Фонде «законность и порядок», после чего позволят-таки ему войти обратно в офис для продолжения переговоров о вливании миллиарда долларов в матушку Россию...

Но что-то пошло не так

Во второй половине дня, когда хорошо помятых сотрудников фонда «Сколково» наконец освободили, они, отряхнув свои бизнес-костюмы от следов пыльных подошв сотрудников СК, вспомнили про видного американского гостя, которого «вроде бы даже уже кто-то где-то видел в здании “Сколково” хрипящим со скрюченными руками за спиной». Они бросились названивать мистеру Дасти, дескать, «наш разговор еще не окончен, не могли бы вы подъехать к нам в офис еще раз?». Они утешали его, доверительно сообщая, зачем-то переходя на шепот, что «эти плохие ребята уже ушли из офиса». Они клятвенно гарантировали ему полную безопасность, даже клялись мамой родной... но тщетно.

Выяснилось, что заморский гость, воспользовавшись дарованным судьбой шансом, буквально бежал с территории «Сколково», скрытно направившись мимо заказанной ему гостиницы прямиком в международный аэропорт «Шереметьево». В момент звонка сотрудников Фонда он уже проходил посадку на обратный рейс в США, затравленно оглядываясь по сторонам и мысленно крестясь на чуждый нам неправославный манер.

Насколько известно со слов очевидцев этого происшествия, Дасти был всерьез напуган и ни за какие коврижки не хотел возвращаться в офис «Сколково». И несмотря на все уговоры, гарантии и извинения самых различных руководителей и партнеров, он все же спешно покинул территорию России.

К сожалению, никто не сможет описать нам этот пронзительный момент: рыдал ли слезами умиления этот топ-менеджер Intel, шептал ли он про себя родной гимн «And the Star-Spangled Banner, in triumph doth wave, Over the land of the free and the home of the brave», глядя в иллюминатор, когда самолет плавно поднимался в небо, делая традиционный прощальный маневр над «Шереметьево».

Бьют — значит уважают

Интересно, что олигарх Виктор Вексельберг, президент «Сколково», с которым Дасти должен был провести свою главную встречу, так и не появился в «Сколково» в этот день, но, как утешительно сообщает фонд «Сколково», он сделал это «по уважительной причине». Вероятно, после первых часов «маски-шоу» американец Дасти также смекнул, что этот русский Виктор здесь сегодня не появится. Вероятно, лежа на полу и вдыхая кабинетную пыль «Сколково», он тоже подбирал убедительную «уважительную причину», чтобы по возможности покинуть это мероприятие. А может, будучи выброшенным со здания «Сколково» офицерами СК, он просто что-то смутно вспомнил из виденных еще в детстве фильмов про русскую мафию или загадочную русскую душу, поэтому выбрал бежать огородами при первой возможности.

Как бы то ни было, об этом эпизоде своего бизнес-сотрудничества со «Сколково» даже по прошествии уже полугода Intel не спешит распространяться, не давая никаких конкретных комментариев по поводу произошедшего тогда. Из-за чего мне пришлось эту драматическую историю собирать буквально по крупицам на уровне фольклора, что называется, полностью из неофициальных источников, основываясь на отрывочных высказываниях разных людей.

Не будем винить менеджера Дасти за такое малодушие, все-таки бедняга дрогнул уже перед самыми первыми российскими трудностями, а ведь впереди его ждало... вне всяких сомнений, большое и яркое сотрудничество, еще больше ярких эпизодов и запоминающихся нанотехнологий. Но... не так-то просто начать бизнес с Россией, как минимум нужно еще знать, кому и как передать деньги безопасно.

Велика Россия, а инвестиции пристроить некуда

Чтобы оценить масштаб ИТ-проектов, с легкостью поставленных чекистами под сомнение, давайте немного отмотаем ленту назад. Ранее корпорация Intel уже получила статус резидента «Сколково», и сделано это было для открытия собственного центра научно-исследовательских и опытно-конструкторских работ (НИОКР).

Предполагалось, что региональный центр исследований и разработок Intel войдет в состав ИТ-кластера «Сколково» и в рамках направления «Стратегические компьютерные технологии и программное обеспечение» будет ориентирован на решение следующих трех основных задач:

• разработка и внедрение параллельных моделей программирования, облегчающих использование современных многоядерных систем;

• создание новых многофункциональных мультимедийных систем для автомобилей (In-vehicle Infotainment Systems), что интересно, с поддержкой сервисов ЭРА ГЛОНАСС и на базе открытой программной платформы Tizen, которая принята в качестве стандарта альянсом автопроизводителей GENIVI;

• создание архитектуры и элементов неоднородных беспроводных сетей для будущего Интернета.

Используя этот сколковский плацдарм, Intel собиралась развить бурную деятельность в регионе EMEA. При этом вице-президент группы программных продуктов и сервисов Intel, а также генеральный директор отдела продуктов для разработчиков ПО Уильям Сэвидж ранее сообщил, что для корпорации Intel получение статуса резидента является большой честью, а также имеет исключительную практическую важность.

Еще в преддверии красочного «маски-шоу» в исполнении российских силовиков он сказал российской прессе:

Мы много инвестировали в «Сколково» и хотим узнать, что из себя представляют другие участники. Хочется иметь как можно более полное, детализированное представление обо всем, что касается «Сколково». Нашей основной целью является поддержка экономики России, особенно ее инновационного сегмента, что позволит нам развивать свой инновационный сегмент бизнеса в России.

Симптоматично, что в день, когда следователи проводили в офисе «Сколково» энергичную выемку документов, по ходу пиная под зад зазевавшихся в коридорах инвесторов, в том же здании ЦМТ на другом его этаже проходил организованный Сбербанком форум «Россия-2013». Одно из его пленарных заседаний так и называлось: «Инвестиции в Россию: что определяет решения инвесторов сегодня?».

Выступающий там первый вице-премьер РФ Игорь Шувалов заунывно повторял как мантру: «Россия — более комфортное и надежное место для инвестиций, чем многие другие страны». Своим бодрым голосом он немного приглушал тревогу иностранных гостей от звуков работающего этажом ниже спецназа СК, «производящего выемку документов» с женскими воплями и звуками падающих челом вниз тел инвесторов.

«На его месте мог бы быть я»

Печально, что на этих драматически прерванных переговорах речь должна была идти о расширении штата исследовательского центра Intel в иннограде «Сколково» до 200 человек. По словам источника газеты «Власти», в руководстве самого фонда речь идет о потере как минимум 1 миллиарда рублей. Также стало известно, что представитель другой крупной американской ИТ-компании, который должен был приехать на аналогичные переговоры уже на следующий день (предположительно, речь идет об IBM), отложил свой визит на неопределенное время — «до решения возникших проблем».

После этого эпизода именно представители IBM высказались в том духе, что Россия должна доказать мировому сообществу безопасность вложений в свои проекты. «Люди должны быть уверены, что их будет поддерживать государство», — говорит Иен Симпсон, директор Российской лаборатории систем и технологий IBM. В планах компании было вложить в «Сколково» еще 100 миллионов долларов, доверительно сообщает нам в прошедшем времени новостное агентство Bloomberg.

«В связи с этим эпизодом компания Intel крайне обеспокоена и пристально следит за “колебаниями”», — говорит ее пресс-секретарь Чак Маллой. Он поясняет, что в американской корпорации ожидают, что российские власти ясно и четко видят пути развития «Сколково». Однако, как вслед замечает Bloomberg, в современной России подобная ясность — явление редкое и исключительное.

Короче говоря, пока одни отмалчиваются, приходя в себя от шока «колебаний», другие пытаются осторожно подсчитать потенциальные потери.

Пока еще рано говорить о последствиях этой истории с полной определенностью (хотя, по предварительным данным, Intel сворачивает свои проекты в «Сколково»), многие другие компании также замерли в молчаливой нерешительности. И хотя многие в упор не видят ничего предосудительного в аресте ими же приглашенных на правительственном уровне инвесторов (ну, не принято в среде чекистов расшаркиваться перед каким-то заморскими «сопляками»), я думаю, что настало время задуматься всерьез о нашем брутально-благоприятном инвестиционном климате, пока от его ошметок хоть что-то еще осталось.

ГЛАВА 13. Молчание гуглят, или Гроздья народного гнева

9 декабря 2013 года в самом центре Сан-Франциско средь бела дня на пересечении 24-й авеню и улицы Валенсии неизвестные, переодетые в светоотражающие жилетки с надписью «Муниципальная дорожная служба», заблокировали частный автобус, принадлежащий центральному офису Google.

Этот огромный двухэтажный комфортабельный автобус (такой тип автобусов американцы называют шаттлами), загруженный доверху программистами, следовал из жилого микрорайона Mission в центральный кампус Google — Маунтин-Вью. Неизвестные люди окружили автобус со всех сторон, а при попытке уехать — заблокировали его движение назад своими машинами.

Незнакомцы в резкой форме потребовали открыть двери автобуса, водитель набрал на своем телефоне 911 и попытался закрыть двери... Но было уже поздно.

* * *

Сделавший краткую остановку огромный gBus был застигнут врасплох — только открылись передние двери автобуса, чтобы принять ждущих на остановке, как тут же началась непонятная движуха вокруг.

Через переднюю дверь в салон автобуса быстро втекает первая активистка.

Постоянно улыбающийся водитель-пижон подчеркнуто вежливо, но настойчиво предлагает ей покинуть салон. Активистку сопровождают три оператора местных телеканалов, сама активистка просит внимания недовольных пассажиров всего на одну минуточку.

«У меня есть петиция для вас», — пытается перекричать она всех. На переднем сиденье виден хмурый сотрудник Google с переломанными ногами и с костылями (хочется надеяться, что это не результат подобных встреч в прошлом), весь вид которого явно выражает, что он тоже очень спешит покодить на работе.

Водитель-негр мягко выдавливает девушку на выход, как бы заочно не соглашаясь с ее загадочной петицией, которой она гневно размахивает перед своим лицом.

На лестнице на второй этаж шаттла молодой подвижный очкарик снимает происходящее на огромный фаблет. Он зло огрызается, когда активистка поворачивается к нему: «Это частная территория, не надо нам ваши петиции, давай, проваливай отсюда побыстрее. На работу опаздываем».

Девушку наконец выдавливают из шаттла, gBus включает аварийку и начинает медленно отваливать из этого дурдома.

Толпа активистов громко скандирует, размахивая плакатами типа «Осторожно: двуликая система» или «Общественные доллары, а доходы частные», шумно прощаясь с уходящим вдаль прекрасным автобусом, наполненным «людьми, испорченными деньгами».

Митингующие провожают их дружными криками вслед: «See you later! More to come!» Шаттл медленно удаляется, на протестующих через двойные затемненные стеклопакеты продолжают смотреть немного заспанные гуглеры, которые беззаботно твитят о социальном хаосе вокруг.

Э, че происходит? На работу опаздываю

Прежде чем продолжить освещение самых настоящих битв на улицах Сан-Франциско, давайте немного остановимся, чтобы сделать минимальное введение: что вообще происходит, кто эти люди и что им всем от Google надо?

Данный протест организовали две местные общественные организации, которые объединились под лозунгом «Против технологического бума, который разъедает инфраструктуру города».

Если оставить уже порядком надоевшую всем местным обитателям Таможенного союза тему социальной сферы, которую «неведомые ураги» безнаказанно объедают вдоль и поперек, «паразитируя на наименее незащищенных слоях населения», то претензии заморских протестующих можно свести к следующим конкретным обстоятельствам:

• Сильно возросшая стоимость жилья и его аренды. Близость Силиконовой долины, которая притягивает массы высокооплачиваемого народа со всей страны (или мира), заставило арендную плату в Сан-Франциско взлететь до просто фантастических величин. Это в свою очередь очень больно бьет по коренным обитателям города (которым и не снились зарплаты местных программистов), приводя к массовым выселениям и банкротствам домохозяйств.

• Халявное использование общественно-социальной инфраструктуры. На примере транспорта можно сказать, что компании Кремниевой долины используют «без разрешения города» (по мнению протестующих) дороги Сан-Франциско и более 200 муниципальных автобусных остановок, при этом они не платят ни копейки в городской бюджет «за интенсивное использование городской дорожной инфраструктуры». Это касается почти всех крупных ИТ-компаний: свои шаттлы есть у Facebook, Twitter, Apple и других известных компаний. Но Google в качестве цели выбрали неспроста — своим роскошным образом жизни они перебивают все остальные названные компании вместе взятые.

• Удорожание всего и вся. Соседство таких богатых ИТ-компаний приносит аборигенам большое количество бед. Например, компания Google сняла сразу несколько лучших тренажерных залов в городе для нужд своих сотрудников. В реальности сотрудники Google настолько заняты и задолбаны своей работой, что вообще не появляются в этих залах. Эти залы стоят вечно закрытые с табличкой на входе «Зал арендован для частного использования». Местным же приходится довольствоваться худшими залами, цены на абонемент в которые из-за повышенного спроса взлетели уже более чем в два раза.

Другой известной городской легендой Сан-Франциско стал мощный сигнал Wi-Fi у гугловского шаттла — про него рассказывают самые невероятные вещи. Например, люди жалуются, что их реальность и самооценка деформируются, когда их каналы связи «падают», если рядом по улице проезжает gBus.

Мы опустим душераздирающие подробности колоритных рассказов, когда подобный шаттл причаливает к местным гипермаркетам, чтобы потратить немного гуглобаксов, — это зрелище наносит настоящие душевные травмы аборигенам.

Сюда каскадом накладывается много другого негатива. Например, на фоне общей безработицы идет жесткая рекрутинговая война ИТгигантов друг против друга прямо у всех на виду. Так, недавно компания Yahoo нагло обклеила все остановки, где только появляются шаттлы, объявлениями, заманивающими материальными благами одиноких зазевавшихся гуглистов в свое «логово».

Часто мало зарабатывающий или безработный местный обыватель, еле сводящий концы с концами, наблюдает за этой плотной позиционной войной за головы его обидчиков с плохо скрываемым раздражением.

Та же компания Google проявляет бешеную активность в переделывании инфраструктуры Сан-Франциско под собственные нужды.

Например, на улицах города появилось большое количество новых частных знаков, установленных специально «для служащих Google». Фактически уже сейчас собственная разметка Google параллельна всей муниципальной дорожной разметке.

Но довольно примеров — им несть числа. Предельно кратко и лаконично позиция местных жителей изложена в листовках, которыми закидывают шаттл и его пассажиров:

В случае, если вам интересно, почему это происходит именно с вами, постараемся изложить свою позицию максимально ясно. Люди вне автобусов Google подают вам кофе, присматривают за вашими детьми, занимаются с вами сексом за деньги, готовят вам еду, а их выселяют из их жилищ. Пока вы жиреете, как кабаны, в своих бесплатных круглосуточных 24/7 буфетах, все остальные отдают последнее, чтобы просто существовать в этом мире дороговизны, который строите вы и ваши приятели.

Фактически все жители Сан-Франциско и особенно его окрестностей, таких как Окленд, четко разделились на две касты. К первой относятся молодые успешные программисты, работающие на компанию Google и другие ИТ-компании и стартапы залива. Ко второй, низшей, касте относятся все остальные — это коренные жители города.

Больше всех пострадали люди творческих профессий, такие как артисты, художники, преподаватели и прочие горожане, которые в свое время создали уникальную атмосферу культурного богатства этого известного калифорнийского города.

По мнению протестующих активистов, подобно жадному крокодилу, заезжие программисты нагло пожирают чудесный солнечный мир Сан-Франциско прямо на их глазах.

«Гаденыш»

Но вернемся обратно в грохот и скрежет городской битвы.

Шаттл благополучно отчаливает от мостовой, где несколько минут пребывал в оковах осады, и вдруг все репортеры бросаются на другую половину улицы, туда же устремляется и бойкая толпа активистов в салатовых жилетках. Толпа конденсируется вокруг одинокого молодого человека в очках и с рюкзаком.

О боже! Это одинокий гуглер, ждавший gBus на остановке рядом! Толпа перекрыла ему путь к высокотехнологичному спасительному ковчегу, позорно отчалившему от остановки. Но вы только посмотрите, несмотря на всю безвыходность ситуации, наш гуглер ведет себя очень уверенно, я бы даже сказал — вызывающе смело.

Местные телерепортеры охотно записывают импровизированное интервью — его словесную перепалку с активистами митинга.Вот моя примерная транскрипция главной сути этого диалога из видео. [1 https://www.youtube.com/watch?v=8yc6z2oSPdQ]

Активистка: Я не могу заплатить за свою квартиру...

Гуглер (перебивая): А я вот могу заплатить. А вы не можете? Это наше отличие. Тогда сваливайте в такой город, где вы сможете это делать.

Активистка: Но мне нравится Сан-Франциско...

Гуглер (перебивая):  Мне тоже нравится, это город для правильных людей — для тех, кто может себе это позволить. Эта концепция ясна? (обращаясь к толпе) Вы не можете себе это позволить? Пора отчаливать отсюда, ребята. Не можете оплатить жилье? Да, это фигово. Тогда найдите работу получше. Самосовершенствуйтесь, развивайтесь... (пауза) А лучше просто валите отсюда.

Воинственный гуглер удаляется от протестующих прочь, прикрываясь рукой, жестом демонстрируя «не хочу ничего больше видеть и слышать». «Отстаньте от меня, кучка жалких неудачников», — ворчит он.

Вы только представьте эту картинку на местных американских телеканалах. Вечером уставшие после долгого дня многочисленные трудяги наконец доползают к своим телевизорам. Нервированные свежими счетами, присланными с дневной почтой, наконец они заваливаются на диван, чтобы немного отвлечься от текущих проблем и неспешно просмотреть последние новости, параллельно распив одну-две баночки пива.

А тут этот наглый гуглер — это же само исчадие ада, настоящий очкастый упыреныш, прямая антитеза простому и тяжелому трудовому быту старшего поколения. Но новостной сюжет еще не окончен, в кадр попадает заполошная старушка:

Они пьют кровь из нашего штата. Этот молодняк получает сумасшедшие зарплаты, при этом они никак не участвуют в жизни города, в котором живут. С этим надо что-то делать!

Но подождите, кто этот парень?

Жаждущий хлеба и зрелищ обыватель, боязливо жмущийся в тень закоулков, в целом согласен с категоричной фабулой сюжета: «Ктото должен поставить на место этих оплывших жиром (деньгами) парней, ведь все наши беды из-за таких, как они». Эта простая и плоская мысль никак не жмет своей глубиной черепную коробку реднека.

Правда, некоторые, просматривая видео с провокационным выступлением взятого живьем программиста, высказывают первые робкие сомнения в его аутентичности. Известный в Америке светский репортер Кевин Руз твитит уже спустя 30 минут после инцидента:

«Ставлю 10 баксов на то, что чувак из Google — подстава».

Другие же, наоборот, доколупываются к степени гиковости чувака. Так, девушка Кетрин щедро делится через Твиттер своим богатым жизненным опытом и буквально лучится женской проницательностью в своих твитах: «Народ, посмотрите, он надел свой рюкзак поверх зимнего пальто. Весь мой жизненный опыт говорит, что на это способны лишь компьютерщики». Другой участник обсуждения вторит ей: «Самоуверенности выше края, мерзкая бородка и эти очочки — типичный кодер из долины».

Другое дело профессиональные журналисты — они охотятся за фактами. И таковые оказались даже более чем горячими! По сообщению Джоя Фитца Родригеза, застигнутый врасплох Googleboy — это профессиональный безработный актер, которого за чисто символический «прайс» наняли сами же активисты.

Он, как и большинство творческой интеллигенции, чувствует себя наиболее пострадавшим от компаний типа Google — их символические доходы на фоне бурного роста зарплат компьютерщиков/цен вокруг и вовсе стали смотреться неадекватно. Поэтому этот неизвестный актер согласился сыграть адвоката дьявола за половину от своей обычной ставки в качестве солидарности с протестующими. Прикольно, что после разоблачения актер уже открыто присоединился к протестующим, его можно наблюдать на многочисленных поздних видеопротестах.

Да, правда об этой инсценировке всплыла довольно быстро, но уже поздно, и это никого не волнует. Общественное мнение задыхается в приступе гнева. На местных форумах раздается единодушное народное: «Повинны смерти!»

Секретный «план Б»

Но вернемся снова на наше поле битвы — улицы Сан-Франциско.

В Google работают самые смышленые и высокочастотные люди планеты, поэтому в их головах быстро-быстро прокрутились варианты, в результате чего скомпилировался запасной «план Б». Теперь маршрут gBus был засекречен — автобус петлял по всему городу. Дорогущая, блестящая на солнце махина старалась не привлекать к себе внимание, двигаясь по второстепенным улицам и избегая узких улиц, на которых в прошлый раз этот шаттл был зажат в живые тиски возмущенными протестующими. Прекрасные адаптивные и когнитивные способности — это то, за что мы так любим Google и программистов, не правда ли?

Но Сан-Франциско — очень сложный, холмистый город. Поэтому «план Б» дал осечку уже на вторые сутки. Автобус с низкой посадкой «сел на мель» провинциальных улиц, после чего всех гуглеров пришлось СРОЧНО эвакуировать.

Второй раз «план Б» дал еще более опасный сбой — это случилось уже через неделю.

Стараясь объезжать крупные улицы и держаться подальше от больших скоплений людей (позаимствована гениальная стратегия Винни Пуха: «Я тучка, тучка, тучка, я вовсе не медведь»), все закончилось куда печальней — неизвестные доброжелатели выследили огромный и неповоротливый гугловоз и запустили в него огромной битой. Результат — выбитое двойное стекло. Последствия: все гуглеры психологически подавлены и запуганы, руководством снова проведена их СРОЧНАЯ эвакуация.

Отдельно подчеркну — это первая явно агрессивная выходка по отношению к гугловскому шаттлу и его в сущности абсолютно безобидным яйцеголовым обитателям.В Google работают очень смышленые ребята (я повторяюсь?), поэтому яйцеголовые ботаники с первого раза правильно приняли и проинтерпретировали полученное послание в виде биты. В результате в штабе «план Б» решили экстренно свернуть, не доводя дело до третьего инцидента, степень накала и так развивалась по нарастающей.

Молчание гуглят

Но вот что интересно — упорное уклонение Google от любого диалога или контактов с общественностью или прессой на эту тему. В этом смысле постановочный захват гаденыша-гугленыша толпой и озвученная им предельно прямолинейно гипотетическая точка зрения компании — это форсированная попытка сказать вслух то, «что и так все знают», устами неформального представителя компании.

Попробуем проиллюстрировать позу Google в качестве заткнувшего глубоко в землю голову страуса на одном ярком примере. Местное общественно-новостное агентство Mission Local официально обратилось к пресс-службе Google по электронной почте за комментариями о происходящем с их автобусами и получило довольно неожиданный ответ.

Вместо развернутого ответа лишь лаконичная реплика «Ugh...» — это просто обалденная реакция пресс-службы крупнейшей ИТ-компании (чаще всего Ugh — это реплика-выражение отвращения, например когда вы наступили на кусок г-на).

Затем копия письма было перенаправлена кому-то из исполнителей уровнем ниже, который и пообещал журналисту уже в своем ответном письме перезвонить, впрочем, так и не перезвонил. Оказывается, в Google категорически запретили своим сотрудникам комментировать что-либо, связанное с этой историей, сохраняя демонстративный игнор в отношении участившихся нападений на автобусы компании.

Сэм Сингер (Sam Singer), PR-эксперт из Сан-Франциско, говорит, что это хорошо известная тактика поведения публичных компаний в случае, если у стоящей проблемы в принципе нет решения, — лучше устраниться от каких-либо комментариев или высказываний, развязывая дискуссию:

Что бы ни было сказано или предпринято в такой ситуации, все окажется недостаточным и проигрышным в устах компании, еще больше повредив ее репутации.

Как бы то ни было, пока Google тянет резину, социальный протест разрастается и радикализируется.

Например, на окраине Сан-Франциско возле шикарных домов программистов начинают находить угрожающие несмываемые граффити, сделанные ночью прямо на тротуаре перед входом в дом.

Секретный «план В»

Но снова вернемся на поле битвы, где «план Б» потерпел неудачу.

На фоне полыхающего общественно-социального конфликта после очередного мозгового штурма представители Google рассказали прессе о новых планах по реформированию системы доставки сотрудников на рабочие места в Сан-Франциско.

Так, по сообщению CBS, поисковая компания заключила соглашение с частным перевозчиком и будет доставлять своих сотрудников из Сан-Франциско при помощи катеров по морю.

Таким образом, теперь основная часть маршрута пролегает по воде, кроме того, в Google согласились выплачивать по собственной воле символический 1 доллар за каждую остановку судов с ее сотрудниками государственному муниципалитету (многие восприняли последнее решение как открытое издевательство). Учитывая мотивацию и злой задор активистов, забегая вперед, думаю, что следующий ход — переброска своих сотрудников по воздуху.

Думаю, до этого вполне может дойти — на фоне ухода в полную «несознанку», эта дожимаемая местными социально ориентированными реднеками ИТ-компания не обращается ни в полицию, ни к самим активистам, игнорируя уже публичные призывы к джихаду против местных программистов.

Этим разжигается еще больший азарт безнаказанности и вкус к охоте на бегающих от них социально безответственных и уж больно денежных яйцеголовых.

Послесловие

Кстати говоря, о безобидных ботаниках: недавно компания Google прикупила компанию-разработчика военных роботов Boston Dynamics.

Также с недавних пор на остановках с gBus появились новые действующие лица, как правило, это два человека плотного телосложения, одетые под хипстеров с «улитками» в ушах. Многие полагают, что это частная охранная служба, которую таки компания Google наняла для обеспечения безопасности при транспортировке своих кодеров. Они проверяют бэджи всех грузящихся в автобус, общаться с прессой категорически отказываются, чисто визуально оружия у них не видно. Однако мускулистыми телами и властными манерами поведения они очень сильно выделяются на фоне мягкотелых g-пчел.

Кстати, в Facebook также не сдюжили и, не дожидаясь кровавой развязки, переводят транспортировку своих кодирующих людей в СанФранциско на водный транспорт. Продолжение следует?

Об авторе

Завершив обучение в спецклассе английского языка, автор окончил физмат и отслужил в ВДВ. Отработал программистом более 9 лет, последние годы трудился в качестве «сисадмина с расширенными полномочиями» (DevOps). В настоящее время, оставив программирование в прошлом, работает ИТ-журналистом и блогером. Его авторский «техноблог» входил в Top100 самых популярных standalone-блогов Рунета по версии «Рейтинга блогов» Яндекса.

Content

Игорь Савчук Отъявленный программист: лайфхакинг из первых рук

Оглавление

Введение

Часть I .  Прямая речь:  компьютерщики  о себе и ИТ

ГЛАВА 1. Ричард Столлман —  дзен свободного  программирования

ГЛАВА 2. Крис Касперски — Евангелие от Мыщъха

ГЛАВА 3. Андрей Чернов — сущности контроля

ГЛАВА 4. Сеть через прицел DPI — анатомия китайского Интернета

ГЛАВА 5. Джастин Франкель —  альфа-гик из Аризоны

ГЛАВА 6. Сергей Кищенко — программист-кочевник

ГЛАВА 7. Терри Дэвис — Господь сказал: иди и программируй

Часть II  Страна советов:  о программистской  карьере

ГЛАВА 8. Вся правда  о собеседованиях в Google: за пределами NDA

ГЛАВА 9. Чемоданные построения: Blue Card для айтишников

Часть III .  Айтишные истории

ГЛАВА 10. История одного программиста: ruby «rock star» мистер _why

ГЛАВА 11. История Рона Авицура: секреты нематериальной мотивации

ГЛАВА 12. Фейсом об тэйбл: приключения Intel в России

ГЛАВА 13. Молчание гуглят, или Гроздья народного гнева