Т.к. в последнее время этот вопрос задают довольно часто, то он заслуживает отдельного поста. Моя история попадания в Microsoft обыденна, но я опишу поиск работы и собеседования поподробнее, так что некоторые смогут извлечь из этого практическую пользу.
Поиск работы я начал в сентябре прошлого года, когда желание уехать сформировалось окончательно. Я как раз вернулся из отпуска, который провел в США. Скрывать нечего - мы с женой и ехали детально посмотреть на жизнь “там” и сделать для себя выводы, я даже съездил специально в майкрософтовский офис, посмотрел всё изнутри и снаружи. Последней каплей стало заявление о пожизненном царствовании бывшего кэгэбэшника, после чего стрелка весов уверенно преодолела значение “валить”.
Поиск
У программистов есть большой бонус в поиске работы. Хотя все знают, что это востребованная и хорошо оплачиваемая специальность, программистов как не хватало, так и не хватает, поэтому работу порой предлагают без каких-либо дополнительных телодвижений. Главный источник предложений - LinkedIn, там нужно обязательно держать обновленное резюме.
Я искал работу в конкретном мест - Сиэтл, шт. Вашингтон, о выборе места
я уже писал, но стоит добавить, что в Сиэтле у меня еще и родственники. Собеседовался я в Google, Microsoft и Amazon. В Гугл не взяли, а с Амазоном я прервал процесс после предложения от Майкрософта.
Как видно, все три компании - гиганты с десятками тысяч сотрудников. Корпорации - это идеальный вариант для удаленного поиска и переезда по нескольким причинам. В них всегда идет набор, потому что из них постоянно кто-то уходит или кого-то увольняют. К тому же, там давно налажен процесс и поиска и набора людей по всей планете.
Что еще важнее, в крупной компании набирают людей по другому принципу, нежели в небольших студиях. Условно говоря, в маленькой компании надо взять человека под конкретный проект, чтобы он уже завтра начал работать, чтобы послезавтра продукт можно было продать и выплатить зарплату. В этой ситуации важны знания конкретного языка, перечня используемых технологий и набитая рука на определенные типы задач, которые предстоит решить. Крупная компания набирает людей еще не зная, чем конкретно они будут заниматься.
Чтобы найти работу в небольшой студии за рубежом надо подходить под вакансию идеально, а шансы такого совпадения невелики. Для корпораций важны в первую очередь фундаментальные знания и опыт.
Вернемся к поиску. Гугл вышел на меня сам через LinkedIn незадолго до поездки в США, поэтому я просто решил совместить приятное с полезным и после пары телефонных интервью мы договорились на собеседование сразу в Сиэтле, куда я как раз направлялся. На собеседование в Майкрософт можно было попасть миллионом способов, т.к. они проходили в Москве и
пройдут вновь в апреле. Я лично попал на собеседование по рекомендации из компании (т.н. reference), видимо поэтому обошлось даже без предварительных телефонных интервью. На сайте Амазона я отправил резюме на пару вакансий и через неделю начались телефонные собеседования.
Самый бесполезный и непродуктивный поиск работы - через сайты вакансий и агентства, не тратьте на это время, а отправляйте резюме напрямую в интересные вам компании. Но можно обратиться напрямую к подходящему рекрутеру. Например, я написал рекрутеру из Сиэтла, что хочу найти там работу, он с радостью согласился помочь организовать для начала собеседование всё в том же Майкрософте, но эта помощь не понадобилась.
Самый лучший способ - через коллег и знакомых. Рекомендация от сотрудника значительно повышает шансы того, что ваше резюме не затеряется в бесконечном потоке кандидатов и вам назначат собеседование.
Собеседования
Интервью в корпорациях сегодня напоминают экзамены в университете: вам заранее дают обширный список тем, по которым будут спрашивать, и предлагают почитать конкретные книги и статьи, чтобы подкрепить знания. Опытный программист с большей частью тем давно знаком, но редко использует их в повседневной работе, поэтому сходу хорошо пройти такое интервью тяжело. По-хорошему, надо готовиться месяца полтора-два.
Такой подход к найму сотрудников когда-то революционизировали в Майкрософте, а в последствии его переняли и все остальные IT-корпорации. Вместо того, чтобы проверять навыки в конкретных технологиях, человеку предлагают решать всевозможные задачки, основанные на фундаментальных знаниях. Собеседования в Гугле, Майкрософте и Амазоне ничем друг от друга не отличаются, а интернет завален подборками вопросов с этих интервью.
Мне лично помогла отличная стать о том, как готовиться к этим интервью:
http://steve-yegge.blogspot.ca/2008/03/get-that-job-at-google.html С другой стороны, когда собеседование состоит из решения разнообразных задач - это во многом лотерея. Опыт и подготовка значительно повышают шансы на успех, но от случайностей никто не застрахован. Вам может попасться задача на которой вы собаку съели, а может и банально не повезти и правильное решение придет вам в голову сразу после окончания интервью - это самое обидное.
Если вам попадается задача с которой вы хорошо знакомы, то стоит прямо об этом сказать, по моему опыту, интервьюер всё равно попросит вас её решить и вы сможете продемонстрировать свои знания. Например, мне как-то со словами “Вижу, вы хорошо знакомы с многопоточным программированием” дали задачу реализовать read-write lock. Это весьма заковыристая задача. К счастью, на моей предыдущей работе некий программист реализовал этот шаблон с парой ошибок, которые сильно снижали производительность. И за пару недель до собеседования я как раз занимался исправлением этого самого шаблона. Я сообщил об этом интервьюеру, объяснил, что знаю правильное решение и написал ему за 5 минут эталонную реализацию, получив в ответ “It’s too easy for you”, но дополнительных задач далее не последовало и 40-минутное интервью превратилось в разговор о работе.
Если вы попытаетесь скрыть знакомство с задачей и быстренько её решите, то интервьюер поймет в чем дело и вы будете выглядеть некрасиво. А если в тот же день с вами собеседуются и другие кандидаты, то вас могут заподозрить в том, что вы подсказываете друг другу задачи.
Учтите, что вам необходимо не только продемонстрировать знания, но и произвести впечатление. Это очень важный момент. Вы можете отлично отвечать на все поставленные вопросы, но произведёте плохое впечатление на расспрашивающих вас людей и не получите предложение. Ваша оценка, как и на любом экзамене, субъективна.
Нужно продемонстрировать желание работать в компании, в которую вы собеседуетесь. Вы должны заранее отрепетировать вопрос “Почему вы хотите работать в Майкрософте/Гугле/Любой-другой-компании”. Если вы ответите, что это зависит от конкретного предложения, или что, наоборот, вам должны рассказать почему там хорошо работать, или что вы еще не уверены, стоит ли переезжать, то о предложении можете забыть.
Здесь важен психологический фактор. Ваш собеседник - сотрудник этой самой компании, и чем больше вы расписываете свое желание работать там же, тем больше оправдываете и его выбор работать в этой же компании. Отдельно отмечу, что тут мало не бывает, поэтому приукрашивайте, как только можете. Мне давали именно такие советы и это сработало.
Например, на интервью в Майкрософт я на полном серьезе рассказывал о том, что моя мама была программистом еще с советских времен, и о том, как она впервые узнала об условиях работы в Майкрософте и какое это произвело на нее впечатление, и как она потом рассказывала мне (еще ребенку) о том, как же круто там работать. История подлинная и в данном случае абсолютно уместная, как бы лестной она вам не казалась.
О работе
Т.к. я работаю тут всего неделю, то просто дам ссылки на мнения о том, что собой представляет работа в корпорациях.
Вот известная статья “Почему я ушел из Google” высокопоставленного сотрудника (
на русском), он же через пару недель написал о том, почему перешел в Майкрософт (
на английском). Вывод делается, что Майкрософт это круто.
А вот простой женский взгляд о работе в Майкрософте, где вывод делается, что работать там совсем не круто:
Я просто хочу рассказать о своих трех с лишним годах работы в Майкрософт, о том, что мне там нравилось и не нравилось или просто позабавило и привлекло внимание. Причем рассказать нормальным человеческим языком, употребляя как можно меньше технических терминов и программистского жаргона в духе багов-фиксов-билдов-релизов.
http://allessa-ru.livejournal.com/4589.html P.S.
Несколько фото из моего пребывания в Ванкувере.
1. В горах тут воют волки.
2. Тут красивая природа.
3. В городе любят сажать вишни.
4. Белуха.
5. Тотемы и горы.
6. Живем в даунтауне.