Тут вы можете задать любые свои вопросы на довольно широкие темы, которые я затрагиваю с блоге – работа в IT, работа в Google, интервью, карьера, личный и профессиональный рост, жизнь в США и многое другое.

Я не обещаю, что отвечу на все (особенно, если вопрос слишком личный, оскорбительный или поставлен некорректно), но постараюсь не пропустить ни одного вопроса, который может быть интересен или важен другим.

Обновления с ответами раз в неделю. Вопросы полностью анонимны, но если вы хотите спросить или сказать что-то неприличное, я буду благодарна, если вы сдержитесь :).

Задать вопрос можно тут

Ответы будут появляться ниже. Stay tuned!

Работа в Google

  • Какой из европейских офисов Google лучше с точки зрения карьерного роста?
    С точки зрения карьерного роста лучше всего большие офисы. Самые большие офисы в Европе, насколько мне известно – это Цюрих. Лондон тоже немаленький. Поэтому с точки зрения именно развития карьеры я бы выбирала один из этих двух офисов.
    .
  • Расскажи, пожалуйста, сколько политики в среднем в Google (понимаю, что зависит от проекта и команды).
    Очень зависит от уровня – чем выше уровень, тем больше политики. Человек, который только пришел после университета вряд ли столкнется с большим количеством, ему надо будет писать много-много кода, будет не до политики :). Зато менеджерам уже надо много друг с другом разговаривать, договариваться, и, бывает, что и “делить территорию”.
    В моем случае градус политики уже довольно высокий. Но это здоровая политика, без интриг и кинжалов в спину. Просто я понимаю, что у другой команды есть свои интересы, и они не всегда совпадают с моими. А дальше начинается поиск путей, как бы так нам сделать, чтобы и волки сыты, и овцы целы? Не всегда этот поиск проходит гладко, но в целом в Google работает очень много адекватов – это очень сильно упрощает процесс.
    И еще, подозреваю, что тут сильно зависит от команды. Например, я слышала, что в Google+ было много политики, да и сам VP был политикан еще тот. Как на самом деле я не знаю.
    .
  • Расскажи, пожалуйста, как часто бывает, что команда работает над новой большой фичей или даже целым проектом и… все потом сворачивают или замораживают до лучших времен по причине смены приоритетов или других схожих причин.
    В ads backend, где я работаю, такое бывает крайне редко, и проекты сворачиваются довольно рано. Такое, чтобы команда год работала, и потом мы вас закрываем – я не слышала. Но знаю, что это может случиться с эксперементальными командами, которые работают над идеей, которая не понятно вообще взлетит ли.
    .
  • Есть ли до сих пор 20% рабочего времени для личных проектов?
    Теоретически. Практически процесс построен так, что делать 20% – это быть самому себе злобным буратино. Мне мой ментор прямо сказал как-то “Не занимайся этой ерундой”. Engineering director, кстати.
    Теперь почему “ерунда”. Это не дает никаких ощутимых плюсов для карьеры. Но требует довольно много ресурсов – переключаться между двумя совсем разными проектами. И вот вы работаете над своим главным проектом на 80%, а коллеги рядом – на 100%. И когда приходит время оценки результатов вашей работы, то ваш менеджер, скорее всего, ваши 20% не оценит вообще (так как работали вы не для него). А менеджер, для которого вы делаете 20%, в оценке ваших достижений не участвует – это работа вашего главного менеджера. Вы оказываетесь в невыгодном положении.
    .
  • В интервью с Артемом и в своем блоге ты несколько раз упоминала о ежеквартальном “разговоре” с менеджером о задачах, с которыми нужно вовремя справляться и показывать результаты. А в какой форме эти задачи формулируются? Это просто какие-то таски (а кто их тогда эстимейтил?) Или более высокоуровневые цели, типа “оптимизировать систему Х”?
    Опять же, зависит от уровня сотрудника. Если человек только-только пришел из университета, то никто не будет от него ждать, что он сам себе поставит высокоуровневые задачи, сам себе их разобьет на конкретные задания, и сам все сделает. Обычно ему скажут, что надо делать. Не на уровне “Напиши такой-то класс”, а скорее “Сделай в системе такую-то фичу, которая работает так-то”.
    Когда человек поднимается выше, то он мало того, что начинает делать более высокоуровневые задачи, так он сам себе их еще и придумывает. И еще коллегам, которые только из университета задания придумывает. И вот в начале квартала такой человек приходит к менеджеру и говорит “Слушай, босс, что-то у нас система с ростом количества пользователей стала медленнее. А наш VP говорил, что у нас приоритеты там, чтобы все быстро работало. Поэтому я бы хотел в этом квартале ее оптимизировать. Я уже придумал, что нам, скорее всего понадобится такой-то кэш, и еще вот такие-то индексы и базе данных и <еще куча идей>. Вот я бы смог заняться кэшем, но индексы я не успею. Может быть Вася сможет этим заняться, как думаете?”. И дальше менеджер соглашается с идеей. Или не соглашается. Обычно соглашается.
    Это, наверное, кажется страшновато и куча ответственности. Но когда человек долго работает, то в какой-то момент работы становится намного больше, чем он может сделать. И он видит возможности сделать круто везде, но времени нет, увы. Поэтому, например, лично мне можно выдать пяток интернов в любой момент – у меня найдется работы для всех! И когда приходит время планировать, идей что можно сделать у меня всегда достаточно.
    .
  • Что вам нравилось в Computer Science до прихода в Google и сейчас? Изменились ли предпочтения, интересы? 🙂
    Это отличная профессия, вообще не понимаю, почему все не идут в программисты.
    – Сразу виден результат работы. Пописал код пару дней, и он работает, данные выдает, клиентов вот обслуживает. Профессии, где человек получает быстрый результат своей работы – от повара до программиста – доказанно делают человека более счастливым.
    – Не надо много работать с людьми. Люди – они такие сложные создания. У каждого свои интересы. Тут не додумал. Там передумал. Это забыл. То постеснялся отказать, и все равно не сделал. В общем, нужен специальный талант и железные нервы. А с программой – она либо работает, либо нет. Все четко, не надо вести с ней переговоры.
    – Это реально просто (для меня). У меня была соседка в общаге, которая училась на адвоката. Она к экзамену изучала наизусть 2-3 книжки. Закон такой, параграф такой, исключения такие. А экзаменов – 5. Училась нон-стоп. Писала рефераты десятками. А у меня? 10 страничек с леммами и теоремами. Надо только сосредоточиться и понять. Это день. Ну два. Или там программу написать. Намного проще, в общем, информации меньше на порядок. Просто она несколько специфическая, надо думать.
    Со временем все меняется, конечно. Если раньше мне было интересно очень много всего и я копала в ширину, то сейчас наоборот, хочется выйти на какой-то другой уровень, который намного глубже. Один коллега – очень-очень опытный даже по меркам Google – как-то сказал. “Все задачи backend на самом деле об одном и том же – перемещать данные отсюда туда. И куда бы я ни пришел – я знаю, что мне просто надо переместить данные. И я могу сделать это хорошо на любом проекте, и в любой компании”. И еще он говорил “Все люди хотят одного и того же. Когда ты это понимаешь, то построить систему не ту, про которую они говорят, что они хотят, а которую они на самом деле хотят – довольно просто.” Вот хотелось бы достичь этого уровня дзэна :).
    .
  • Может ли сотрудник Google пользоваться продуктами конкурентов? Можно пользоваться IPhone вместо андроид-смартфона, а вместо поисковика Google, например, bing?
    Да, конечно. Например, для рабочего ноута у нас есть несколько вариантов – Lenovo, Apple, Chromebook. Большинство выбирает Apple, никаких проблем. У меня Lenovo, кстати, как-то с яблочными не сложилось.
    Рабочие телефоны Google выдает только Android, правда. Но если я хочу пользоваться Apple в качестве своего личного телефона, то никаких проблем. Равно как и поисковик – всем пофиг чем я пользуюсь.

