Как улучшить навыки разработчика и подготовиться к собеседованию в Google — обсуждение на Quora

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

Как улучшить навыки разработчика и подготовиться к собеседованию в Google — обсуждение на Quora

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

У меня отложено достаточно денег, чтобы прожить год, нигде не работая. За это время я проработаю как можно больше вопросов при помощи сервисов Google Сode Jam, Codechef и Topcoder. Также я изучу книги, которые помогут мне подготовиться к собеседованию в Google, начиная с Cracking the Coding Interview

— автор вопроса

По мнению автора, даже если он не получит работу мечты, он все равно сделает большой прогресс и получит ценные навыки, которые пригодятся ему в дальнейшей карьере. Впрочем, нынешний сотрудник Google Майк Базилян посоветовал ему не бросать работу, особенно на такой продолжительный срок.

«Как вы объясните разрыв в стаже потенциальному работодателю? "Я целый год изучал алгоритмы", — звучит неубедительно, я бы не поверил. К тому же невозможно целыми днями зубрить алгоритмы», — уверен Базилян.

В качестве альтернативы он предложил не уходить с работы, а по выходным смотреть и выполнять уроки с сервиса Coursera или читать главы из классического учебника CLRS («Алгоритмы: построение или анализ»): «Поговорите с вашим начальником, расскажите ему о своем желании расти и развиваться. Вдруг у него есть подходящая работа?».

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

Другая сотрудница Google, Сунлинг Янг, напротив, поддержала автора. Она сама ушла с работы и посвятила освободившееся время занятиям. Однако она предупредила, что тратить на это год — контрпродуктивно.

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

— Сунлинг Янг

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

«Я проработала все проблемные места по книге Cracking the Code Interview и Coding Interview Questions. Кроме того, я писала на Python, Java и прогоняла код через Eclipse чтобы убедиться, что он работает должным образом. Это важно для Google и Amazon, потому что они заинтересованы в соискателях, которые могут сразу же написать рабочий код», — пояснила Янг.

Кроме того, она порекомендовала почитать книги по теме — «Алгоритмы. Руководство по разработке» Стивена Скиены, а также Programming Pearls Джона Бентли и «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», написанная «Бандой четырех».

«Также я рекомендую найти единомышленника. Мой бывший коллега тоже решил устроиться в ИТ-корпорацию. Мы занимались вместе, к тому же он надоумил меня изучить ключевые системы — Bittorrent (p2p), Google BigTable, Google GFS, Google Spanner и Amazon Dynamo. Эти знания пригодились мне, когда на собеседовании меня спросили про проектирование систем», — посоветовала Янг.

Если вы хотите получить работу в Google, я советую сперва пройти собеседование в других ИТ-компаниях. Это поможет вам отточить собственную презентацию и даст представление о том, как проходят собеседования. Я прошла в Facebook и Tumblr, но отказалась там работать и дождалась приглашения из Google.

— Сунлинг Янг

Бывший руководитель отдела разработки сервиса Box Сохам Мехта предложил автору найти знакомых в Google, которые могли бы оценить его нынешние навыки и дать рекомендации по развитию.

«Если вы собираетесь прожить целый год на накопления, то вы лишитесь не только их, но и зарплаты. Если вы живете в Кремниевой долине, то сумма ваших потерь может запросто перевалить за $200 тысяч. Даже если вы устроитесь в Google, вам потребуется несколько лет, чтобы поправить свое финансовое положение», — предупреждает он.

Чтобы развить навыки программирования, Мехта посоветовал автору решать задачи на время: «Поставьте себе ограничение: 45 минут. За это время у вас уже должен быть написан работающий код. Такие стресс-тесты очень помогают на собеседованиях».

Для тренировки он посоветовал воспользоваться такими сервисами, как TopCoder, Codeforces, HackerRank или Leetcode. Также Мехта предупредил, что во время собеседования интервьюер может вызвать автора к доске и предложить написать свой вариант кода: «В этом нет ничего страшного, если у вас за плечами хорошая практика».

Так же Мехта посоветовал автору не зацикливаться на Google, а стараться стать мастером своего дела: «Возможно это покажется вам непродуктивным, но нужно оттачивать профессиональное мастерство и умение преподнести свои навыки — тогда вами заинтересуется не только Google, но и другие компании. И даже если вас не возьмут в Google, упорная работа, план и постоянная практика так или иначе помогут вам и помогут там, где вы ждали этого меньше всего».

8 комментариев

Да нахер это надо, год учится чтобы устроится овощем на всю жизнь ))

2
Ответить

Зачем нужны эти компании задротов ?

Ответить

Эх сразу в softproducers захотелось, там говорят крутые челики.

3
Ответить

запросто перевалить за $200 тысячНа что можно тратить 20К в месяц занимаясь самообучением?

а по выходным смотреть и выполнять уроки с сервиса Coursera или читать главы из классического учебника CLRS Этот Базилян идиот? По выходным нужно отдыхать, иначе пиздец продуктивности на след. неделе.

Сунлинг ЯнгХоть что-то разумное.

Ответить

3 часа днем и 2 часа вечером. Между ними можно погулять, встретиться с друзьями, etc. За выходные получается 10 часов, что вполне хватает и на Стенфордский(Корман) и на Седжвиковский курс по алгоритмам.

Ответить