Как попасть в гугл на работу: Как попасть в Google: инструкция по подготовке – Как стать асессором в Google и зарабатывать удаленно: вакансии, отзывы о работе в Гугл

Содержание

Как получить работу в Google? / Habr


Очевидно, что способов много, но этот, на мой взгляд, является оптимально простым, дешевым и интересным.

Алгоритм:

  1. Поступить в магистратуру в США.
  2. Сделать не кривое резюме.
  3. Найти реферал.
  4. Подготовится к интервью.
  5. Не слиться на интервью и подписать оффер.

И всё!

Теперь про каждый шаг подробнее.

1. Поступить в магистратуру в США.

По ссылке описаны тех. детали. Повторю, что в США очень много бесплатных магистратур в STEM, просто нужно внимательно изучать сайты интересующих вузов. Желающих американцев идти в grad school по IT в США очень мало, потому что уж слишком высокая альтернативная стоимость их времени — можно сразу пойти работать за большие деньги. К тому же, у большинства американских Computer Science бакалавров за плечами $50-100к долга — никому не хочется жить в долгу.

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

2. Сделать не кривое резюме.

Никто не требует гениального, но кривое сразу улетит в овчарную печь, так никогда и не увидев реальных инженеров. Поэтому резюме — это очень важно, и должно быть good enough. Правила просты: никаких опечаток, грамотный английский (попросите знакомого [native speaker] проверить, ваш гуглоперевод sucks, поверьте, некоторые термины почти невозможно перевести — нужно использовать английские аналоги) и длина в одну страницу на 5 лет опыта, а лучше просто в одну страницу — выберите главное. Больше информации про резюме можно найти на CareerCup.
3. Найти реферал

В принципе, это опциональный шаг, однако я решил его выделить в отдельный пункт, потому что я никогда не слышу, что про него что-то говорили. Оказывается, найти реферал (приглашение через внутреннюю систему от инженера, работающего в компании) — это невероятно полезная опция. Нет, это не дает гарантированное приглашение на работу — всего лишь (с бОльшей вероятностью) приглашение на тех. интервью, однако именно этот шаг по опыту моему и моих коллег и есть самый затруднительный шаг во всем процессе.
4. Подготовится к интервью.

Это шаг архиважный. Мне, например, всегда тяжело готовиться к чему бы то ни было — мне кажется, что я «и так достастаточно умен» — но это серьезная ошибка, готовиться нужно обязательно если вы умны, как раз в альтернативном случае — не нужно, все равно ничего не получится.

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

Подготовку удобно разделить на две части: фундаментальные знания и практические задачи.

Для первого — лучшу всего подходит курс Седжвика на Coursera. Можно найти на рутрекере первую и вторую часть лекций, но первая гораздо интереснее и полезнее. Особое внимание уделите деревьям — нужно уметь на доске написать нормальный алгоритм по любому действию с любым простым деревом, например: «найдите медиану в binary search tree». Я не слышал, чтобы спрашивали про само-балансирующие деревья — так что это просто для развития, тем более что сам Седжвик Self-Balancing Left-Leaning Red-Black Trees и придумал.

Я не большой фанат книг по IT. Сказать точнее — терпеть их не могу. Но для практической подготовки к интервью очень сильно советую книгу Cracking the Coding Interview by Gayle Laakmann McDowell. Среди моих знакомых, все кто использовал эту книгу — получил оффер, никто кто бы не использовал — не получил. N, правда, в этой выборке около 10. В общем, просто купите эту книгу, и прорешайте все 169 задач. Мне одна попалась прямо из книги (правда я ее пропустил — и зря).

5. Не слиться на интервью и подписать оффер.

Если вы получили приглашение на тех. интервью — дело в шляпе! Сначала будет телефонное, с инженером, 45-60 минут; кодить в гуглодоке или другом онлайн блокноте. Тут, конечно, может не повезти, но в целом, ничего сложного. Задачи как в книге.

После этого, если все хорошо, приглашают на кампус, оплачивая все сопутствующие расходы. Там 4-6 тех. интервью с разным инженерами разного уровня. Интервью точно такие же, как и телефонное, только на доске, хотя все зависит от человека — один попросил меня кодить на его ноутбуке. Их фидбек идет в комиссию, которая и принимает решение.

Если вы всем очень понравились — получаете и подписываете оффер. Если понравились, но не до конца очень — возможны варианты. Иногда делают дополнительное интервью, иногда просят рекомендационное письмо. Мне предложили переходную позицию в Engineering Residency, на которую, после еще одного тех. интервью, я и подписал оффер.

Успехов!

Как подготовиться к собеседованию в Google и не пройти его. Дважды / Habr

Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.

Как все начиналось


Одним холодным кипрским зимним вечером мне вдруг пришла в голову мысль, что мои познания в классической Computer Science весьма далеки даже от средних, и с этим надо что-то делать. Если кстати вдруг кто-то еще не читал, почему вечер кипрский и холодный, то можно об этом узнать здесь. После некоторых размышлений было решено для начала пройти онлайн курс по алгоритмам и структурам данных. От одного из бывших коллег слышал про курс Роберта Седжвика (Robert Sedgewick) на Coursera. Курс состоит из двух частей (
часть 1
и часть 2). Если вдруг ссылки поменяются, то можно всегда нагуглить по имени автора. Каждая из частей идет 6 недель. В начале недели выдаются лекции, а в течении недели еще нужно делать упражнения. Первая часть курса покрывает базовые структуры данных, основные виды сортировок и сложность алгоритмов. Вторая часть уже более продвинутая, начинается с графов и заканчивается такими вещами как Linear Programming и Intractability. Обдумав все вышеизложенное, я пришел к выводу, что это именно то, что мне нужно. Тут кстати пытливый читатель может спросить, а при чем же здесь Google. И действительно, до этого момента он был тут совсем не при чем. Но мне нужна была цель, так как заниматься 12 недель вечерами без цели несколько затруднительно. А какая может быть цель в получении новых знаний? Конечно, их применение на практике. В повседневной жизни это достаточно проблематично, а вот на собеседовании в крупную компанию запросто. Беглое гугление показало, что Google (уж простите за тавтологию) является одной из крупнейших компаний в Европе (а я рассматривал именно Европу), в которой проводят такие собеседования. А именно, их офис находится в Цюрихе, Швейцария. Итак решено — учимся и идем собеседоваться в Google.

Подготовка к первому заходу


