Юрий Петранков в течение двух лет работал на Google в качестве TVC Senior Software Engineer; вернувшись в Минск, не сожалеет, что больше не является частью dream team, — сообщает dev.by. «Почему ты не работаешь в Google?» — задаёт он вопрос своим будущим слушателям. В Минске он вместе с друзьями основал курсы программирования Cron.is. В интервью dev.by Юрий объяснил, почему, несмотря на отличные рекомендации и многочисленные приглашения от менеджеров Google, больше туда не стремится. Спойлер: за два года Юрия дважды брали на работу и дважды увольняли, его проект одобрил сам Ларри Пейдж. По возвращении в Минск он остался без денег — но это не помешало ему начать своё дело.
Не 6 интервью, а 3: как устроиться в Google через контору-посредника
— Ответьте на вопрос, который сами же задаёте своим слушателям: «Почему вы не работаете в Google?»
— Для этого нужно рассказать мою историю работы на Google с самого начала. Но прежде я кое-что поясню: насколько мне известно, юридически есть два вида работников в Google — это TVC, то есть temporary vendor contractors или «вендоры», каким был и я, и собственно «гуглеры».
Отличие между первыми и вторыми в том, что «вендоров» нанимает на работу не Google, а другая контора — будем называть её Х. Её представители предлагают поручиться за тебя в Google — и ты вместо 6 положенных собеседований проходишь 3. Если преуспеешь, отправишься в офис Google и будешь работать там, отчисляя часть своей зарплаты компании Х. Поэтому я не могу говорить, что я работал в Google и был «гуглером», но я работал на Google и был там TVC Senior Software Engineer.
Я начал программировать ещё в 12 лет и к 17 твёрдо решил, что обязательно должен попасть в Google — туда, где работают боги программирования. Семь лет спустя у меня было немало проектов, но эта работа успела мне наскучить, потому что часто приходилось дело одно и то же. Хотелось серьёзного скачка. Но подаваться в Google самостоятельно было страшно.
— Как вы узнали о существовании компании-посредника?
— От друга. Он как-то рассказал мне о компании, которая может порекомендовать меня в Google. И я подумал: «3 собеседования — не 6, я их точно пройду и окажусь в дамках».
Первое техническое собеседование я завалил. Но буквально через неделю мне перезвонила сотрудница компании Х и сказала: «Человек, который проводил собеседование, разбил свою машину за 2 часа до интервью. Он был зол, и поэтому никто из тех, с кем он в тот день беседовал, не прошел. Мы аннулируем все результаты интервью — приходите к нам снова».
Я прошёл одно собеседование, второе, третье — и полетел в Америку. В Google меня определили на проект и поставили задачи: нужно было писать элементарные скрипты на JavaScript. Код очень простой. Но я так до конца не понял, как он работал: я упирался в библиотеку и не мог понять её бизнес-логику. Тогда я посмотрел, кто написал библиотеку, и понял, что эта команда всего в 20 метрах от меня: встаёшь со стула — и узнаёшь все, что тебе нужно. Я так и сделал, но в этот момент из-за угла вышел мой менеджер.
Тут нужно сделать сноску: если ты «вендор», у тебя обычно 2 менеджера — один из компании Х (будем называть его Х-менеджер), второй — менеджер Google. Мой Google-менеджер подошёл и спросил: «Ты куда?» Я в ответ: «Не понимаю, как работает библиотека — хочу подойти к тем ребятам и разобраться». Он посмотрел мне в глаза и спросил: «Ты можешь этого не делать?» «Но я, — отвечаю — инженер-программист, а не кодер, если я не понимаю, как работает система, я не смогу внести в неё максимальный вклад». Он лишь повторял, что мне следует сесть на место.
«Нас брали на проект, чтобы в текстовом документе менять слова»
— На следующий день менеджер вызвал меня в свой кабинет и сказал: «У тебя есть команда, спрашивай у них». Мне выделили человека — он тоже работал на контору Х, — который должен был помочь мне разобраться в системе. Но тот лишь дал какое-то запутанное объяснение, и я по-прежнему ничего не понимал.
— Неужели в компании не было ни одного человека, который мог бы вам помочь?
— Кроме нас двоих на проекте был ещё человек из конторы Х. Я подошёл к нему: «Слушай, расскажи мне, что вы здесь делаете». «Мы пишем маленькие скрипты, — заметил он. — А ещё в документации указано, что компонент А делает B, а мы по шаблону должны заменить А и B на Х и Y». «Подожди, — говорю, — то есть вы просто меняете слова, даже не программируете?» Оказалось, так и есть. И главное — ему даже не было интересно, почему так: «Это не наше дело».
Я был раздосадован: выходило, что нас, «вендоров», брали на проект для того, чтобы в текстовом документе менять слова. И в этом мы отличались от «гуглеров». Хотя сейчас могу сказать, что это только моя история — это не история всех «вендоров».
Оставался ещё один вопрос, почему тот, кто должен был мне всё объяснять, не говорил ничего. В ответ тот парень сказал: «Причина проста: он и сам не до конца понимает, что здесь происходит, — и тоже «меняет слова по шаблону». Но он не хочет работать на Х, а мечтает стать «гуглером», а для этого он должен убедить всех, что он лучший из нас. И проще всего это сделать на «бледном фоне».
«Сколько я программировал на Java? 0 часов, 0 минут»
— Как долго оставались на проекте, где приходилось менять слова по шаблону?
— Ещё несколько недель. Затем ко мне подошёл заместитель моего Google-менеджера и сказал: «Знаешь, мы решили определить тебя на другой проект — будешь писать на Java». А знаете, сколько я до этого программировал на Java? 0 часов, 0 минут. Три недели я листал учебник — и выучил: оказалось, ничего сложного. Буквально сразу нашел в коде несколько неточностей. Исправил и показал к техлиду: «Джонатан, смотри…» «Молодец!»
Мне было приятно: у меня получилось исправить косяк в проекте на Java — языке, на котором я до этого не программировал. Это очень воодушевляет! И я начал искать новые вещи, которые можно было бы улучшить. После третьего раза ко мне подошёл Джонатан и сказал: «Я даю тебе права, теперь ты можешь коммитить код без моего личного ревью, а также составлять документацию и модели данных — мы тебе доверяем».
«В случае увольнения я обрастал долгами на десятки тысяч долларов»
— С того времени я очень, очень много работал. При этом юридически я оставался в своей компании Х на том же самом месте, внутри той же самой команды, с которой сотрудничал ранее. А фактически работал уже с другими людьми. И каждому еженедельному совещанию я выполнял уже не одну, а девять задач. И мне нравилось так работать!
В канун Рождества ко мне подошел Джонатан, и сказал: «Ты много сделал для нашего проекта. Спасибо тебе!» — и подарил мне личную бутылку Coca-Сola с моим Google LDAP — вот эту. В Америке так принято: дарить подарки, если ты внёс большой вклад в работу.
А примерно месяц спустя мне позвонил мой Х-менеджер и сказал: «Юра, в Google решили тебя уволить?» «Кто?» — не мог поверить я. «Твой Google-менеджер». Тот самый, который велел мне сесть на место.
Я запаниковал, ведь у меня виза L1B, а значит, после увольнения я должен тут же покинуть страну. Ситуация осложнялась тем, что машина была взята в кредит, за жильё внесена предоплата на пару месяцев вперед. И в случае увольнения и немедленного отъезда я обрастал долгами на десятки тысяч долларов.
— Вас уволили, но вы так и не покинули США. Как так получилось?
— Я был готов это сделать. Но тут позвонил мой менеджер из компании Х и сказал: «Мы поддержим тебя, ведь ты наш сотрудник. Ты остаёшься — будешь по-прежнему работать на нас, а мы начнём искать тебе новый проект в Google». Полтора месяца я сидел на чемоданах: они были сложены и стояли посреди комнаты — чтобы я мог взять их и уехать в любую минуту. Но мне нашли проект в Северной Калифорнии, и я отправился из южной части штата в Саннивейл.
«На совещаниях улыбался: «Got it!» А потом хватался за голову»
— В Саннивейл передо мной поставили задачу сделать проект, который собирает аналитику для Google. Для его создания мне предоставили среду разработки, находившуюся в состоянии альфа-тестирования, — продукт был сырым, и времени совсем немного — полтора месяца на все.
Я вернулся домой в Южную Калифорнию и приступил к работе. Первый прототип проекта был готов уже через 3 недели, и вот тут я столкнулся с проблемой: время выполнения функции было ограничено 60 секундами, в то время как на обработку миллионов необходимых мне записей, нужно было потратить 15 минут.
«Я бился над этой задачей буквально день и ночь. Помня, что в Google меня уже однажды уволили, на совещаниях улыбался как можно шире и говорил: «Got it! Sure. I see». А потом возвращался на место и хватался за голову: оставалось всего 10 дней, в июне у меня был запланирован отпуск — я летел в Минск на собственную свадьбу, и в случае неудачи мог не возвращаться обратно».
Решение, которое сразу пришло в голову, — реализовать кэширование. Но проблема заключалась в том, что система, на которой я писал проект, была нулевой. Всё что в ней было — это ECMAScript в версии 5.1 и примитивный intellisense. То есть по сути ни-че-го. Словно вы программируете в блокноте. Я обратился к команде, которая разрабатывала эту систему, но они лишь развели руками: «Мы сдаёмся! Среда разработки для этого просто не предназначена — тебе придётся думать самому».
И тут я попробовал наудачу с одного сервера достучаться на другой, на котором есть база данных. То есть попытался эмулировать многопоточность с помощью JavaScript (чего до этого в данной среде разработки никто никогда не делал), используя базу данных в качестве точки синхронизации потоков. Попробовал и понял: не работает. А потом до меня дошло, что просто не хватает прав. И когда их мне предоставили, я написал свою маленькую библиотеку для многопоточного программирования на JavaScript. И она работала. Я провёл демо и улетел в Минск жениться.
«Проект видел Ларри Пэйдж! Для его разработки выделили команду»
— Вернувшись из Беларуси, я получил письмо с приглашением принять участие в другом проекте в Южной Калифорнии. И только приступил к работе, как поступил звонок из Саннивейл: «Юр, твой проект понравился руководству компании. Его видел Ларри Пэйдж! Для разработки проекта выделили команду. Будем развивать?»
Ну конечно будем! «Тогда мы ждём тебя на проекте 1 ноября». Окей! И тут выяснилось, что всё не так безоблачно: ведь я-то был на другом проекте. И я никак не успевал завершить его к 1 числу — только к 5 ноября. А значит, меня снова могли уволить. Конечно, я мог позвонить в Саннивейл своему техлиду — это уже новый человек по имени Дэвид — и сказать: «Я не успеваю. Помоги мне!..» Но вместо того, чтобы начать ныть, чего в Google категорически нельзя делать, я поинтересовался: «Дэвид, вы уже программировали?» Оказалось, команда начала работу, но столкнулась с проблемой — ограничением в 60 секунд. Они три недели бились над этим — и ничего не работало.
Меня спасло то же, что когда-то чуть не погубило. Я подключил свою библиотеку — ту, что реализует многопоточность, — и сказал: «Смотрите!» И только на следующий день я мог сказать Дэвиду, что мне нужно ещё 4 дня, чтобы завершить работу над проектом в южной части штата. А они готовы были теперь ждать меня.
«Мне аплодировали стоя, а я не знал, что сказать»
— В какой-то момент в компании Х поняли, что могут меня потерять. Они осознали, что все мои обязанности сместились в сторону Google, что я взаимодействую с «гуглерами» слишком тесно. Контора Х могла меня упустить, а значит — упустить мои деньги.
На одной из встреч с психологом из компании Х, который работает с каждым членом команды, тот спросил: «Всё ли хорошо, всё ли тебя устраивает?» Да, у меня всё было отлично. Но могло быть и лучше: в Лос-Анджелесе большие пробки, выходишь с работы в 18.00 или позже — и добираешься до дома больше часа. Но если уйти в 17.45, доедешь за 15 минут. И я спросил: «Можно ли мне приходить на 15 минут раньше и раньше уходить?» Психолог ответил: «Этот вопрос ты должен обсудить со своим Google-менеджером. Если он тебе разрешит — пожалуйста!»
Конечно, мой Google-менеджер не был против сместить мой рабочий график на 15 минут. Но через несколько дней мне позвонил мой Х-менеджер, и сказал: «У тебя большие проблемы: ты нарушил субординацию, и я имею право сегодня же уволить тебя без выходного пособия».
Представляете, бывали периоды, когда я работал по 20 часов на протяжении двух-трёх дней подряд. В Google меня очень ценили — и тут такой наезд. Поскольку не было никаких доказательств того, что такой совет мне дал психолог, получалось, будто я сам принял решение обратиться с просьбой к Google-менеджеру. А вот у Х были доказательства, что я это спрашивал, и полное право меня уволить. Мой Х-менеджер действительно хотел воспользоваться этим правом, но у Google были на меня свои планы, и меня оставили. Ведь мы работали над серьёзным проектом, который, в частности, должен был пойти «на стол» Ларри Пейджу, а я был единственным экспертом в системе. Отношения с Х накалились.
В апреле я полетел в Саннивейл на презентацию демо. Мой техлид встречал меня с подарком: «Ты часто звонил мне, чтобы посоветоваться, и когда объяснял, в чём проблема, вдруг прерывался на полуслове: «О, я понял!..» Знаешь, как это называется? Debug-duck: я был твой уточкой для дебага». Он подарил мне резиновую утку — знак своей признательности, debug-duck. И сказал: «Теперь она будет помогать тебе решать все вопросы».
А потом была презентация. Приехали несколько топ-менеджеров Google. Дэвид презентовал программу и отметил, что его заслуга лишь в том, что он просто помогал: «Всё это сделал Юрий, без него мы бы этого никогда не достигли». Мне аплодировали стоя, а я краснел и не знал, что сказать. Затем Дэвид обнял меня и сказал: «Знаешь, мы дадим тебе рекомендательное письмо, которое можно послать в любую компанию мира. С ним тебе открыты все дороги».
На следующий день я улетел.
Нужно было ждать почти год в Минске, чтобы вернуться в Google
— Имея немалые возможности, компания Google всё же не оставила вас?
— Они физически не могли меня сразу взять на работу. Таковы правила: в моём паспорте была виза L1B, и мне нужно было обязательно улететь, чтобы потом я мог вернуться. И здесь следует заметить, что американским компаниям выделяется в год примерно 65 тысяч виз H1B, которые позволяют работать на территории США. И Google получает незначительную их часть. Но главное, все они выдаются в апреле, а я улетал в мае. То есть мне нужно было ждать почти год в Минске, чтобы вернуться в Google.
— Но вы этого не сделали. По какой причине?
— Скажу честно, у меня было два варианта: провести почти целый год в безделии или начать работать. Совесть не позволяла мне устроиться на работу на несколько месяцев. Ведь в течение этого времени ты обычно только вливаешься в проект.
И тут пришла идея: я же могу сделать курс. У меня материалов для подготовки — тысячи страниц. В 2009 году, готовясь к экзамену по объектно-ориентированному программированию, написал свою методичку и подарил преподавателю. Он сказал: «Надо же! Я студентам раздавать буду». Во внутренней сети БГУиР была и другая методичка, которую я написал, когда готовился к экзамену по системному программированию.
У меня всегда так. Когда что-то излагается сложно, мне всегда хочется объяснить это. Будучи студентом, я постоянно помогал сокурсникам.
«Не имеет значения, что ты знаешь, ведь ты будешь учиться заново»
— Вы изучали рынок, смотрели, что преподают на других курсах?
— Да, смотрел. Знаете, есть фундаментальные знания и прикладные. Некоторые слушатели курсов тратят тысячи долларов на изучение прикладных вещей, но через год-два эти знания равны нулю. Мы же даём фундамент. Я говорю на последней лекции: «Ребята, сейчас вы можете открыть любую книгу, и у вас не будет пробелов, которые помешают вам воспринимать информацию».
Во многих книгах есть ошибки и неточности, поэтому, когда ты учишься, приходится перерабатывать большой объём информации. Я думал об этом и понял: многое из того, что сегодня знаю я и мои коллеги, можно донести в простой и доступной форме. Очень важно, чтобы люди не тратили годы на то, что можно выучить всего за пару месяцев.
Сегодня мы программируем на Java, JavaScript, а в Google, например, работают с диалектами языков, которых нет в «нашем мире». Это Google-языки, разработанные внутри корпорации. В Америке я усвоил следующее: не имеет значения, что ты знаешь, ведь ты будешь учиться заново. От тебя могут это потребовать. Но если есть фундамент, всё это даётся легко.
— Сколько потребовалось времени, чтобы реализовать идею и открыть дверь аудитории для первых слушателей?
— Пять месяцев: 15 декабря здесь уже была первая группа. На первое занятие было записано 17 человек, пришло всего 4. Тогда мы решили: будем проводить бесплатные лекции. И если человеку это подходит — он запишется. Мы не давали рекламу вообще. У нас были только ивенты: приходи и послушай (к слову, наши бесплатные митапы посетило 700 человек), если понравится, придешь к нам. Мы обещали, что вернём деньги, если наши слушатели сочтут курс бесполезным, но мы обучили уже 40 человек, и ещё никто не потребовал свои деньги назад.
— Сколько денег пришлось вложить в проект?
— Порядка 10,5 тысяч долларов. Мы всё здесь делали своими руками: сами клали пол, проводили свет, сами разрабатывали дизайн и заказывали мебель.
Ещё после презентации в Саннивейл, когда я сидел в кабинете со своим Google-менеджером, он обещал мне серьёзный денежный бонус от Google. По прилёте в Минск, я проверил карточку — ничего не пришло. Позвонил в компанию Х: «Ребята, а где деньги?» А они в ответ: «Твой менеджер (то есть Х-менеджер), сказал, что ты этих денег не заслуживаешь». Так получилось, что у него было своё видение ситуации, и он забрал все деньги.
«Знаете, сколько у нас в офисе Google было минчан? Десятки»
— Вы не жалели, что так и не вернулись в Google?
— Нет. Там я делал одну работу, здесь — совсем другую: я передаю своим слушателям опыт, который накопил за время работы в США. Там я выполнял поставленные передо мной задачи, и делал это хорошо, а здесь делаю свой продукт, стараясь быть максимально полезным — на данный момент мне это интереснее.
Знаете, сколько у нас в офисе Google было минчан — десятки сотрудников. Это наши парни — все выпускники БГУиР, очень классные программисты! Понимаете, Беларусь — одна из тех стран, которая поставляет кадры в самые крутые компании мира. Наши ребята могут сделать что угодно — нужно только их зажечь! А у меня сейчас есть такая возможность.
— А если сегодня кто-то из бывших коллег напишет вам: «Айда к нам!..»
— Я могу открыть свою почту, и вы увидите: мне пишут из Facebook, LinkedIn, Amazon… Но сейчас мне нравится учить — это классно! И что еще приятно: мои слушатели — это настоящие алмазы, нужно только огранить их. Вот, скажем, эта аудитория рассчитана на 14 слушателей. Обычно ты даёшь им 8 задач (непростых, таких, над которыми сам ломал голову несколько часов), и на следующий день спрашиваешь: «Кто решил?» Как минимум 12 человек тянут руки. Это значит, что все они молодцы.
— Учитывая собственный опыт, вы предостерегаете разработчиков от сотрудничества с компаниями-посредниками?
— Нет. Всё что произошло со мной — только моя история. Благодаря компании Х я получил большой опыт. И могу сказать, что она даёт молодым, способным и стремящимся к знаниям людям повидать мир и поработать в компании мирового уровня. А вернувшись, применять накопленный опыт, полученные знания и навыки здесь, как это делаю я.
Я уверен, работать программистом можно и у нас. Но чем больше людей получат опыт работы в мировых компаниях и будут использовать его здесь, тем лучше для страны и индустрии.
***
Подписывайтесь на наш канал в Telegram!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]