Стажировки

  • Я успешно прошел интервью на обычного SWE Intern, которому в этом году не нашли проект (видимо, был слабоват) в Штатах. Хочу летом накопить опыт работы в больших и сложных проектах и т.д., чтобы в следующем году вышло более удачно. С точки зрения хоста, хороша ли стратегия закрывания максимального количества issues в https://github.com/google/ на Java и C++ и в других интересных и сложных trending repositories?
    Обычно хосты не смотрят на количество закрытых багов на гитхабе. Я бы нашла работу на частичную занятость, если есть возможность – это точно плюс.
    .
  • Часто ли интерны остаются на 2 из 3 месяцев на стажировке? Известны ли вам варианты (месяц + потом пауза + еще 2 месяца)?
    Не знаю таких случаев, но как хост могу сказать, что я бы на такое не согласилась. Поэтому вряд ли с такими ограничениями легко будет найти себе команду.
    .
  • Как происходит конвертация из стажера в полноценного сотрудника, раз по возвращении со стажировки ты ещё должен учиться?
    После стажировки интерн должен быть студентом еще один или два семестра (то есть максимально 9 месяцев). Google обычно вполне готов подождать, пока будущий интерн окончит университет. Если честно, я не очень понимаю сама, почему сделано именно так.
    В 2010 году, когда конвертилась я, условия чтобы студент еще учился  минимум один семестр не было. Нужно было только быть студентом все время стажировки. Поэтому в моем случае я в конце августа прилетела в Прагу после стажировки, и 10 сентября сдала диплом и гос экзамены. И в тот же день студентом быть перестала. Возможно просто изменились требования в J визе.
    .
  • Учусь на 3 курсе университета. Заканчиваю университет в следующем году (всего 4 курса). Меня смогут принять на стажировку в Google на 4 курсе? С условием, что я поступаю в магистратуру на 2 года. И есть ли возможность учась на магистратуре подаваться на стажировку?
    Если коротко, то да и да.
    Для того, чтобы податься на стажировку на последнем курсе бакалавриата, насколько мне известно, даже не нужно никаких бумаг о продолжении учебы. В этом случае, правда, лучше подаваться через реферрала и попросить его написать в форме, что кандидат будет продолжать учиться, и по-этому он eligible. Или, если подаетесь через сайт, сделать это очень явным в резюме.
    Бумаги понадобятся уже после того, как кандидат пройдет интервью. В этом случае возможны несколько вариантов – 1) если человек зачислен в магистратуру, то подтверждение о зачислении 2) если зачисления еще не было, но уже поданы бумаги, то подтверждение о сданых бумагах и письмо какого-нибудь сотрудника университета “зачисление – это формальность, на 99% вася будет зачислен, если только сам не передумает” 3) если подачи бумаг еще не было, то письмо от какого-нибудь професора из университета и тети из деканата примерно содержанием как в предыдущем пункте. Для пунктов 2 и 3 Васе надо будет предоставить подтверждение о зачислении перед началом стажировки.
    .
  • Можно ли поступить в магистратуру специально, чтобы мочь попасть на стажировку? Так-то я не планировал. Но подумал – я подамся в магистратуру, и если пройду на стажировку, то пойду дальше учиться. Оно того стоит. А если не пройду, то можно в магистратуру не идти. Прокатит ли такой план?
    Если кратко, то да.
    Тут нужно понимать такой момент. Идея стажировок – дать студентам возможность получить ценный опыт во время учебы, а не замотивировать специально продляться только ради возможности попасть на стажировку. То есть такой план противоречит духу самой идеи. Но чисто формально – если человек идет учиться в магистратуру, это делает его eligible. А какие у него мотивы для учебы Google не спрашивает. Равно как и то, что он планирует делать, если на стажировку не попадет.
    .
  • Пожалуйста, напишите, что надо уметь делать для быстрого поиска хоста. Физтех, 4ый курс, прошел интервью, 1 звонок и пустота (уже как год работал на полставки в известной поисковой компании, что и было указано в резюме).
    Это очень широкий вопрос, я напишу пост на эту тему. Но если кратко:
    – Не ограничивать свой круг интересов. Некоторые пишут “Хочу только machine learning”. Это понижает шансы. Так надо писать, только если вы не согласны ни на какой другой проект.
    – Когда вам пришлют заполнить формочку и своих интересах, вместо того, чтобы писать о себе, пишите, что вы можете дать команде. Не “Я хочу работать над большим и интересным проектом с machine learning”, а “У меня есть опыт работы в больших и маленьких командах, я запускал проекты в production, отлично пишу на C++ и имею реальный опыт работы в большой компании. Стремлюсь все делать быстро и качественно, постоянно совершенствуюсь, вижу стажировку как отличную возможность показать себя и научиться новому”. Лично мне, как хосту, намного ближе второй вариант :).
    – Чем больше у вас опыт в Java/C++, тем выше шансы. Нарабатывайте количество строчек кода.
    – Иметь план B. Если сейчас не попадете на стажировку, то можно попробовать податься на летнюю. И лучше сразу во много компаний. Спросить у рекрутера, какие будут варианты, если сейчас хост не найдется.
    .
  • Нужен ли транскрипт оценок из университета при подаче на стажировку? Влияет ли он на процесс отбора кандидата?
    Нужен, и иногда влияет. Лично я вообще не смотрела на оценки. Но знаю хостов, которые довольно щетипильно относятся к этому вопросу. Так что как повезет.
    .
  • Что ты делала в выходные во время стажировок?
    Я впахивала. Мне в конце стажировки нужно было получить оффер, и у меня был довольно низкий старт – я не знала С++, я никогда не работал с backend, для меня все было новое, и мой менеджер потом говорил, что первую неделю или две он думал, что я вообще кошмар :). Судя по всему, под конец стажировки он думал совсем наоборот, так что мои “пахать на 120%” дали свой результат.
    .
  • Как у некоторых получается стажироваться сроком ~ полугода? Они просто подаются на обычную стажировку для студентов, а потом просто указывают, что они не на 12-14 недель, а больше?
    Возможно, можно продляться. Но и есть специальные стажировки – recidency program, кажется – которые рассчитаны на полгода или даже год.