12 недель прошли незаметно, и я закончил оба курса. Мои впечатления от курсов более чем положительные, и я могу их рекомендовать всем заинтересованным. Понравились же мне курсы по следующим причинам:
  • Лектор говорит на достаточно четком английском
  • Материал хорошо структурирован
  • Шикарные презентации, показывающие внутренности каждого алгоритма
  • Грамотная подборка материала
  • Интересные упражнения
  • Упражнения автоматически проверяются на сайте, после чего создается отчет

У меня работа над курсами обычно проходила следующим образом. За 1-2 дня я прослушивал лекции. Затем проходил быстрый тест на знание материала. Остаток недели делал упражнение в несколько итераций. После первой получал свои 30-70%, последующие доводили результат до 97-100%. Упражнение обычно заключалось в реализации какого-нибудь алгоритма, например
Seam carving
или bzip.

После окончания курсов я осознал, что многие знания это многие печали. Если раньше я просто знал, что ничего не знаю, то теперь начал осознавать, что именно я не знаю.

Так как был еще только май месяц, а собеседование я запланировал на осень, я решил продолжить свое образование. После просмотра требований к вакансии, было принято решение пойти параллельно по двум направлениям: продолжить изучение алгоритмов и пройти базовый курс по машинному обучению. Для первой цели я решил переключиться с курсов на книгу и выбрал монументальный труд Стивена Скиены (Steven Skiena) «Алгоритмы. Руководство по разработке» (The Algorithm Design Manual). Не такой монументальный, как у Кнута, но все же. Для второй цели я опять пошел на Coursera и записался на курс Эндрю Ына (Andrew Ng) Machine Learning.

Прошло еще 3 месяца, и я закончил курс и книгу.

Начнем с книги. Чтение оказалось достаточно интересное, хотя и непростое. В принципе, я бы книгу рекомендовал, но не вот так сразу. В общем и целом, книга дает более глубокий разбор того, что я узнал на курсах. Плюс к этому я открыл для себя (с формальной точки зрения) такие вещи как эвристики и динамическое программирование. Естественно, раньше мне доводилось их использовать, но как они называются я не знал. Так же в книге присутствует некоторое количество баек из жизни автора (War Story), которые несколько разбавляют академичность изложения. Вторую половину книги можно кстати опустить, там идет скорее описание существующих проблем и методов их решения. Полезно, если регулярно применяется на практике, иначе забудется сразу же.

Курс меня более чем порадовал. Автор явно знает свое дело и рассказывает интересно. Плюс изрядную часть, а именно линейную алгебру и основы нейронных сетей я помнил еще с университета, поэтому особых трудностей не испытал. Структура курса достаточно стандартная. Курс разбит на недели. Каждую неделю сначала идут лекции вперемешку с короткими тестами. После лекций выдается задание, которое нужно сделать, отправить и оно автоматически проверится. Вкратце, список преподаваемого в курсе следующий:

— cost function
— linear regression
— gradient descent
— feature scaling
— normal equation
— logistic regression
— multiclass classification (one vs all)
— neural networks
— backpropagation
— regularization
— bias/variance
— learning curves
— error metrics (precision, recall, F1)
— Support Vector Machines (large margin classification)
— K-means
— Principal Components Analysis
— anomaly detection
— collaborative filtering (recommeder system)
— stochastic, mini-batch, batch gradient descents
— online learning
— map reduce
— ceiling analysis
После прохождения курса, понимание всех этих тем присутствовало. Через 2 года уже почти все естественно забылось. Рекомендую тем, кто не знаком с машинным обучением и хочет получить хорошее понимание базовых вещей для движения дальше.

Первый заход


На дворе был уже сентябрь и пришло время задуматься о собеседовании. Так как подаваться через сайт дело достаточно гиблое, занялся поиском знакомых, работающих в Google. Выбор пал на datacompboy, так как он был единственным, кого я знал напрямую (пусть и не лично). Он согласился передать мое резюме, и вскоре я получил от рекрутера письмо, предлагающее забронировать слот у него в календаре для первого разговора.Через пару дней состоялся созвон. Пробовали общаться через Hangouts, но качество было ужасное, поэтому переключились на телефон. Сначала быстро обсудили стандартные как, зачем и почему, а потом перешли к техническому скринингу. Он состоял из десятка вопросов в духе «какая сложность вставки в hash map», «какие сбалансированные деревья вы знаете». Не сложно, если есть базовое знание этих вещей. Скрининг прошел хорошо и по результатам решили организовать первое интервью через недельку.

Интервью тоже было через Hangouts. Сначала минут 5 поговорили обо мне, потом перешли к задачке. Задача была на графы. Я быстро понял, что надо сделать, но выбрал не тот алгоритм. Когда начал писать код осознал это и переключился на другой вариант, который и дописал. Интервьюер задал несколько вопросов на тему сложности алгоритма, спросил, можно ли быстрее. Я как-то затупил и не смог. На этом время вышло и мы распрощались. Потом, минут через 10 до меня дошло, что вместо алгоритма Дейкстры, который я использовал, конкретно в этой задаче можно было бы использовать поиск в ширину, и это было бы быстрее. Через некоторое время позвонил рекрутер и сказал, что интервью в целом прошло хорошо и надо бы организовать еще одно. Договорились на еще через недельку.

В этот раз дела пошли хуже. Если в первый раз интервьюер был дружелюбный и общительный, то в этот раз какой-то мрачноватый. Задачку я сразу раскусить не смог, хотя те идеи что я выдавал в принципе могли привести к ее решению. В итоге после нескольких подсказок интервьюера до меня дошло решение. В этот раз это снова оказался поиск в ширину, только из нескольких точек. Решения я написал, во время уложился, но забыл про граничные случаи. Через какое-то время позвонил рекрутер и сообщил, что в этот раз интервьюер остался недоволен, так как по его мнению мне потребовалось слишком много подсказок (3 или 4 штуки) и я постоянно менял код во время написания. По результатам двух собеседований было принято решение дальше не идти, а отложить следующее интервью на год, если у меня будет такое желание. За сим и распрощались.

И этой истории я сделал несколько выводов:

  • Теория это хорошо, но в ней надо быстро ориентироваться
  • Теория без практики не поможет. Надо решать задачки и доводить написание кода до автоматизма.
  • Многое зависит от интервьюера. И с этим ничего не сделать.

Подготовка ко второму заходу


