Памятка айтишному «валильщику» от бывшего разработчика Google

Заокеанская карьера Александра Филипчика началась с работы в EPAM на аутсорс-проекте Google шесть лет назад. Последние три года этот программист трудится в Sony Network Entertainment, теперь — на позиции Principal Software Engineer.

Насколько реально нашему местному среднему программисту устроиться в топовые ИТ-компании США? Как синдром «застабильщика» мешает отечественным разработчикам, и в чём вред «тоталитарного аутсорсинга?». О том, чего ожидать от интервью в США в компаниях-гигантах технологической индустрии?

Об этом и многом другом Александр рассказал в своем большом и откровенном интервью.

Памятка айтишному «валильщику» от бывшего разработчика Google интервью работа ИТ
Александр Филипчик, 2010 год

С чего начать?

— Думаю, что начинать нужно с принятия твёрдого решения найти работу и переехать.

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

Вариантов у «валильщика» может быть несколько. Приведу лишь самые очевидные и доступные:

  • искать работу у аутсорсера (EPAM и другие);
  • искать работу в большой компании (Google, Microsoft, Oracle, Apple…).

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

Плюсы аутсорсера:

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

Его минусы:

  • Проекты обычно не mission critical. Сложно получить хоть какую-то интересную работу. Для начала, может, и будет казаться нормальным, но если есть хоть немного амбиций, то надоест очень быстро. Особенно если вы видите, как люди по соседству разрабатывают что-то действительно интересное.
  • Зарплаты (вместе с бонусами и прочие плюшки) — у вас она будет гораздо меньше того, что вы можете получить, работая напрямую.
  • Карьерные перспективы — сравните сами: архитектор в LinkedIn vs архитектор в Who knows what it is.
  • В контракте может быть что-то вроде — вы не можете работать на конкурентов (не законно в Калифорнии), и если вы уйдете, то должны заплатить за переезд (не законно в США), тем не менее, попытаться засудить могут.
  • Вы будете изолированы. Если вы работаете в группе русских, ваш английский будет прогрессировать очень медленно (если не будете работать над ним параллельно).
  • Скорее всего, все мероприятия «хоста» пройдут мимо вас (впрочем, однажды Google возил не своих людей кататься на лыжах на пару дней).
  • Вы все равно будете неподготовлены к прохождению нормального интервью.

Теперь второй вариант — сразу штурм топовых зарубежных компаний.

Плюсы:

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

Минусы:

  • Можно столкнуться со своеобразной корпоративной культурой.
  • Разнообразность проектов сильно зависит от компании.

Как начинал я

«Бодишопер» — это компания, которая сдаёт айтишников в съём. Эта схема распространена среди аутсорсинговых компаний из-за рубежа, которые прорвались на рынок США и зашибают тупую деньгу на диспаритетах цен американского и местного рынков. Фишка в том, что найти местных да не пристроенных грамотных людей в США сложно, поэтому идут к «бодишоперам», которые могут быстро предоставить нужных специалистов. Компания потом использует их там, где посчитает нужным.

Мне повезло. EPAM платил мне зарплату, а работал я в Google (Google Analytics), в Маунтин-Вью, где мне и ставили задачи. Проект был достаточно крутым, и нас не изолировали в епамовской команде, а перемешали с гугловцами. Однако решать я практически ничего не мог, много общался по-русски, так что английский страдал.

Ограничения — на некоторые совещания вас не приглашают (например, TGIF — пятничные вечеринки в Google, организованные Ларри Пейджем и Сергеем Брином), решения принимаете не вы. Большинство активностей и тимбилдингов — тоже мимо. Словом, было сильное ощущение гастарбайтера.

Из плюсов подобной работы — можно получить неплохое имя в резюме и возможность «конвертнуться» в перспективе. Из минусов — часто работа над всякой фигнёй, также может оказываться различное психологическое давление. Например, у нас ходили слухи, что если оборзеть и попробовать наняться в Google напрямую, но интервью с ним завалить, то Google попросит EPAM снять вас с проекта.

По поводу этого я специально разговаривал с HR Google, и меня заверили, что это бред сивой кобылы. Однако в большинстве случаев запуганный народ верил и боялся выходить за чётко очерченные «бодишопером» рамки.

Работа в топах

Работать в топах США намного интереснее! Например, работая в Sony, участвовал в запуске PlayStation 4. Причём в качестве ведущего разработчика, отвечающего за mission critical компоненты. Мы презентовали свои решения на Cassandra Summit — мог ли я такого же достичь на родине, в Беларуси или в России? Не уверен.

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

Синдром «застабильщика»

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

