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


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


* * *

Год назад я брал интервью у украинского программиста Сергея Кищенко, который постоянно дрейфует между континентами и культурами, создавая код в непрерывном движении во времени и пространстве. За спиной у Сергея осталось 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) в квартире.

Назад Дальше