Обдумав ситуацию, я принял решение попробовать через год еще раз. И слегка подредактировал цель. Если раньше основной целью была учеба, а интервью в Google как далекая морковка, то теперь прохождение интервью было целью, а учеба средством.
Итак, был разработан новый план, в который входили следующие пункты:
  • Продолжать изучать теорию путем чтения книжек и статей.
  • Прорешать алгоритмические задачи в количестве 500-1000 штук.
  • Продолжать изучать теорию путем просмотра видео.
  • Продолжать изучать теорию путем курсов.
  • Изучить опыт других людей по прохождению собеседований в Google.

План был выполнен мною за год. Дальше я опишу, что именно я делал по каждому из пунктов.
Книги и статьи

Количество прочитанный статей я уже даже и не вспомню, читал их как на русском, так и на английском. Самым полезным сайтом оказался наверное вот этот. Тут собрано описание большого количества интересных алгоритмов с примерами кода.

Книг я прочитал 5: Algorithms, 4th edition (Sedgewick, Wayne), Introduction to Algorithms 3rd Edition (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4th edition (Gayle Laakmann), Programming Interviews Exposed 2nd edition (Mongan, Suojanen, Giguere), Elements of Programming Interviews (Aziz, Lee, Prakash). Их можно разделить на 2 категории. В первую попадают книги Седжвика и Кормена. Это теория. Остальные это подготовка к интервью. Седжвик в книге рассказывает примерно то же самое, что и в своих курсах. Просто в письменном виде. Нет особого смысла читать внимательно, если вы проходили курс, но проглядеть стоит в любом случае. Если курс не смотрели, то имеет смысл почитать. Кормен мне показался чересчур занудным. Осилил честно говоря с трудом. Вынес оттуда только master theorem, да несколько редко используемых структур данных (Fibonacci heap, van Emde Boas tree, radix heap).

Книгу для подготовки к интервью стоит прочитать хотя бы одну. Они все построены примерно по одному принципу. Описывают процесс интервью в крупных технологических компаниях, дают базовые вещи из Computer Science, задачки на эти базовые вещи, решения задачек и разбор решений. Из приведенных трех я бы наверное рекомендовал Cracking the Coding Interview как основную, а остальные по желанию.

Алгоритмические задачи

Это наверное был самый интересный пункт подготовки. Можно, конечно, сесть и тупо решать задачи. Для этого есть много разных сайтов. Я в основном использовал три: Hackerrank, CodeChef и LeetCode. На CodeChef задачи разбиты по сложности, но не по темам. На Hackerrank и по сложности, и по темам.

Но как я сразу для себя выяснил, есть более интересный способ. И это соревнования (programming challenges или programming contests). Все три сайта их предоставляют. Правда с LeetCode есть проблема — неудобная временная зона. Поэтому я не участвовал на этом сайте. Hackerrank и CodeChef предоставляют достаточно большое количество различных соревнований, длительностью от 1 часа до 10 дней. У разных форматов разные правила, ну да это про это можно долго рассказывать. Основная суть, почему соревнования это хорошо, это внесение соревновательного (и снова тавтология) элемента в процесс обучения.

Всего я поучаствовал в 37 соревнованиях на Hackerrank. Из них 32 были рейтинговые, а 5 или спонсируемые (я даже получил 25$ в одном из них) или по фану. В рейтинговых я 10 раз входил в топ 4%, 11 раз в топ 12% и 5 раз в топ 25%. Лучшими результатами были 27/1459 в 3-х часовом и 22/9721 в недельном.

На CodeChef я перешел, когда на Hackerrank соревнования стали устраивать реже. Всего я успел поучаствовать в 5 соревнованиях. Лучшим результатом было 426/5019 в десятидневном соревновании.

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

Просмотр видео

Прочитав книжку Скиены, я в принципе заинтересовался тем, чем он занимается. Как и Седжвик, он является профессором в университете. В связи с этим, в сети можно найти видеозаписи его курсов. Я решил просмотреть курс COMP300E — Programming Challenges — 2009 HKUST. Не скажу, что мне сильно понравилось. Во-первых качество видео не очень. Во-вторых я не пробовал сам решать задачи, разбираемые в рамках курса. Так что вовлеченность была не очень высокая.
Также в процессе решения задачек, пытаясь найти правильный алгоритм, я натыкался на видео Tushar Roy. Он работал в Amazon, а сейчас работает в Apple. Как позже я для себя выяснил, у него есть канал на YouTube, где он выкладывает разбор различных алгоритмов. На момент написания статьи канал содержит 103 видео. И надо сказать, что разбор в его исполнении сделан очень прилично. Я пробовал смотреть других авторов, но как-то не зашло. Так что этот канал однозначно могу рекомендовать к просмотру.
Прохождение курсов

Тут я особо ничем не занимался. Просмотрел видео из Android Developer Nanodegree от Google и прошел курс от ИТМО How to Win Coding Competitions: Secrets of Champions. Nanodegree вполне себе, хотя ничего нового оттуда я естественно не узнал. Курс от ИТМО в плане теории немного скомканный, но задачки были интересные. Я бы не рекомендовал с него начинать, но в принципе время на него было потрачено не зря.
Изучить опыт других людей

Само собой множество людей пытались попасть в Google. Кто-то попал, кто-то нет. Некоторые писали об этом статьи. Из интересных вещей наверное отмечу вот эту и вот эту. В первом случае, человек подготовил для себя список того, что ему нужно выучить, чтобы стать Software Engineer и попасть в Google. Попал он в итоге в Amazon, но это уже не так важно. Второй мануал написан инженером Google, Ларисой Агарковой (Larrr). Помимо этого документа, можно также почитать ее блог.

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

Ссылки на другие мелкие статьи приводить не буду, вы их сами прекрасно сможете найти в Google.

Второй заход


И вот год прошел. Выдался он весьма насыщенным в плане учебы. Но к новой осени я подходил с гораздо более глубокими теоретическими знаниями и отработанными практическими навыками. До окончания назначенного мне срока отведенного на подготовку года оставалось еще несколько недель, как вдруг на почту упало письмо от рекрутера из Google, в котором он меня спрашивал, имею ли я все еще желание работать в Google и не против ли пообщаться с ним. Естественно, что я был не против. Договорились созвониться через неделю. Также у меня попросили обновленное резюме, к которому я присовокупил краткое описание того, что сделал за год на работе и в принципе.

После общения за жизнь решили, что через недельку будет Hangouts интервью, все как в прошлом году. Неделя прошла, пришло время интервью, но интервьюер не появился. Прошло 10 минут, я уже начал нервничать, как вдруг кто-то ворвался в чат. Как выяснилось чуть позже, мой интервьюер по какой-то причине не смог появиться и ему срочно нашли замену. Человек был несколько не готов как в плане настройки компа, так и в плане проведения интервью. Но затем все пошло хорошо. Задачку я решил быстро, описал где возможны подвохи, как их можно обойти. Обсудили несколько разных вариантов задачи, сложность алгоритма. Потом еще 5 минут пообщались, инженер рассказал свои впечатления от работы в Мюнхене (в Цюрихе видать срочной замены не нашли), на том и расстались.

В тот же день со мной связался рекрутер и сообщил, что собеседование прошло отлично и они готовы пригласить меня на собеседование в офис. На следующий день созвонились через Hangouts и обсудили подробности. Так как мне нужно было делать визу, решили назначить собеседование через месяц.

Пока готовил документы, попутно обсуждал с рекрутером предстоящее интервью. Стандарное интервью в Google состоит из 4 алгоритмических и одного System Design. Но, так как я устраивался как Android разработчик, мне было сказано, что часть интервью будет с Android спецификой. Какие именно и в чем будет специфика я из рекрутера так и не смог вытрясти. Насколько я понял, это ввели относительно недавно и он сам был не очень в курсе. Также меня записали на две тренировочные сессии: как проходить алгоритмическое интервью и как проходить System Design интервью. Сессии были средней степени полезности. Там мне тоже никто не смог рассказать, что же спрашивают у Android разработчиков. Поэтому моя подготовка в этот месяц свелась к следующему:

  • Покупке маркерной доски и написании 2-3 десятков самых популярных алгоритмов на ней по памяти. По 3-5 штук каждый день. Итого каждый был написан несколько раз.
  • Освежении в памяти разной информации по Android, которую не использую каждый день
  • Просмотре нескольких видео про Big Scale и все такое

Как я уже говорил, параллельно я делал документы для поездки. Для начала у меня запросили данные, чтобы сделать пригласительное письмо. Потом я долго пытался выяснить, кто же на Кипре делает визы в Швейцарию, так как швейцарское посольство этим не занимается. Как выяснилось, этим занимается консульство Австрии. Позвонил и записал на прием. Там затребовали пачку документов, но ничего особо интересного. Фото, паспорт, вид на жительство, кучу разных справок и естественно пригласительное письмо. Письмо тем временем все не приходило. В итоге поехал с обычной распечаткой и это вполне прокатило. Само же письмо пришло еще дня через 3, причем кипрский FedEx не сумел найти мой адрес и пришлось ехать за ним самому. Заодно получил все в том же FedEx’e посылку, которую они тоже не смогли мне доставить, так как не нашли адрес, и которая там лежала с июня (5 месяцев, Карл). Так как я о ней не знал, что естественно и не предполагал, что она у них есть. Визу я получил вовремя, после чего мне забронировали отель и предложили варианты перелета. Варианты я подкорректировал, чтобы было удобнее. Прямых рейсов уже не было, в итоге летел туда через Афины, а обратно через Вену.

После того как все формальности с поездкой были улажены, прошло еще несколько дней и я собственно вылетел в Цюрих. Добрался без приключений. От аэропорта до города доехал на поезде — быстро и удобно. Немного поплутав по городу нашел отель и заселился. Так как отель был забронирован без еды, отужинал по соседству и завалился спать, ибо рейс был утренний и спать уже хотелось. На следующий день позавтракал в отеле (за отдельные деньги) и отправился в офис Google. Всего в Цюрихе у Google несколько офисов. Мое собеседование было не в центральном. И в общем-то офис выглядел достаточно обычно, так что не довелось мне посмотреть на все плюшки «нормального» офиса Google. Зарегистрировался у администратора и сел ждать. Через какое-то время вышел рекрутер и рассказал мне план на день, после чего отвел в комнату, где и должны были проходить интервью. Собственно в плане значились 3 интервью, обед и еще 2 интервью.

Интервью номер раз

Первое интервью было как раз по Android. Причем вообще никак не было связано с алгоритмами. Сюрприз, однако. Ну да ладно, так даже привычнее. Попросили сделать определенный UI компонент. Сначала обсудили, что и как. Предложил сделать решение на RxJava, описал, что именно и почему бы сделал. Сказали, что это конечно хорошо, но давайте сделаем средствами Android фреймворка. А заодно напишем код на доске. Причем не просто компонента, а всей Activity, использующей этот компонент. Вот к такому я был не готов. Одно дело писать на доске алгоритм на 30-50 строчек, а другое дело лапшу Android кода, пусть даже с сокращениями и комментариями в духе «ну, это я писать не буду, так как и так очевидно». Получился какой-то винегрет на 3 доски. Т.е. задачу-то я решил, но выглядело это стремно.
Интервью номер два

На этот раз интервью было по алгоритмам. И интервьюеров было двое. Один собственно интервьюер, а второй юный падаван (shadow interviewer). Нужно было придумать структуру данных с определенными свойствами. Сначала как обычно обсуждали проблему. Я задавал разные вопросы, интервьюер отвечал. Через какое-то время попросили написать несколько методов придуманной структуры на доске. В этот раз более-менее удалось, правда с несколькими мелкими ошибками, которые я исправил с подсказки интервьюера.
Интервью номер три

На это раз System Design, который вдруг тоже оказался Android. Нужно было разработать приложение с определенным функционалом. Обсудили требования к приложению, к серверу, к протоколу коммуникации. Далее я стал описывать, какие компоненты или библиотеки я бы использовал при построении приложения. А затем при упоминании Job Scheduler случился некоторый затык. Суть в том, что я никогда не использовал его на практике, так как в момент его выхода как раз переключился на поддержку приложений, где задач для его применения не было и в помине. При разработке последующих было тоже самое. То есть в теории я знаю что это за штука, когда и как применяется, но опыта в применении нет. И интервьюеру это похоже не сильно понравилось. Потом попросили написать код. Да, при разработке приложения сразу нужно писать код. Опять же Android код на доске. Получилось снова страшненько.
Обед

Должен был прийти еще один человек, но не пришел. И у Google бывают промашки. В итоге на обед пошел с предыдущим интервьюером, ее коллегой и чуть позже присоединился следующий интервьюер. Обед был вполне приличный. Опять же, так как это не главный офис в Цюрихе, столовая выглядела достаточно обычно, хотя и очень приятно.
Интервью номер четыре

Наконец-то алгоритмы в чистом виде. Первую задачку я решил достаточно быстро и сразу эффективно, правда промахнулся с одним граничным случаем, но по подсказке интервьюера (он дал этот самый граничный случай) нашел проблему и исправил. Само собой нужно было писать код на доске. Затем была дана похожая задача, но сложнее. Для нее я нашел пару неоптимальных решений и почти нашел оптимальное, не хватило 5-10 минут чтобы дожать мысль. Ну и код для нее я написать уже не успел.
Интервью номер пять

И снова Android интервью. Интересно, зачем я учил алгоритмы весь год?
Сначала было несколько простых вопросов. Потом интервьюер написал на доске код и попросил найти в нем проблемы. Нашел, объяснил, исправил. Обсудили. А дальше начались несколько неожиданные вопросы в духе «а что в классе Х делает метод У», «а что внутри у метода У», «а что делает класс Z». Что-то я конечно ответил, но потом сказал, что в работе в последнее время с этим не сталкивался и естественно не помню, кто, что и как в деталях делает. После этого интервьюер расспрашивал, что я делаю сейчас. И вопросы пошли на эту тему. Тут я уже отвечал гораздо лучше.

После окончания последнего интервью у меня забрали пропуск, пожелали удачи и отправили восвояси. Немного погулял по городу, поужинал и пошел в отель, где и завалился спать, так как рейс снова был рано с утра. На следующий день благополучно добрался до Кипра. Написал по просьбе рекрутера фидбек по интервью и заполнил в специальном сервисе форму на возврат потраченных денег. Из всех трат Google напрямую оплачивает только билеты. Отель, еда и проезд оплачиваются кандидатом. Затем заполняем форму, прикладываем чеки и отправляем в специальную контору. Они это обрабатывают и достаточно быстро перечисляют деньги на счет.

На то, чтобы обработать результаты интервью ушло полторы недели. После чего мне сообщили, что я был «a bit below the bar». То бишь немного не дотянул. Если конкретнее, то 2 интервью прошли хорошо, 2 немного не очень, а System Design очень не очень. Вот если бы хотя бы 3 прошли хорошо, то можно было бы побороться, а так без шансов. Предложили заходить еще через год.

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

Заключение


И тут мы подходим к заключительной части статьи. Да, я дважды не прошел интервью в Google. Это печально. Наверное, было бы интересно там поработать. Но, можно взглянуть на дело и с другой стороны.
  • За полтора года я узнал огромное количество вещей, связанных с разработкой программного обеспечения.
  • Я получил немалое удовольствие, участвуя в соревнованиях по программированию.
  • Я съездил на пару дней в Цюрих. Когда еще туда выберусь?
  • Я получил интересный опыт интервью в одной из крупнейших IT компаний мира.

Таким образом, все произошедшее за эти полтора года можно просто считать обучением, или тренировкой. И результаты этой тренировки дали о себе знать. Моя мысль покинуть Кипр дозрела (по некоторым обстоятельствам семейного характера), я успешно прошел несколько собеседований в другую известную компанию и через 8 месяцев переехал. Но это уже совсем другая история. Тем не менее, думаю, что мне все равно стоит поблагодарить Google как за эти полтора года, которые я работал над собой, так и за 2 интересных дня в Цюрихе.

Что я могу сказать напоследок. Если вы работаете в IT, подготовьте себя к интервью в Google (Amazon, Microsoft, Apple и т.д.). Возможно, когда-нибудь вы туда заходите попасть. Даже если не захотите, то поверьте, от такой подготовки вам хуже не станет. В том момент, когда вы поймете, что можете (пусть даже только при удачном стечении обстоятельств) пройти интервью в одну из этих компаний, перед вами будет открыто гораздо больше дорог, чем перед началом вашей подготовки. А все, что вам потребуется в пути это цель, настойчивость и время. Желаю успехов 🙂

Посещение центрального офиса компании Google — условия и организация работы / Habr

Недавно посетила центральный офис компании Google в Mountain View в качестве гостя, узнала много интересного по теме — «а как там у них?» и решила поделиться. В книгах, как оказалось, не всегда полная и актуальная информация.

Предупреждаю, что после прочтения можно как разочароваться в собственных условиях работы, но и также взять ориентир на «сделать условия в своём отделе/компании лучше».


Начало трудоустройства начинается… с собеседования! Предварительно оно телефонное.
Если ты прошел телефонное испытание, то тебя пригласят на собеседование в офис. А вот там начнется самое интересное — с тобой будут общаться примерно 7 часов (!). Собеседуют разные специалисты, каждому отведено своё время. Что касается профессионализма — там ты должен знать всё, даже если с этим никогда работать не будешь.

После собеседования, если ты его прошел, ты попадаешь на заветную работу мечты (да-да, именно мечты), потому что условия труда для «неленивых» впечатляют:

  • Служебные комфортабельные автобусы осуществляют доставку сотрудников в офис со всей агломерации. В них есть wi-fi, можно работать уже по пути на работу или с работы, это входит в рабочее время. Служебные компьютеры оснащены защитной пленкой на экране, которая позволяет защитить информацию от тех, кто сидит сбоку.
  • Столы сотрудников самые современные — с электроприводами и кронштейнами, хочешь работай сидя, а хочешь — стоя. Это очень комфортно. Для сравнения — в Беларуси, на сколько узнала по возвращении, производство и продажа таких столов только-только начались, когда там уже эта тема давно, и у нас есть в наличии только у одного (!) магазина офистон.
  • Питание сотрудников за счет компании (трехразовое). По территории расположены столовые, которые предлагают на выбор разные кухни – китайскую, индийскую, американскую, стрит фуд и т.д. Работает по принципу самообслуживания (кухни, готовка выглядят как в минском Лидо; привожу примеры белорусских компаний, т.к. внутри офиса фотографировать запрещено) – пришел, выбрал, накидал, чего душа желает на поднос, и поел, только бесплатно. Сделаны все условия, чтобы сотрудники работали в удобное работоспособное для них время. Кстати, в столовых могут пообедать и гости (по пропуску) — было очень вкусно.

  • Ненужную технику все складывают в отдельные боксы, где её может взять любой желающий сотрудник. А вот техника, которая еще не вышла в релиз, идёт только в утилизацию, — есть специально отведенная комната с отдельным доступом.
  • В офисах компании есть стеклянные коробки на стенах для оказания первой помощи. Есть специально обученные люди — это свои сотрудники, прошедшие дополнительное обучение.
  • Необязательно быть физически на работе каждый день, главное сдать работу к сроку. Ну и обязательно присутствовать на митингах. Но по факту удобнее ходить на работу, потому что там все условия для комфортной работы.

  • Служебные смартфоны компании с собой в отпуска брать нельзя из-за возможного досмотра таможни (таможня в штатах имеет право досмотреть всю информацию в смартфоне), а там могут быть новые конфиденциальные разработки. На эти случаи можно брать в аренду обычный смартфон у компании.
  • В офисе есть комфортные места, где можно поспать (подремать), если это необходимо.
  • Бесплатные печенье, конфеты, фрукты, газировка и прочие перекусы — никого уже этим не удивить.
  • Ежегодно на день благодарения приглашают семьи сотрудников на индейку, все собираются в столовых. Индейку раздают вышестоящие руководители, сопровождая выдачу парой доброжелательных слов вроде «спасибо за работу» и пожелания семье.
  • Медицинская страховка для сотрудников и их семей, включающая стоматологию.
  • На территории в свободном доступе для сотрудников: футбольное поле (мини), теннисный корт, тренажерные залы, столовые, перекусочные, мини гольф, баскетбольное кольцо, длинная вело дорожка вдоль водоема. Отдельные стоянки для беременных поближе к входу офиса. Кругом скамейки в зелени, где можно отдохнуть и собраться с мыслями.

(на фото помимо скамеек самый первый андроид)

  • Есть трейлеры на территории – парикмахерская, перекусы. Парикмахерская уже за деньги.
  • Зарядка для электромобилей на стоянке у офиса бесплатна для сотрудников.
  • Компания планирует строить жилье для сотрудников для расселения. Это уменьшит трафик на дорогах (при том очень значительно), а также для комфорта своих людей.
  • Скидки сотрудникам в некоторые музеи и на некоторые мероприятия.

Будущий офис по индивидуальному дизайну:

Условия (плюшки) несомненно суперские. Но далее через полгода наступает первая проверка работы сотрудников. Если человек плохо работает, отстает от плана и т.д., тогда ему говорят
про это и спрашивают чем помочь, дают другую работу, помогают. И по результатам, еще через полгода, или оставляют, или увольняют.

Раз в год пересматривают оклады: если работал очень плохо, то увольняют, если работа посредственная, то повышение оклада примерно на 3% — чисто погашение инфляции. И далее от 5%. Предварительно каждый сотрудник готовит отчет за год – что он хорошего и полезного сделал. Отчеты сдаются менеджеру. Далее вопрос решает комиссия из вышестоящих менеджеров.
Помимо повышения оклада это могут быть акции Google типа С (тип С не приносит дивиденды, но их можно продавать, обычно скупает сама компания, цена акций устанавливается рынком).
Также по результатам за год это может быть награждение в виде техники гугловской в качестве бонусов или выплата премии годовой.

Уровни профессионализма сотрудников идут отдельно, есть своя градация. Повысить уровень сложнее всего. Для каждого из них есть должностная инструкция. Чтобы повысить свой уровень, надо делать работу следующего уровня. И потом пишешь отчет по своей работе по согласованию с менеджером для комиссии по пересмотру уровней.

Организация и условия для работы одни из самых лучших, которые я встречала, можно брать пример (моё субъективное мнение). Может у кого есть свои примеры организации или комфортных условий в офисах, поделитесь в комментариях, интересно узнать.

П.С. для туристов:

на территории офисов расположены парки с андроидами.

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


Также на территории есть магазинчик с сувенирами с символикой Google.

Как попасть на работу в Google

Ласло Бок, глава отдела кадров Google говорит, что каждый год они получают больше 3 миллионов откликов на вакансии. Отбор проходят только 7000 человек. Это значит, что конкурс на место состсавляет примерно 428 кандидатов, и это больше, чем в Гарварде, Стэнфорде или каком-нибудь другом Оксфорде.

Прием на работу занимает от 6 до 9 месяцев. За это время каждый кандидат проходит от 15 до 25 интервью. Помимо унизительно долгих собеседований, каждый желающий работать в Google в ходе беседы с отделом кадров должен отвечать на дурацкие вопросы вроде «Как бы вы эвакуировали Сан-Франциско?» или «Сколько денег вам нужно заплатить, чтобы вы помыли все окна в Сиэтле?». И даже самому Ласло Боку непонятно, как это можно терпеть: он с 2006 года пытается искоренить эти «Дразнилки для мозга», которые путают и пугают даже очень хороших кандидатов. Сделать это удалось только в 2013-ом.

Теперь процесс найма в Google подведен под одну довольно банальную планку (хотя на фоне вопроса «Почему крышка канализационного люка круглая» банальным будет все). Компания по-прежнему остается одним из самых желанных мест работы в мире, и имеет штат в размере 50 000  человек.

По словам Ласло Бока, в Google действуют три золотых правила найма, которые помогают компании нанимать лучших из лучших. Если вы хотите работать в одном из самых классных мест мира, спать на работе, есть овощи, заниматься йогой в обязательном порядке, изучите их.

Кандидаты должны быть лучше или не хуже нанимателей

Если один сотрудник Google (даже если это начальник одного из отделов) примет на работу человека с меньшим опытом и знаниями, чем у него самого, то есть шанс запустить плачевную цепочку: возможно потом этому сотруднику придется нанимать на работу другого человека. И он поступит точно также. Через какое-то время показатели упадут у всей команды.

Интервьюеры не берут никого на работу

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

А все потому, что интервьюер всегда предвзят. Любой человек, который заходит в комнату переговоров,  производит впечатление на тех, кто в ней сидит. И с этим впечатлением не могут бороться даже опытные рекрутеры. Поэтому зачастую объективные таланты отходят на второй план по сравнению с тем, что «он мне просто не нравится».

Интервью для всех одно

По словам Ласло, для попадания в Google необходимо иметь три качества: умение учиться, лидерские навыки и знания, необходимые для будущей работы.

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

«К тому же, у нас есть четкие критерии ответов, которые помогают выявить хороший и посредственный результат» — говорит Ласло Бок.

 

 

Почему я ушёл из Google и начал работать на себя / Habr

Последние четыре года я работал разработчиком программного обеспечения в Google, но 1 февраля уволился, потому что они не сделали мне подарок на Рождество.

Шучу, на самом деле всё немного сложнее.


Первые два года я любил Google.

Когда при ежегодном опросе сотрудников мне задавали вопрос, вижу ли я себя в Google через пять лет, я отвечал «разумеется, без вариантов».

Ну конечно я буду в Google через пять лет. Я окружён лучшими инженерами в мире, использую самые продвинутые инструменты разработки в мире и кушаю самую бесплатную в мире еду.


Мой обычный день в Google.
— Ещё тортика, господин Программист? Он бесплатен в любом количестве.
— Не сегодня, Пьер. Я опаздываю на массаж, он тоже бесплатный.


Мой последний рейтинг производительности гласил: «Сильно превосходит ожидания». Если я просто продолжу в том же духе, то скоро меня повысят до ведущего инженера-программиста (senior). Как это звучит! На протяжении всей карьеры я смогу говорить: «Да, я был ведущим инженером-программистом. В Google». Все будут так впечатлены.

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


Нет, менеджеры в Google не могут продвигать своих прямых сотрудников. У них даже нет права голоса.

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

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

Комитет затем рассматривает ваш пакет вместе с несколькими другими, и целый день они решают, кто получит повышение, а кто нет.

Во время моего двухлетнего медового месяца эта система казалась великолепной. Конечно же, судьба кандидата должна быть в руках таинственного комитета, который никогда не видел этого человека. Они не подвержены кумовству или интригам. Они посмотрят на мои достижения — и оценят высококачественный код и проницательные инженерные решения.


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

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

Неудивительно, что система работала не так. Мне понадобилось два года, чтобы понять это.


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

Я с гордостью и любовью вернул конвейер к жизни. Исправил десятки ошибок и написал автоматические тесты для гарантии, что они не появятся снова. Удалил тысячи строк кода, который либо не использовался, либо подлежал замене на современные библиотеки. Задокументировал конвейер, чтобы корпоративные знания были доступны коллегам, а не хранились только в моей голове.

Как выяснилось при рассмотрении моей заявки на повышение, всё это не количественные метрики. Я не мог доказать, что это положительно повлияло на Google.


Конвейер легаси-данных не выдаёт много метрик. Те же, которые были, показали как будто ухудшение показателей. Из-за выявленных мной багов количество багов в системе увеличилось. Количество сбоев тоже выросло, потому что я запрограммировал систему на быстрый отказ при аномалии, а не тихую передачу повреждённых данных. Я кардинально уменьшил время на устранение сбоев, но не было метрик, отслеживающих потраченное время разработчиков.

Другая моя работа тоже не слишком хорошо выглядела на бумаге. Несколько раз я откладывал свои проекты на несколько недель или даже месяцев, чтобы помочь товарищу по команде, который упирался в дедлайн. Это было правильное решение для команды, но сомнительно выглядело в промо-пакете. Для комитета по продвижению проект моего товарища по команде выглядел большой, важной работой, которая требовала участия нескольких разработчиков. Если они вовлекли меня в свою работу, то это говорит об их сильных лидерских качествах. А я просто бессмысленный батрак, чья собственная работа настолько неуместна, что её можно моментально отложить по любому требованию.

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


Обсуждение моего дела в комитете по продвижению.
— Я написал документацию по этому компоненту, который никто не понимал, как использовать.
— Любой может написать документацию. Какие метрики показывают пользу для Google?
— Этот ненужный код постоянно ломал наш билд. Я потратил две недели, чтобы вычистить его.
— Удалить код может каждый, и только по-настоящему достойные повышения кандидаты могут написать его.
— Никто не решался испытать новую фичу, которую выкатил Дейв, так что я написал пару end-to-end тестов.
— Вот это достойно повышения!
«Сертификат на повышение ДЛЯ ДЕЙВА, который смело выпустил новую фичу без end-to-end тестов»


Отказ стал тяжёлым ударом, но не сломил меня. Я чувствовал, что работаю выше своего текущего уровня, но комитет по продвижению этого не видит. Это можно исправить.

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

Например, моя команда получала массу отвлекающих оповещений по электронной почте из-за ложных тревог. Раньше я бы просто исправил это. Но теперь я знал: чтобы работа появилась в моем промо-пакете, я должен сначала настроить метрики, чтобы у нас появились исторические записи частоты оповещений. К моменту рассмотрения дела у меня будет впечатляющий график снижения количества оповещений.

Вскоре после этого мне назначили проект. Казалось, он предназначался для повышения. Система сильно задействовала машинное обучение, которое было и остаётся горячей темой в Google. Она автоматизировала работу, которую сотни людей-операторов делали вручную, так что продемонстрировала бы чёткую, объективную пользу для Google. Кроме того, в моё подчинение поступает новичок (джун) на время всего проекта. Обычно это считается дополнительным козырем в комитете по повышению.


Через несколько месяцев Google попала в заголовки новостей, когда объявила об отказе от давней традиции дарить щедрые рождественские подарки всем сотрудникам. Вместо этого они потратили подарочный бюджет на покупку рекламы, замаскированной под благотворительность «хромбуков» для обездоленных школьников.

Вскоре я услышал такой разговор между двумя сотрудниками:

Сотрудник А: фактически, вы по-прежнему получаете подарок. Такие сокращения расходов увеличивают стоимость акций Google. Вы можете продать свои акции и купить любой подарок.

Сотрудник Б: что если я скажу жене, что не куплю ей рождественский подарок, но она может использовать деньги на нашем банковском счёте и купить подарок, какой захочет?

Сотрудник А: вы находитесь в деловых отношениях с Google. Если вы разочарованы тем, что Google не ведёт себя «романтично» и не дарит вам подарки, как вы для своей жены, то у вас ошибочное представление об отношениях.


Погодите секунду. Так это же у меня деловые отношения с Google.

Может показаться странным, что мне потребовалось два с половиной года для понимания этого. Но Google реально эффективно старается создать атмосферу единого сообщества. Она заставляет нас чувствовать, что мы не просто сотрудники, что мы и есть Google.

Тот разговор заставил меня понять, что я не Google. Я предоставляю платные услуги для Google.

Так что если у нас с Google деловые отношения, которые должны служить интересам обеих сторон, зачем тратить время на все эти задачи, которые служат интересам Google, а не моим собственным? Если комитет по продвижению не вознаграждает за исправление багов или поддержку команды, зачем я этим занимался?


Мой первый отказ в повышении преподал мне неправильный урок. Я думал, что могу продолжать делать то же работу, но красиво преподнести её комитету. На самом деле я должен был сделать обратное: выяснить, чего хочет комитет по продвижению — и заниматься исключительно этим.

Я принял новую стратегию. Перед началом любой задачи я задавал вопрос: поможет ли это моему продвижению по службе. Если нет, то я не делал этого.

Моя планка качества для кода упала с уровня «Сможем ли мы поддерживать его в течение следующих пяти лет?» до «Протянет ли он до моего повышения?» Я не сообщал об ошибках и не исправлял их, если они не подвергали риску запуск моего проекта. Я уклонялся от всех обязанностей по техническому обслуживанию. Я прекратил работать волонтёром в дни рекрутинга в кампусе. Я снизил количество собеседований с одного-двух в неделю до нуля.


Приоритеты изменились. Руководство передало мой проект другой дочерней команде в Индии. В обмен та передала нам один из своих проектов. Это была недокументированная система на устаревшей инфраструктуре, при этом важнейший компонент в продакшне. Мне поручили освободить систему от кода индийской команды и перенести на новый фреймворк, непрерывно сохраняя рабочее состояние в продакшне и увеличив показатели производительности.

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


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

В этот раз я решил отстраниться и оценить, как всё выглядит со стороны. Забыть о своём менеджере, его менеджерах, комитете по продвижению. Что если оставить только меня и Google? Что происходит в наших «деловых отношениях»?

Ну, Google продолжает говорить мне, что не может судить о моей работе, пока не увидит завершённый проект. Между тем, я не могу завершить никакой проект, потому что Google прерывает их на полпути и назначает новые.

Ситуация становилась абсурдной.


Подход комитета по продвижению Google к публикации книг.
— В начале книги они узнали, как оживлять динозавров с помощью восстановленной ДНК.
— Вау!
— И тут велоцираптор открывает дверь на кухню!
— О нет! Я уронила карандаши, можешь их собрать, пожалуйста?
— Как я говорил…
— Нет, ты должен начать новый рассказ. Этот прервался, значит, у меня понятия нет о твоих литературных способностях.

Моя карьера зависела от переменчивого анонимного комитета, который уделял мне один час своего времени. Независимые от меня управленческие решения стирали месяцы моего карьерного роста.

Хуже всего, что я не гордился своей работой. Вместо того, чтобы задавать вопрос: «Как решить сложную проблему?», я спрашивал: «Как заставить проблему выглядеть сложной для продвижения по службе?» Это отвратительно.

Даже если я получу повышение, что тогда? Говорят, каждое новое повышение продвижение экспоненциально сложнее, чем предыдущее. Чтобы продолжать карьеру, мне нужны ещё более масштабные проекты, включающие сотрудничество с большим количеством партнёрских команд. Но это просто означало, что проект может потерпеть неудачу из-за ещё большего количества неподконтрольных мне факторов, стерев месяцы или годы моей жизни.


Примерно в это же время я обнаружил Indie Hackers.


Скриншот сайта Indie Hackers

Это онлайн-сообщество для основателей маленьких предприятий по разработке ПО. Ключевое слово «маленьких». Это не будущие Цукерберги, а те, кто хочет построить скромный прибыльный бизнес, дающий средства к существованию.

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

Инди-хакеры — заманчивая альтернатива. Большинство из них построили бизнес на собственные сбережения или как побочные проекты в свободное от основной работы время. Они не искали инвесторов и, разумеется, не доказывали свою состоятельность перед анонимными комитетами.

Конечно, есть и минусы. Их доход менее устойчивый, и здесь больше разных катастрофических рисков. Если я когда-нибудь совершу ошибку в Google, которая обойдётся компании в $10 млн, то не испытаю никаких последствий. Меня попросят написать документ с анализом событий post-mortem — и все порадуются усвоенному уроку. Для большинства независимых основателей ошибка в $10 млн означает разорение бизнеса и выплату долга в течение нескольких жизней.

Участники сообщества Indie Hackers пленили меня, потому что они полностью контролируют ситуацию. Независимо от того, испытал бизнес безудержный успех или многолетний застой, они остаются главными. В Google я не контролировал даже собственные проекты, не говоря уже о карьерном росте или руководстве своей командой.

Я думал об этом несколько месяцев и наконец решился. Я хотел стать инди-хакером.


У меня все ещё оставались незавершенные дела в Google. Потратив три года на попытки повышения, я возненавидел идею уйти ни с чем, без единого завершённого дела. Осталось всего несколько месяцев до той даты, когда я мог подать повторную заявку на повышение, поэтому я решил попробовать ещё раз.

За шесть недель до этой даты мой проект отменили. Снова.

Вообще-то, всю мою команду отменили. Это достаточно распространённое явление в Google, для которого существует эвфемизм: дефрагментация. Руководство передало проекты моей команды другой дочерней команде в Индии. Я и мои коллеги должны были начинать всё сначала в разных подразделениях компании.

Я всё равно подал заявку на повышение. Несколько недель спустя мой менеджер прочёл мне результаты. Мой рейтинг производительности был «Превосходно», самый высокий из возможных, который получают только около 5% сотрудников за каждый цикл. Комитет по повышению отметил, что за последние шесть месяцев я чётко продемонстрировал работу на уровне «сеньора». По сути, в течение этих месяцев я занимался оптимизацией метрик для повышения.

Но они выразили ощущение, что шесть месяцев — недостаточно долгий срок, так что… удачи в следующий раз.

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

Пришло время уходить.


Когда я говорю людям, что ушёл из Google, они предполагают, что у меня блестящая идея стартапа. Только идиот оставит такую хорошо оплачиваемую работу как инженер-программист в Google.

Но я действительно идиот без идей.

Мой план — попробовать по несколько месяцев разные проекты и посмотреть, какой из них словит волну, например:

  • Продолжать работать над KetoHub и попробовать сделать его прибыльным.
  • Создать бизнес на основе SIA, технологии распределенного хранения, о которой я часто писал.
  • Потратить больше времени на написание статей и поискать варианты заработать на этом.

Google был отличным местом для работы, и я там научился многим ценным навыкам. Уходить было тяжело, потому что предстояло ещё столько узнать. Но работодатели вроде Google останутся всегда, а у меня не всегда будет свобода основать собственную компанию. Поэтому я с нетерпением жду, куда меня приведёт этот путь.

Есть информация, что сотрудники Google, которые уходят из компании (например, чтобы попробовать свои силы в стартапах) могут легко вернуться и без проблем получить прежнюю должность в течение нескольких лет, так что люди вроде автора этой статьи практически ничем не рискуют. Хотя нужно учесть, что высказанная им критика может повлиять на решение компании о приёме его обратно. — прим. пер.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *