личный опыт
Как найти работу за границей
в глобальной компании
и переехать в Амстердам
Аскар Сатабалдиев, который недавно получил позицию Developer & Team Lead в крупнейшей онлайн-компании Booking.com в Амстердаме, делится своим опытом.
Многие крупные цифровые компании используют схожий алгоритм найма:
- подать CV можно через сайт компании или через знакомого работающего там (reference);
- второй способ предпочтительней - рекрутеры обрабатывают такие CV в первую очередь;
- дальше некоторые компании дают несколько простых задач на площадках типа: HackerRank, чтобы отсеять откровенно слабых;
- важно правильно составить CV;
- далее, рекрутер созванивается с тобой для твоей оценки (уровень английского, базовые ценности, етс...) после чего, обычно, назначается Phone Screen Interview;
- Phone Screen интервью - это 1-2 разработчика компании звонят тебе по телефону, Google Hangouts, Skype, etc... и ты в Гуглдоке или другом редакторе для real time code sharing пишешь код. После phone screen могут отказать, назначить дополнительный phone screen или пригласить на онсайт интервью.
- Onsite Interview: это серия интервью (1 с рекрутером, 1-3 на знание программирования, 1 знание system design, 1 cultural fit) позволяющее компании понять подходишь ты им или нет. Одним из плюсов является то, что зачастую интервью проходит в их офисе(перелет, проживание оплачиваются) и ты, имеешь возможность, "вдохнуть" корпоративную культуру, пообщаться вживую с сотрудниками той компании. Помимо знаний, они оценивают тебя, как человека, как будущего коллегу.
- Дальше, интервьюеры дают обратную связь и рекрутер выбивает для тебя условия у Hiring Manager. Тут или дают job offer или не дают.
Например, скажут написать мессенджер... ты сел и начал строить архитектуру Whatsapp. А они тут тебе заявляют: стоп...
Теперь остановимся на каждом этапе подробнее:

Подготовка.
1) Нужно знать английский на хорошем разговорном уровне. У разработчиков отличный технический reading английский, нужно прокачивать разговорный.
2) Уметь составить грамотное CV. Погуглите One Page Technical CV или что-то в этом роде. Тут важно понимать, что даже если Вы работаете в самой крутой казахстанской компании, рекрутеры за бугром про нее даже не слышали. Поэтому важно на каждом месте работы указывать, чем Вы занимались, какие приложения, сколько пользователей, какая нагрузка, сколько сессий, Ваш личный contribution, etc.. уделите внимание своему CV.
3) Если есть человек, который готов порекомендовать Вас внутри компании - это здорово! Лично я часто отказываю в рекомендации. Важно, чтобы Вы, как человек, были "credible".

Прелюдия.
Предположим, Вам написал рекрутер и предложил выбрать время для телефонного звонка. Это уже полдела. С этого момента, многое зависит от Вас. Будьте предельно откровенны. Будьте готовы ответить на вопросы по Вашему CV. Желательно почитать про компанию, куда устраиваетесь. Почти у всех есть корпоративные блоги. Подготовьте пару хороших вопросов. Не типа: "а какая у меня будет зп на этой позиции", а больше вроде: "почему открылась эта позиция" и т.д. Всю инфу можно найти в инете: "questions to ask a recruiter on interview", "salary google london software engineer", etc. Поэтому не тупите и задавайте правильные вопросы.

Technical Phone Screen Interview.
Вы понравились рекрутеру, Вам назначается phone screen. Это интервью, которое длится 1 час. Структура его следующая:
- 5-10 минут: рекрутеры рассказывают о себе и компании;
- 40-45 минут: сам процесс интервью;
- 5 минут на вопросы.

Что можно спросить за 40-45 минут? Обычно, крупные компании вроде Google, Facebook, Amazon дают 1-2 задачи из спортивного программирования. За короткое время это позволяет посмотреть, как ты мыслишь, умеешь ли ты работать в команде (сразу приступаешь к решению или сначала обсудишь задачу), как ты программируешь (OOP, clean code, naming convention, etc..), есть ли понимание оценки эффективности алгоритма (O-notation велком).

Как готовиться?
1) Прочитать книгу: "Cracking The Coding Interview"
2) На leetcode.com прорешать 200 задач уровня easy, medium. Упор на структуры данных, set, map, arrays, strings,dfs, bfs,...
3) Структура интервью идеально приведена в этом видео: https://www.youtube.com/watch…

Onsite Interview:
Предположим, Вас пригласили на онсайт. Там координаторы по логистике начнут процесс оформления визы, покупки авиабилетов и прочая операционка.

Касательно интервью:
1) По программированию - продолжаете готовиться (1-2 задачки в день на любимом языке программирования. для каждой задачи оценивайте ее эффективность. смотрите обсуждения, решения).
2) Про system design - если есть опыт построения систем, то тут сложно не будет. ресурсов по подготовке множество. Важно понимать такие важные вещи, как CAP theorem, horizontal& vertical scaling, partitioning/sharding data, eventual consistency, relational db /NoSQL, Caching, tcp/udp, https, load balancers, design patterns, messaging queues, etc.
Главное, уметь правильно понять задачу. а для этого, опять же будете общаться с интервьюерами. Например, скажут написать мессенджер... ты сел и начал строить архитектуру whatsapp. а они тут тебе заявляют: стоп... эта социальная сеть для людей с ограниченными возможностями. Для слепых. Понимаете, да? Тут фото, текст уже не так актуальны, как голосовые сообщения. Навигация тоже меняется... поэтому, очень важно сначала понять задачу, количество пользователей, traffic flow... а потом уже приниматься за построение архитектуры.

3) Cultural fit - тут уж какой ты есть. В твоих же интересах, чтобы твои ценности и ценности компании совпадали. Так будет лучше для всех. Но у каждой компании есть свои фишки. Есть смысл подготовиться. Скажем, Букинг везде использует A/B тестирование, а ты не знаешь что это такое или если ты не знаешь, какую модель OTA они используют - тоже может быть минусом. Обычно, рекрутеры посылают важные ссылки.

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

Оригинал: https://www.facebook.com/permalink.php?story_fbid=...
Photo by Grillot edouard on Unsplash

Made on
Tilda