Резюме

  • Влияют-ли результаты в Code Jam на шансы получения интервью? И стоит ли включать их в CV?
    Стоит и влиет в положительную сторону. Обязательно включайте, если результаты хорошие. Даже если место было не призовое, но вы, например, вошли в первую двадцатку из 200 человек (можно написать top 10%, например).
    .
  • Возможно ли устроиться в гугл без высшего образования? Как смотрят на это HR и как решается визовый вопрос?
    Возможно, но сложно. Обычно от кандидатов без высшего образования требуют минимум лет 8-10 опыта. С такими кандидатами визовый вопрос решается довольно просто, большинство стран их приравнивает к людям с дипломом бакалавра. Но это не отменяет того, что без высшего образования намного сложнее.
    .
  • Какой уровень английского нужен для того, чтобы быть принятым? Это скорее идеальный английский или просто приемлемый для передачи информации уровень?
    Нужен довольно хороший английский. В том смысле, что человек должен понимать, что ему говорят, и сам мочь внятно изъяснить свои мысли не думая долго над каждым предложением. Я бы сказала, что это где-то уровень upper intermediate. Advanced необязательно.

Карьера

  • Расскажи пожалуйста свое видение на то, как быть человеку, который переходит в программирование из другой сферы, но хочет при этом попасть на работу в Google.
    Хорошая новость – это возмножно. Например в США даже есть специальные компании, которые на это ориентируются. Если кратко, то людей там несколько месяцев очень интенсивно готовят, потом они обычно работают год-два где-нибудь в стартапе, параллельно активно изучая алгоритмы и решая задачи, и потом подаются в большую компанию.
    Если вы в стране, где таких компаний нет, то процесс пойдет немного медленнее, но идея примерно та же – вначале надо получить какое-то образование/сертификаты в относительно нормальном месте (можно попробовать онлайн в США, но я не уверена как это работает), и потом пару лет поработать в нормальном месте перед тем, как подаваться. Как попасть в “нормальное место” – это уже другой вопрос, но, думаю, можно просто пробоваться на позицию junior engineer.
    .
  • Какой язык программирования в Google наиболее востребован сейчас и какие тенденции видятся в будущем ? Работаю Java разработчиком, но также интересуюсь C++. Востребован ли C++ и есть ли у него перспективы или идет вдижение в сторону его замены ? Если хочется попасть в Google и в целом, стоит ли продолжать изучение С++ если уже есть большой опыт работы на другом языке (Java в моем случае) ?
    Сейчас в Google больше всего востребованы – Java, C++, Python. Причем первые два на порядок больше Python. И лично я не вижу причины как-то специально пытаться перейти с С++ на Java или наоборот для повышения своих шансов – оба языка востребованы.
    Замены С++ пока не предвидится. Насчет Java не знаю, так как я на нем не пишу, но слышала, что Oracle что-то там чудит с поддержкой. Впрочем, даже если это и будет иметь какие-то последствия, то вряд ли в ближайшие лет пять.

США

  • На H1B есть годовая квота и раз в год на H1B проводится конкурс. Как гугл работает с этим? Готовы ли ждать до следующего апреля? Что делают если претендент не выиграл H1B? Будут ли ждать следующего розыгрыша?
    Если кратко, то не работает, не готов и не будут. Теперь более развернуто.
    Из-за проблемы с квотами Google вообще старается не рассматривать кандидатов в США. Исключение составляют те, кто в США учился и кого потенциально можно подать на O-визу для гениев. Остальных просят подаваться в европейский или канадский офис, и потом, при желании, после года работы переводиться в США по другому типу визы, на которые нет квот.
    То же касается и тех, кого Google подал, но кто не прошел лотерею. В этом случае их просто отправляют в другой офис на год, а не ждут следующей попытки.

Разное

  • Можно ли получить разрешение на перепечатку Ваших статей (с указанием авторства) на портале XYZ, в рубрике “Колонки”?
    Можно, со ссылкой на первоисточник или на мой сайт. И в принципе – перепечатывать можно с со ссылкой на на сайт.