Мама, меня взяли в Google
Руслан Тхакохов, студент второго курса бакалавриата кафедры компьютерных технологий, поступил на стажировку в офис Google в США.
О стажировке в Google я всерьез задумался после того, как случайно наткнулся на блог Ларисы Агарковой, посвященный работе в Google и жизни программистов в Калифорнии — там была статья о стажировках в компании в том числе. Я подумал, что должен воспользоваться этим шансом: составил резюме на позицию Software Engineering Intern, Summer 2016, отправил его Ларисе на проверку, а потом в Google. Через неделю со мной связался рекрутер с просьбой выслать ему информацию о моей успеваемости в вузе. После получения документов он сообщил, что со мной хотят провести два технических интервью.
Я начал готовиться к этому испытанию еще за месяц до того, как отправил резюме. Я разбил свою подготовку на несколько частей: алгоритмы и структуры данных; язык программирования (в моем случае — Java); проекты по разработке; interview skills. Последнее подразумевает умение решать задачи, писать код в гугл-доке и мыслить вслух, чтобы интервьюер понял, как вы подходите к решению задачи. Тут мне сильно помог glassdoor.com, где я нашел отзывы и советы тех, кто уже пытался пройти интервью. Также я решал задачки на leetcode.com, где они удобно отсортированы по темам, и ответил не на одну сотню Java Interview Questions.
На собеседования ушло примерно по 50 минут. На первом интервьюер дал задачу, решение для которой надо было писать в гугл-доке. Потом он немного видоизменил условия, чтобы посмотреть, как я откорректирую решение. Я, в свою очередь, задал несколько вопросов про работу в компании. На втором собеседовании мы обсуждали мое резюме, потом я решил задачу на бинпоиск и попытался эффективно реализовать заданный интерфейс. В завершение интервью мне задавали вопросы по Java, проверяя не столько знание языка, сколько умение рассуждать и приходить к верному выводу. Впечатление от собеседований у меня только позитивное: интервьюеры настроены крайне доброжелательно, они могут начать ненавязчиво рассуждать вместе с тобой, подталкивая к решению, если ты в тупике.
Через три недели после интервью мне сообщили, что я успешно прошел этот этап отбора. Впереди ждал еще один — выбор проекта, над которым я буду работать в Google. На этой стадии кандидатам также ничего не гарантируют — все зависит от того, понравитесь ли вы руководителю проекта. Но в моем случае все было проще: рекрутер объяснил мне, что я очень круто прошел оба собеседования и они решили гарантировать мне стажировку, какой бы проект я ни выбрал.
В США я буду работать в команде GooglePlay, заниматься разработками по Android и машинному обучению. Мой начальник вкратце описала суть проекта: мы будем совершенствовать поиск в GooglePlay и делать его более «умным». Например, при выдаче в результатах поиска какого-либо фильма, пользователю будет предлагаться дополнительная информация о нем на других ресурсах в Интернете То же самое касается книг, музыки и всего остального, что есть на GooglePlay. За время моей стажировки, которая продлится 14 недель, я должен буду закончить определенную разработку. Более подробно о моих обязанностях мне расскажут в офисе Google.
Мои родные и близкие были очень удивлены, когда я сообщил им о стажировке. Я никому не говорил о своих планах, поэтому о результате рассказал примерно так: «Мама, привет, меня взяли в Google». Сейчас я жду, когда мне одобрят визу. С документами для оформления на стажировку вообще не было проблем: меня попросили прислать в Google все необходимые справки, а в ответ выслали уже готовый пакет документов для консульства.
Податься на стажировку в компанию я хочу и в следующем году. Дело в том, что успешных стажеров Google потом принимает на постоянную работу, но для этого необходимо быть студентом последнего или предпоследнего курсов — в компании готовы ждать талантливого программиста. А я пока только на втором году обучения. Если пройти в Google во второй раз не получится, попробую в Microsoft или Apple. Хотя в последнем все сложнее: они ищут не «универсальных» программистов под разные проекты, а людей с конкретными навыками для решения конкретных задач.
Почему меня взяли в Google — загадка
Игнат Лоскутов, студент третьего курса бакалавриата кафедры компьютерных технологий, стажируется в канадском офисе Google.
Около года назад я решил с пользой провести следующее лето и получить практический опыт разработки ПО, которого у меня ещё не было. Я стал искать информацию о стажировках в различных компаниях и начал сразу с Google. Дело в том, что в петербургские компании можно успеть подать заявку весной, а вот Google проводит набор стажеров осенью. Кроме того, даже если бы я им не подошел, я все равно получил бы полезный опыт прохождения технических собеседований.
Собеседований в Google было два подряд, оба по 45 минут. Готовиться к чему-либо, включая собеседования, — явно не мой конёк: с первым интервью, на мой взгляд, я справился совсем плохо, а за второе было хотя бы не стыдно. В общем, вопрос, почему меня взяли, остаётся для меня загадкой. Потом было несколько звонков от потенциальных руководителей проектов, в команде которых я мог бы работать в Google. И наконец, меня взяли на стажировку в монреальский офис для работы над набором инструментов, позволяющим находить в программах на C++, собранных нужным образом, различные ошибки при работе с памятью — одной из таких программ является Chrome. Вообще, инструмент открытый и используется многими другими проектами, поэтому я могу о нем свободно рассказывать: многие стажеры работают над внутренними проектами, поэтому особо про них не распространяются.
Перед тем, как попасть непосредственно в монреальский офис, я прошёл Intern Orientation в центральном офисе Google в Маунтин-Вью. Там нам прочитали несколько докладов о том, как работает Google и чего от нас ожидают, и выдали корпоративные ноутбуки и забавные бейсболки с пропеллерами. В Маунтин-Вью здорово: там огромное число зданий компании, и в каждом есть что-то интересное — например, nap pads, в которых можно поспать, не покидая офис. Ещё много различных кафе на любой вкус, однако очереди в них огромные.
Работать я начал совсем недавно, вернувшись с Intern Orientation, поэтому судить о том, насколько мне это нравится, пока трудно: в целом впечатления только положительные. Я выполняю интересные задачи в хороших условиях — начиная от микрокухонь в шаговой близости и заканчивая бильярдом и массажным кабинетом. Так что всегда есть чем себя занять, на худой конец можно и поработать. Шучу, конечно.
В целом, помимо Google, Facebook и подобных компаний, есть и множество других, не менее классных, в том числе и в России, — во многих из них весьма неплохие условия работы. Прямой связи между условиями работы для программистов и страной, в которой расположен офис, нет. Но я думаю, что получить такой шикарный международный опыт работы, да ещё оплачиваемый — отличная возможность «прокачать» свои навыки. Если хорошо проявить себя на стажировке, можно пройти собеседование на постоянную работу или же приехать на повторную стажировку.
Для большинства программистов спокойная жизнь — далеко не главное
Антон Ковшаров, студент первого курса магистратуры кафедры компьютерных технологий, в прошлом году был на стажировке в Google, в этом году проходит стажировку в Facebook.
Попасть на стажировку в Facebook или Google можно, отправив резюме самостоятельно через соответствующие разделы сайтов компаний, либо получив рекомендации от сотрудников. В случае успешного рассмотрения резюме будут назначены несколько удаленных технических интервью. Кроме того, в Google необходимо пройти интервью с непосредственными представителями команды, в которой ты будешь работать. На стажировку и в Facebook, и в Google меня порекомендовали сотрудники компании.
Если сравнивать эти крупнейшие компании, можно сказать, что они очень похожи. Обе более-менее ориентированы на молодых инженеров, которые могут посвящать большую часть своего времени работе. Например, насколько я знаю, в Microsoft иная ситуация: там большинство разработчиков имеют семьи и ужинают с близкими, не задерживаясь в офисе.
Фиксированного рабочего дня в офисе Google в Маунтин-Вью штата Калифорния нет, ты волен приходить и уходить, когда тебе угодно. Можно пойти в спортзал в середине дня или уйти раньше, если ты устал. Но это не приводит к тому, что люди проводят мало времени на работе. Прежде всего, перед тобой стоят задачи, успешное выполнение которых в твоих интересах. И, чтобы их выполнить, тебе необходимо взаимодействовать с людьми: поэтому большинство команд имеют более-менее фиксированный график. Кроме того, компания предоставляет бесплатное питание во внутренних кафе, которые есть в каждом здании, а их в Маунтин-Вью уже больше сорока. В компании очень много выдающихся инженеров, и все они открыты для общения. К любому можно обратиться с вопросом или просьбой о помощи. Также там много возможностей для совместного досуга: от занятий йогой на свежем воздухе в середине рабочего дня до игры в футбол с коллегами.
Моя стажировка в Facebook начнется 27 июня и продлится 12 недель. Я читал про «пять ценностей» компании: не бояться трудностей, уметь быстро разрабатывать новые продукты, фокусироваться на решении задач, быть открытым новому и создавать что-то, что будет менять жизнь к лучшему. По-английски это звучит так: «Be Bold», «Be Open», «Focus on Impact», «Move Fast», «Build Social Value». Мне очень интересно, как эти принципы работы, корпоративной культуры, мировоззрения воплощаются в жизнь. Также любопытно узнать, чем Google и Facеbook отличаются друг от друга.
Я несколько раз слышал от своих знакомых: «Если ты можешь получить работу в крупной IT-компании, то ты уже устроен в жизни. Чего же еще можно хотеть?» Большинство моих друзей так не считают. Для программистов сейчас много работы по всему миру. Для многих из них спокойная жизнь и будничное существование — не главное. Они хотят создавать что-то свое, крутое, гениальное, ставить перед собой невыполнимые, на первый взгляд, задачи. Все программисты любят играть в игры, и свою жизнь многие из них выстраивают соответственно: чем сложнее уровень, тем больше удовлетворенность от его прохождения.
Для Facebook важно, чтобы сотрудники занимались тем, что им нравится
Иван Арбузов, выпускник 2016 года магистратуры кафедры компьютерных технологий, стажировался в Facebook в США, уезжает на постоянную работу в офис Facebook в Лондоне.
После стажировки в США, на которую я попал в ходе стандартного отбора, я получил предложение устроиться на постоянную работу. Однако, к сожалению, я не выиграл рабочую визу в Штаты, поэтому в конце весны мне предложили переехать сначала в Лондон — я согласился.
Возможности, которыми наделяют стажеров с точки зрения разработки такие же, как и у постоянных сотрудников. О таких фразах, как «раз ты стажер, ты не можешь трогать такой-то код» или «у тебя нет доступа к такой-то базе данных, так как ты стажер», можно забыть. Если ограничения и есть, они будут связаны скорее с областью деятельности. Однако стоит отметить, что вместе с большими возможностями приходит соответствующая ответственность.
Процесс набора в Facebook устроен так же, как и в большинстве других крупных компаний: несколько технических собеседований, нацеленных на определенные области знаний. Типичная ситуация, когда талантливый разработчик переволновался на собеседовании, что-то у него не получилось, и поэтому он не прошел. Такой компании, как Facebook, есть из чего выбирать: желающих там работать много, рекрутинговый процесс никогда не останавливается.
Facebook отличается от других компаний тем, что новый сотрудник, только что окончивший университет, не знает наверняка, чем будет заниматься. Сначала в течение пары месяцев тебя знакомят с техническими аспектами компании, показывают все нюансы, а дальше ты сам решаешь, что тебе интересно. Для Facebook очень важно, чтобы сотрудники занимались тем, что им нравится, иначе они потратят свое время и время своей команды и в итоге ничего полезного не сделают. Также очень хорошо, что ты чуть ли не каждый год можешь менять направление деятельности. Лично я бы хотел разрабатывать внутреннюю среду разработки Facebook, но в первый год, наверное, не получится, потому что вся команда находится США, а я пока в Лондоне. Однако потом я точно смогу заниматься IDE.
Если ты принимаешь предложение о постоянной работе после стажировки, тебе дают различные бонусы в виде акций компании, а также единовременное вознаграждение. Сначала я не мог понять, зачем они дают такие деньги новичкам, но потом понял: дело в том, что молодых разработчиков к моменту выпуска из университетов очень быстро расхватывают компании со всего мира, и таким образом Facebook пытается удержать талантливых стажеров. Получается, что в течение первого года работы они инвестируют в новичка, обучают его, а уже потом он начинает приносить прибыль компании.
Еще один очень интересный момент набора сотрудников из стажеров заключается в том, что, помимо профподготовки, кандидат должен иметь хорошо развитые «social/communication skills» — навыки общения. Даже если ты очень умный и выиграл множество олимпиад, но при этом не можешь общаться с командой и другими коллегами, это может негативно сказаться на финальном решении компании, брать или не брать тебя на постоянную работу. Надо уметь работать с людьми, а этого многим ребятам в нашей отрасли не хватает. Некоторые лучше сядут в уголок с компьютером, ни у кого ничего не спросят, даже если встанут в тупик и будут биться над пустяковой проблемой целый день. В Facebook так не работают. Разумеется, надо уметь разбираться в чужом коде, пытаться сначала самостоятельно выяснить, как работает тот или иной функционал, но, если решение конкретной задачи застопорилось и требует слишком много времени, надо просто обратиться к тем ребятам, кто в этом хорошо разбирается. Это поможет сэкономить время не только тебе, но и команде в целом, так как перед ней обычно стоит конкретная задача — разработать что-то в определенный промежуток времени. А один из постулатов компании «move fast» сам за себя говорит о темпе работы в Facebook. Особенно, как оказалось, навыки общения важны для получения предложения о работе в Лондоне. Во время стажировки мне повезло с проектом — то, чем я занимался в Нью-Йорке, нужно было делать совместно с коллегами из Калифорнии. И этот опыт согласования, переписки и экстренного решения проблем в разных часовых поясах очень поможет мне сейчас в Лондоне, так как мне предстоит работать с коллегами из США удаленно.
График работы сотрудников в Facebook скорее гибкий, чем свободный: никто не обязывает тебя приходить к 9.00 и уходить в 18.00. Ты можешь выбрать более удобный график работы для себя. Правда, днем, в течение пяти часов, все же желательно быть в офисе вместе с командой, хотя и это обговаривается. Можно некоторое время работать из дома, если договориться с менеджером и командой. В моей группе во время стажировки был человек, который на три недели уехал работать домой, в Бразилию. При этом он не брал отпуск. Понятно, что для этого необходимо уметь работать удаленно и заручиться доверием коллег, доказать, что после твоего отъезда ни у кого не возникнет проблем. Каждый четверг вечером в офисе устраивают небольшие вечеринки, при этом в компании есть своя кухня, и сотрудники могут вообще не задумываться о том, где бы позавтракать, пообедать или поужинать. Общение между коллегами неформальное, иерархия должностей почти не чувствуется — любой может подойти к Марку Цукербергу и обсудить с ним какую-то проблему. Все очень доброжелательны, и это здорово.
Не нужно быть гением, чтобы попасть на стажировку в Facebook, Google или другую крупную компанию. Как показывает опыт нашей кафедры, гении скорее останутся дома, и это их выбор. Если ты студент кафедры К Т Университета ИТМО, то ты почти наверняка решишь все задачи на технических собеседованиях и пройдешь в компанию с первого раза. Университет ИТМО очень дисциплинирует: даже на последних курсах ты не теряешь знаний об алгоритмах, структурах данных, которые получил еще в школе или на первых курсах обучения. Это важно. Главное, на мой взгляд, не переставать учиться. Я встречал очень талантливых ребят, которые «забивали» на обучение и их исключали из вуза — причиной послужило отсутствие у них ответственности. Важно правильно распоряжаются своими мозгами. Если стараться, то обязательно получится попасть и в Facebook, и Google и, вообще, сделать все, что только захочешь.