Знакомые переехали по green card с двумя детьми (младшей был год), не имея сильно релевантной специальности (менеджер по продажам и дизайнер). Приехали, вообще не понимая, чем будут заниматься и что значит быть тут, в США, с детьми (два ребёнка — $2–3 тысячи расходов на садик в месяц, если оба работают). Ещё пример. Как-то в аптеке я встретил пару с подростком (им в районе 45), которые не могли объясниться с фармацевтом. Он работал в Москве адвокатом, но выиграв гринкарту, рванули за океан без знаний языка и адекватных профессий. Оба мужчины из примеров пошли на курсы тестировщиков и нашли хорошую работу — это была чистая импровизация с их стороны. Истории разные, и некоторые их герои выглядят, как сумасшедшие, но у всех есть нечто общее — они сделали первый шаг в неизвестность, хотя мотивы у всех были разные. Кто-то ехал за деньгами по safe-варианту (епамовцы по L1), а кого-то что-то в жизни так достало, что плюнули и переехали.

Из моего потока пару друзей переехали по Work and Travel, но я постоянно придумывал себе отмазки — что надо выучиться и ехать спецом, а не на стройке работать. Но время шло, а дело не двигалось. Мало того, я стал приростать к Беларуси. Юношеский максимализм проходил, а с ним и желание что-то кардинально менять. В итоге после поездки в Польшу к родственникам жена (кстати, супруги — это огромный фактор, который нужно принимать во внимание!) сравнила тут и там и сказала, что она хочет уехать навсегда, так как в Беларуси — ощущение болота.

Я начал искать работу в США, так как страна выглядела неплохо, было какое-то романтическое представление о Штатах и определённые знания английского (по приезду оказалось, что моих знаний не хватает, чтобы спросить, где туалет).

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

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

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

Среди «богов программирования»

Судя по людям, которые приходят ко мне на интервью, наш средний программист вполне может устроиться в США. До приезда в Штаты я думал про все эти ИТ-гиганты, как про что-то эфемерное. Facebook, Microsoft, Twitter, Oracle, Intel… Работать там? Да никогда! Там только гении, лучшие из лучших. Боги программирования.

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

Два года назад я попал в Sony, в «тим», который готовил backend для PlayStation 4. Команда была совсем небольшая, масштаб — 200 млн пользователей, время — 1 год. Были ли среди них гении — нет, но были люди, которым дали возможность креативить и не вставляли палки в колеса. Как результат, PS4 зарелизили точно в срок.

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

Памятка айтишному «валильщику» от бывшего разработчика Google интервью работа ИТ

Помню, недавно разговаривал с одним местным профессором и спросил его, какие программисты лучшие — русские или из США. Его ответ был — однозначно из США. А основная причина их превосходства не образование, а буквально — «они зарабатывают больше, а значит, могут больше тратить на свой отдых и самообразование».

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

О вреде аутсорсинга

Когда я работал в Минске, думал, что уже упёрся в потолок. Переехав в США, я понял, как мало знаю.

Как же так получилось, что за пять лет работы в Минске я начал чувствовать себя человеком, знающим всё, чтобы безбедно жить, а если нужно — без проблем менять компании и получать должности лида? А после переезда с ужасом обнаружил, что мои знания не совсем релевантны тому, что нужно знать для работы в передовых ИT-компаниях.

Аналогичных примеров я видел много. Что же с нами не так? Нет, у нас очень умный народ, мы просто гребём не туда.

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

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

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

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

В таких же компаниях, как Google, Петя может сгенерить миллиард и поэтому с ним можно поноситься как с золотой курицей. Поэтому и подход к отбору в США устроен иначе.

Почему лучше ломиться сразу в «крупняк»

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

Такой ход мысли неоднозначен — и да, и нет одновременно.

Я не работал в маленьких компаниях в Bay Area, которые бы застряли в «маленьком» состоянии. Тут есть ощущение, что почти все компании — это либо амбициозные стартапы, которым нужно агрессивно расти вверх, либо те, кто уже там и пытается удержаться на вершине.

Молодым стартапам для предстоящих подвигов нужны рок-звёзды, поэтому и собеседования там соответствующие. Ещё нужно учитывать один момент: чтобы привезти себе такого Рэмбо по визе H1B, компании нужно ждать как минимум полгода (1 апреля вам дадут квоту, а работать сможете начать только в октябре), поэтому многие стартапы просто не захотят иметь дело с такой раскладкой.

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

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

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

Из Slack«а про страховки и налоги в США pic.twitter.com/D2cPfzEXzD
— Konstantin (@ks_simakov) April 3, 2016

Правильный подход: учите классику Computer Science

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

Объясняю, что это значит на своём примере. Например, в Минске четыре года назад интервью обычно длилось 1 час. Да, EPAM мучал меня дольше, но не сильно, да и, думаю, лишь потому, что брали работать в Google и был шанс напороться на интервью с гуглером. Плюс, минские интервью были ну очень ремесленнические. Мне задавали вопросы по технологиям, по Java — многое из этого можно выучить банально по книжке.

И тут вы пытаетесь прособеседоваться в США — и вас начинают натурально «грилить».

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

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

Но, вот если продвинуться к стадии Acceptance, и принять то, что это необходимый минимум, то можно изучить что-нибудь типа этого. Но обучение сегодня — это не только чтение книжек, а процесс получения новых знаний посредством всех доступных методов. Это могут быть как online-курсы, так и локальные воркшопы, статьи, блоги и книги. Минус книг — они не интерактивны. Современные тенденции в образовании — двигаться в сторону коллективного обучения (bleeding edge обучения), оно наиболее эффективно. Для примера можно взять курсы на той же coursera.org (вот это, это и ещё это).

Хотите нормальную позицию в инжениринге (особенно, когда у вас нет знакомых, которые могут помочь) — серьёзно учите классику Computer Science, которую спрашивают практически все топы. Если наш средне-обычный программист подкорректирует в этом плане своё отношение, а ещё лучше — пройдет стажировку не в аутсорсинговой компании, у него есть все шансы стать желанным для Америки rockstar.

Совет для амбициозных студентов. Хотите поехать в Штаты в крутую контору и оказаться сразу в шоколаде, забудьте про работу во время учёбы, особенно в аутсорсинге! Честно учитесь, развивайтесь, участвуйте в олимпиадах по информатике, и будет вам счастье гораздо быстрее, чем всем остальным.

Интервью по телефону

— В Минске четыре года назад интервью обычно длилось час. Да, EPAM мучал меня дольше, но не сильно — думаю, лишь потому, что брали работать в Google и был шанс напороться на интервью с гуглером. Плюс, все минские и московские интервью были ну очень ремесленнические. Мне задавали вопросы по технологиям, по Java — многое из этого можно выучить банально по книжке.

И тут вы пытаетесь пройти собеседование в США — и вас начинают натурально «грилить». Вас просят решать олимпиадные задачки, задают низкоуровневые вопросы, и никому не интересно, как работает ваш любимый Framework. Всех интересует ваш опыт и реальные способности, формальные знания отступают на второй план.

Обычно Phone screen проходит быстро. По моему личному опыту, на него тратится примерно 2 часа в Google, в Netflix — часа 2 в сумме, в LinkedIn — 3.5 часа, в PayPal — 1.5 часа.

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

Памятка айтишному «валильщику» от бывшего разработчика Google интервью работа ИТ

В офисе

В офисе — продолжение телефонного «скрина», но уже более детальное. В Google собеседование проходит поочерёдно. Как правило, это пять интервью по 45 минут. В середине может быть неформальный обед.

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

Для примера, в Google «онсайт» проходит до предела неформально. Вас ждёт обычная комната для совещаний (какую получилось застолбить в этот день). Заходите туда, здороваетесь, а потом всё зависит от собеседующего. Но вероятность того, что придётся использовать whiteboard, — 100%.

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

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

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

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

Кто и как вас отбирает

Раньше собеседовали случайно набранные люди, с которыми вы практически на 100% работать не будете. Сейчас больше доверяют интервью командам, в которые и набирают соискателя. Каждый собеседующий пишет отчёт, в котором оценивает вас. Если эта оценка совсем низкая, то вы сразу в пролёте. Если всем, кроме одного, очень понравился кандидат, могут пропустить. Потом вся информация поступает в специальный комитет, где квалифицированные специалисты принимают решение, брать вас или нет. За пределами Google решение о найме в основном принимает сама команда, безо всяких вышестоящих комитетов.

Насчёт критериев отбора, есть понятие Red Flags — это вещи, на которые целенаправленно смотрят. Как минимум, они сводятся к тому, что нужно быть технически сильным и не бросаться с кулаками на собеседующего. Да, отсев у Google большой, но в Долине это не проблема — ИТ-компаний здесь просто море, и методом простого перебора ищите тех, кто даст столько, сколько вам нужно. Учтите, что многим нужны специфические навыки, за которые они готовы платить top dollar.

Приготовьтесь выделить часов 40

Впрочем, я немного приврал насчёт шести часов стандартного собеседования. Вся работа по прохождению собеседований может занимать и 40 часов (с домашним заданием). Я на Apple в своё время потратил 12 часов на очное интервью и 6 часов на дорогу (дважды туда-обратно в траффик), часов 6 на их домашку, 3 часа на телефонные разговоры с менеджером, 2 техинтервью, плюс час суммарно на множество звонков рекрутёра.

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

Читать ещё в этой серии: первая часть, оглавление.

© Blogerator