Недавно Маша начала работать. Теперь настало самое подходящее время рассказать о том пути, который ей пришлось пройти, чтобы получить хорошую работу в Кремниевой Долине. Возможно, это будет кому-то полезным.
Автор приносит искренние извинения за свой неблагородный стиль и много букв. Ибо он [чукча, прим. афтора] не читатель, а писатель.
Маша искала работу на позицию Software Engineer in Test, Test Engineer, Test Automation, Quality Assurance. Для тех, кто не в знает:
- Software Engineer in Test -- это фактически программист, работающий над внутренними проектами по предоставлению тестирования других проектов и продуктов;
- Test Engineer -- это специалист в тестировании; грубо говоря, это не очень продвинутый программист, с глубокими знаниями в теории тестирования, с навыками управления людьми;
- Test Automation -- тестировщик, пишущий программы, которые автоматически что-то тестируют. Часто на этой позиции приходится делать много ручного тестирования.
- Quality Assurance -- тестировщик, который вручную тестирует готовый продукт.
Последняя позиция в Долине считается мало престижной, там существенно (раза в два) ниже зарплаты и обычно этим занимаются люди, которые не умеют программировать. Но, как говорится, на безрыбьи и рак - рыба, поэтому не стоило игнорировать даже такую возможность.
Немного статистики
- Подготовка и собеседования заняли пол года;
- Был план выделять по 25 часов в неделю на подготовку, но по факту уходило по 15;
- Резюме было подано в 55 компаний;
- Не отозвались вообще 31;
- Отказали сходу 9;
- Захотели пообщаться 15;
- Назначили телефонное собеседование 7;
- Пригласили на очное собеседование 5;
- Предложили работу 3;
Подготовка
Маша решила основательно подготовиться к собеседованиям. Это подобно подготовке к экзамену в университете, требует много времени и сил. А в нашем случае все осложнялось заботой о малыше. Ему постоянно нужно внимание и уход, и спать днем он не всегда хотел. В день было всего часа 3 свободного времени, а нужно еще и по дому что-то сделать и просто отдохнуть. Итого полгода недосыпания и тяжелой работы.
Первые два с половиной месяца Маша только занималась -- читала теорию тестирования, тренировалась программировать базовые алгоритмы. Можем посоветовать:
- Алгоритмы: Построение и анализ. (Т. Кормен, и другие). Всю книжку познать сложно, да и не нужно, но основные главы -- это must have;
- www.careercup.com -- сайт с кучей задачек с подобных интервью и обсуждениями. Также на этом сайте вам будут советовать книгу Cracking Coding Interview -- это must have к прочтению. Там описывается как устроен процесс интервью, примеры вопросов и как на них отвечать.
- Практиковаться. Есть базовые алгоритмы, которые описаны во всех книжках, это: quicksort, mergesort, binary search, heap push/pop, heapsort, random shuffle, quick select, и так далее. Так вот, их надо идеально знать. Это означает: уметь запрограммировать сходу, объяснить оценки сложности по времени и памяти. Мы воспользовались следующим методом -- Маша каждый день писала какой-то из них с нуля. В итоге каждый из них написала раз 20 и потом уже помнила наизусть.
Подача заявок
Пришло время, когда Маша захотела подавать заявки, чтобы уже через пару недель-месяц начать технические собеседования. Отвечали редко и много отказывали. Компании, в которые она подавалась, были отсортированы так, что наиболее приоритетные (Google, Microsoft, Amazon, Palantir и т.п.) были в конце, чтобы к тому моменту приобрести больше опыта в собеседованиях. И, возможно, первые компании из списка не отвечали или отказывали просто потому что они были "не серьезными".
Рекрутер -- это босс первого уровня
В какой-то момент мы подумали, что много отказов приходит из-за того, что резюме не выглядит достаточно круто. Описанный опыт в резюме был такой:
- Mar 2013 -- Feb 2014Pet project
- Apr 2010 -- Sep 2012Arkadium
Test Automation Lead, Senior Test Engineer - Oct 2008 -- Apr 2010C BOSS Dev
# .Net Developer
- Год простоя. Но здесь у нее было железное алиби -- появление ребенка;
- Не совсем понятно, что за Pet Project над которым она работала непонятно кем;
- Человек был Test Engineer с непонятным опытном программирования (отсутствие программирования -- не престижная позиция)
- Да еще и пошел в тестирование после работы программистом (пошел на "понижение" -- downshifting).
Наверное это отпугивало рекрутеров...
Мы это осознали и придумали хитрость. Во-первых, пока Маша не имела права работать за деньги в штатах, она иногда работала над одним из наших хобби-проектов (Pet project). Там получилось, что у меня совсем не было времени им заниматься, и я давал ей задания. По сути Маша работала программистом в целях самообразования и использовала современные технологии. Этот опыт был описан но не очень понятно. Мы решили схитрить и явно указать что это была работа в роли Software Engineer (то есть программиста). Переработав слегка формат этой части, получилось вот так:
- Software Engineer, Mar 2013 -- Feb 2014 Pet project
- Test Automation Lead, Senior Test Engineer, Apr 2010 -- Sep 2012Arkadium
- C# .Net Developer, Oct 2008 -- Apr 2010 BOSS Dev
На первом месте идет позиция (должность), которая говорит, кем работал человек, дает примерно понять, что он делал. Потом уже дата и детали компании и проектов. И последним опытом в данном списке является Software Engineer, что демонстрирует рост по отношению к предыдущим позициям.
После этого, как прорвало. Стали отвечать почти все, и многие хотели пообщаться. Некоторые назначали технические собеседования. А может быть просто пришла очередь более серьезных компаний :)
Вывод: резюме должно демонстрировать рост по карьере и содержать привлекательный опыт. Позиция Software Engineer сделала свою работу!
Интересно, что можно потратить много времени на написание резюме, пытаясь наиболее точно описать, кто вы такой, и что у вас за опыт. А по факту на него будет смотреть рекрутер, которому надо будет понять только одно: "высок ли шанс, что этот человек пройдет собеседование?". Они редко понимают тонкости проектов и технологий. Они знают, что люди которые не демонстрируют явного опыта программирования обычно не тянут на программистов и сразу их отсеивают. В то же время, фраза "Software Engineer" их подкупает. Так вот, если резюме кажется хорошим с точки зрения инженера, его все равно могут отсеять. Выходит, его надо писать так, чтобы оно было привлекательно для всех.
На этом этапе самое главное не отправиться в урну со стола рекрутера. Получается, необходимо иметь в резюме что-то такое, на что он клюнет и организует собеседование. А дальше резюме уже не так важно, дальше знания и опыт будут проверять инженеры, задавая свои вопросы. Однако не стоит врать. Если на собеседовании выяснится, что вы приписали себе лишнее, то это "красный свет". А назвать себя "домашним программистом", вполне нормально, инженер поймет, что это была не самая серьезная работа, но может оценить стремление к знаниям и опыту, а рекрутер будет рассматривать вас вообще всерьез.
Есть еще один примечательный момент. Если вы выпускник, и у вас еще нет опыта, то рекрутер вас скорее всего не выбросит. А вот если вы уже лет 5 как закончили и все время занимались чем-то посторонним, то рекрутер подумает: "за 5 лет не развивался, сопутствующего опыта не получил, скорее всего не пройдет, значит можно и не тратить время". Так что у "не выдающихся" специалистов шансы попасть в хорошую компанию после университета выше, чем некоторое время спустя...
Первое общение
Потом были звонки и разговоры с рекрутерами. Обычно они звонят "просто так". Ну, наверное, услышать как вы умеете говорить по-английски. Более продвинутые могут спросить, над чем вы хотели бы работать. И вот тут важно не совершить ошибку -- если рекрутер почувствует, что вы не знаете, чего хотите, то он может срезаться. Поэтому к каждому такому звонку следует подготовиться -- потратить минут 5-10, чтобы прояснить для себя же свою позицию относительно той компании, сформулировать какие-то общие фразы, готовые ответы на общие вопросы типа "расскажите о себе". И приготовить пару вопросов. Обычно неплохо спросить, какие будут следующие шаги, можно о компании что-то спросить. Важно уметь эти вопросы озвучить четко и не мямлить. Это может оказаться не так просто, потому что если вы волнуетесь, то можете нести всякий бред, который отпугнет рекрутера.
У Маши была такая проблема с Palantir, она приболела в тот день, была не выспавшаяся и не подготовленная. Разговор не сложился и процесс дальше не пошел.
Волнение -- очень важный фактор в собеседованиях. Насколько мне известно, большинство людей при своих первых серьезных собеседованиях очень волнуются. Это мешает им думать, а речь делает такой неприятной, что их могут просто не слушать. Наилучший известный мне способ с этим бороться -- опыт. Поэтому очень важно собеседоваться в несколько компаний. После 10-го разговора вы уже не будете волноваться, вы уже будете чувствовать что контролируете ситуацию, вы будете лучше и быстрее понимать, что у вас спрашивают.
Частенько люди пробуют пройти собеседование, сливают, и больше не хотят. Но нет другого способа повысить свой навык общения во время интервью, как собственный опыт.
Маша волновалась дико. У нее уже были попытки пару лет назад, но все равно она переживала. Еще на нее очень давило то, что многие не отвечают либо отказывают. Отсутствие успеха понижало ее самооценку и увеличивало уровень волнения во время очередных разговоров. Когда ее пригласили на первое техническое телефонное интервью, это было огромной радостью. А когда Машу в первый раз позвали на очное собеседование, так она вообще стала гораздо более уверена в себе, это помогло ей избавиться от мыслей типа "я ни на что не гожусь".
Еще очень важно уметь себя "продать", то есть звучать уверенно, демонстрировать заинтересованность и воодушевление; показывать, что ты знаешь, чего хочешь. Когда мы репетировали, ответы на вопрос "Расскажите немного о себе" сначала были невнятными, унылыми, очень сложно было избавиться от выражений, выдающих неуверенность в себе ("я пыталась сделать то-то..., я помогала с тем-то.."). Пришлось переработать весь рассказ и научиться его говорить так, чтоб было ясно -- "Я знаю, чего хочу и почему. Мне нравится эта работа, и несмотря на то, что у меня не так много опыта, я изобретала, искала, старалась и я горжусь своими результатами". Удивительно, насколько одни и те же факты можно по-разному преподнести.
Кстати, статистика с этой истории говорит, что шанс назначения первого телефонного собеседования гораздо выше, если обращаться напрямую к рекрутеру через LinkedIn. Когда вы обращаетесь прямо на сайт компании, то большие компании обычно не отвечают вообще, а маленькие отказывают. Мне когда-то писали разные рекрутеры с предложениями, но я всегда отказывался. Я написал им всем, что моя жена ищет работу, и половина из них с ней связалась и организовала собеседование.
Вывод: Качайте свой LinkedIn профиль, хорошо иметь контакты рекрутеров из разных компаний. Ну или хотя бы имейте друзей с хорошими профилями.
Телефонные собеседования
Те кто хотел двигаться дальше назначали телефонные технические интервью. Звонил инженер из компании, общался в течение 45-60 минут. Во время таких звонков часто используют какой-нибудь онлайн сервис, где можно печатать текст (Google Docs, Collabedit, HackerRank и так далее). Просят написать код программы, а потом задают вопросы по коду. В большинстве случаев они оказались не сложные. Была пара компаний, которая спрашивала непонятно что. Есть подозрение, что они сами не знали, чего хотели. Ну ничего страшного, бывает, может быть не повезло с интервьюером. Еще раз сработал закон больших чисел -- подаваться во много компаний надежнее, чем в мало.
Это был интересный и полезный опыт. Практика в общении и решении задач. Некоторые задачки попадались Маше потом на других собеседованиях.
Очные собеседования
Если по телефону все прошло хорошо, то обычно приглашают на очное собеседование. Это очень крутой опыт по следующим причинам:
- Опыт собеседований
- Можно увидеть компанию изнутри
- Бесплатное путешествие
Очное собеседование обычно занимает часа 3-5. По факту оно состоит из нескольких собеседований с разными инженерами. Это довольно сложный процесс, отнимает много энергии. И если у вас такого в жизни было мало, то уровень волнения, стресса и скорой усталости негативно скажется на результатах.
Первое такое собеседование было в компанию SumoLogic, которая занимается чем-то в области хранения и/или обработки логов. Находится она в Redwood City, в 20 минутах езды от нашего дома. По их приглашению казалось, что это будет короткое собеседование, и поэтому мы туда поехали все вместе в расчете, что я с малышом подождем час-полтора Машу на парковке.
В итоге мы ждали часа 3, пытаясь спать в машине. Я прозевал и не выключил фары, и когда Маша вернулась, у нас уже был севший аккумулятор. Не буду вдаваться в подробности дальнейших приключений, но это было не совсем то, что я подразумеваю под "бесплатное путешествие". К сожалению, пришел отказ.
Второй компанией был Redfin -- риелторский сервис с картой, домами, ценами и так далее. Довольно неплохой, кстати. Их офис был далеко -- Seattle, WA. Они оплатили Маше билеты на самолет, гостиницу на два дня, такси и питание. Мы поехали всей семьей. Билеты на меня покупали сами, конечно, но все равно эта поездка была бы не такой экономной, если бы мы просто поехали туда сами.
Компания и команда Маше очень понравились. Она была довольна своими ответами, но получила отказ.
Это был замечательный опыт. С одной стороны казалось, что все хорошо, а результат был отрицательный. Значит, были ошибки и их надо было искать. Также этот опыт дал толчок Маше, что надо готовиться серьезнее и больше. После этого мы стали проводить ежедневные тренировки, обсуждая задачи с careercup.com. А также приготовили план ответа на разные типы вопросов: задачи; тестирование кода; тестирование продукта. Маша стала лучше решать задачи, более уверенной в ответах на разные типы вопросов.
Потом был Apple. Собеседование похоже на Redfin, но в это раз успех!
Потом A9. Аналогичная история.
И последним в списке был Google. Собеседование было самым сложным, спрашивали в основном задачи на алгоритмы и кодинг, немножко тестирование кода и ничего о тестировании продукта. По Машиным впечатлениям она прошла его так себе, была не очень довольна собой. Но... тоже успех!!!
Думаю, к моменту собеседования в Google у Маши уже накопился такой большой опыт, что такие факторы как волнение, стресс и языковой барьер уже не были проблемой. Еще на этот момент Apple и A9 уже хотели давать официальное предложение о работе, что убрало страх остаться вообще без работы. Она просто сумела потратить все силы на решение задач и ответы на вопросы. Задачи были новые, но в некоторых из них пригодился опыт решения похожих задач. Очень помогла практика написания кода, без этого Маша делала бы больше ошибок и тратила бы больше времени. Сейчас понятно, что просто знания и умения недостаточно чтобы успешно проходить сложное собеседование, нужен определенный опыт, чтобы какие-то вещи уметь делать быстро и правильно, например придумывать идею решения или простую и понятную реализацию. Чем больше опыта тем быстрее и лучше человек справляется с такими задачами.
Политика
После того как Маше сообщили о хороших результатах, пришло время принимать решение. Сложилось так, что Apple и A9 сообщили о намерениях нанять Машу примерно одновременно и это было за неделю до очного собеседования в Google. Было страшно потерять эти предложения, пока ждешь ответа от Google, который славится оочень долгим процессом найма. Потому мы хотели вести открытую игру, чтобы все знали Машину ситуацию и отнеслись с пониманием. Это было ошибкой. В итоге обе компании стали давить на то, чтобы Маша решила поскорее, и только в случае ее устного согласия пойти к ним работать, они выдали бы бумаги на подпись. Это щекотало нервы, раздражало. Маша оттягивала время как могла. Google дал ответ через 1.5 недели после собеседования, предложение было лучше по всем параметрам, кроме одного: в Apple и A9 она знала, в какую именно команду ее берут, люди оттуда ее и собеседовали, а в Google предлагали пойти в команду, которую Маша еще не видела. Но взвесив все детали, Маша решила пойти работать в Google.
Курьезные истории
Для начала стоит отметить что большинство компаний ведут себя очень порядочно, общаются вежливо, ведут себя серьезно. В общем, как и везде принято в США, люди работают качественно, много и хорошо. Однако, бывают и исключения.
Intuit
Есть замечательная компания Intuit, которая помогает людям управлять их финансами. Мы знакомы с двумя ее продуктами: TurboTax: помогает заполнять налоговые формы в конце года; и Mint: хранит историю ваших расходов по категориям, удобно для планирования и слежения за бюджетом.
Маша подавала заявку через сайт в середине декабря. Потом были праздники и она уже не ждала ответа, как внезапно в разгар празднования Нового Года написала рекрутер и назначила звонок на 2 января. Мне пришлось отпроситься с работы, чтобы погулять с Андреем, на время разговора утром. Рекрутер не позвонила. Маша написала письмо, через пол дня ей ответили с извинениями и что рекрутер заболела и проспала. Потом они переписывались немного, чтобы назначить другое время, но в какой-то момент рекрутер просто перестала отвечать. Наверное, плохой рекрутер, но как можно тупо не ответить на письмо или проигнорировать телефонный звонок, который является прямой обязанностью и не предупредить? Для штатов это неприемлемое раздолбайство, но как оказалось, такие тоже встречаются.
Tubemogul
Не очень известная нам компания, которая занимается чем-то связанным с видео стриммингом. Они отозвались, назначили телефонное собеседование. Маша даже заинтересовалась ими, стала узнавать про них побольше. Требования к позиции подходили прекрасно,к тому же компания входит в топ-5 лучших компаний для работы. Смущало только то, что офис расположен в Окленде -- это 50 минут (70км) на машине в одну сторону и там самый высокий уровень преступности в США. Но это не является поводом отказываться от собеседований! На телефонном собеседовании Маше скинули пару файлов с кодом по 300 строк и задавали вопросы типа "а что делается в этой строчке". Маша к такому не была готова, у нее попросту не было редактора с подсветкой строчек, а скопировать код в онлайн-редактор типа ideone она не догадалась. В итоге было много лишних вопросов и уточнений о том, какую именно строчку имеет в виду интервьюер.
Кстати, это был полезный опыт, теперь Маша помнит про ideone, и что там показываются номера всех строчек.
Самое необычное в этой истории -- это ответ с отказом. Если обычно это вежливые фразы в стиле "Вы нам очень понравились, но увы в данный момент для вас нет подходящей позиции. Мы будем хранить ваши контакты и сообщим, когда появится что-то подходящее." В этот раз все было по-другому. Цитирую:
Thank you for your interest in the Quality Engineer, UI Automation role here at TubeMogul.
We were fortunate to have a number of qualified applicants and wanted to inform you that we will not be moving forward with your candidacy at this time.
Please keep us in mind for future opportunities and best of luck with your job search.
Как мы понимаем перевод (возможно, мы не правы...):
Спасибо за ваш интерес к позиции Quality Engineer, UI Automation в компанию TubeMogul.
Нам повезло, что у нас есть ряд квалифицированных кандидатов и хотим вам сообщить, что мы не будем продолжать процесс с вашей кандидатурой в этот раз.
Пожалуйста, имейте нас в виду в будущем и удачи в поиске работы.
Нет, чтобы сказать дежурное "вы нам не подходите", они в лоб заявили, что у них куча квалифицированных, в отличие от Маши, людей, которые подходят лучше, так что, давай, до свидания. Взяли и обидели, да еще и говорят, "не забудьте обратиться к нам, когда будете искать работу в следующий раз". Как-то нагло...
Jobvite
На сайтах многих серьезных и не очень компаний есть дурацкая форма для отправки резюме, в которой надо указать так много дополнительной информации, что на заполнение одной такой заявки может уйти от получаса. Это раздражает жутко. Особенно, если потом не получаешь от них ни ответа, ни привета.
Более продвинутые компании используют быструю систему, где требуют только резюме, имя и электронный адрес -- супер! Когда Маша, отправляющая по 10 резюме за вечер, заметила, что эта система предоставляется компанией Jobvite, она воскликнула: "Я их обожаю! Я хочу пойти к ним работать!", и отправила свое резюме в эту фирму.
Более продвинутые компании используют быструю систему, где требуют только резюме, имя и электронный адрес -- супер! Когда Маша, отправляющая по 10 резюме за вечер, заметила, что эта система предоставляется компанией Jobvite, она воскликнула: "Я их обожаю! Я хочу пойти к ним работать!", и отправила свое резюме в эту фирму.
Они ответили. Разговор с рекрутером не получалось назначить из-за конфликтов в расписании, но они предложили просто пройти тестовое задание. После задания неожиданно прислали отказ. Чуть позже прислали опровержение отказа и пригласили на очное собеседование. Долго переписывались о подходящих датах и когда наконец договорились о дате, Маша попросила инструкции куда ехать, кого спросить в офисе. Спустя пару дней они ответили, но не прислали инструкций, зато сказали, что будет телефонный звонок. Маша уточнила и они подтвердили, что все-таки будет очное собеседование и дали инструкции, даже со списком людей, которые будут ее собеседовать (4 из 5 были выходцы из Индии). И накануне собеседования Маша заболела. Она написала им письмо с просьбой перенести -- без проблем. А когда снова стала им писать то уже никто не ответил. Все это время Маша пыталась назначить разговор с рекрутером, но так и не получилось.
С таким бардаком мы тут еще ни разу не сталкивались. Было весело! Любопытно, как им удается с таким раздолбайством выпускать хороший продукт.
С таким бардаком мы тут еще ни разу не сталкивались. Было весело! Любопытно, как им удается с таким раздолбайством выпускать хороший продукт.
Epam
Есть такая крупная компания Epam Systems. Известна она нам тем, что в Украине и Беларуси у них есть крупные аутсорсинговые офисы. Пожалуй, это одна из самых успешных компаний в Украине. А еще она известна тем, что продает в рабство предоставляет программистов и тестировщиков как контрактников в Google. У гугла есть проекты, которые им выгоднее отдать на разработку третьим лицам. Для этого они нанимают команды контрактников. Когда хотят закрыть проект, то им просто оборвать контракты и всех разогнать.
Стоит отметить что зарплата на такой позиции получается раза в два ниже чем у обычных инженеров Google. Чтобы попасть на эту позицию надо было, чтобы Машу нанял Epam, а потом подыскал ей место на каком-то из проектов. Вот она и попробовала пройти собеседование в Epam на позицию Software Test Engineer, но получила отказ.
Вот бы они удивились узнав, что в то же время ее квалификации оказалось достаточно для работы в самом Google.
Вообще тут дело в том, что Google и Epam нуждаются в разных людях: Google ищет людей с хорошим потенциалом, сообразительностью, умением решать задачи и хорошим фундаментом в компьютерных науках; Epam ищет опытных работников, которые точно смогут выполнять определенные задачи, чтобы сдать проект. Грубо говоря, одним нужны более "творческие" люди, а другим "опытные". И вот, оказалось что первых ценят больше и Маша на них "годится", а на вторых нет. Ну и ладно, так даже лучше :)...
Такая вот занимательная история!
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.