«90% успіху — це навички, і тільки 10% — удача». Як український студент втретє потрапив на стажування в Google
Маркіян Валявка після чотирьох років в Українському католицькому університеті (УКУ) уже втретє проходить стажування в компанії Google. Перше стажування було віддаленим через пандемію COVID-19, друге відбулося у швейцарському Цюриху, а третє — у Лондоні.
DOU поцікавився досвідом Маркіяна, умовами інтернатури та можливістю отримати офер в одній з головних технологічних компаній світу.
«Справжній інтерес до програмування з’явився в університеті». Про входження в професію
Я зі Львова. Навчався в класичній гімназії, потім вступив до УКУ на спеціальність «Комп’ютерні науки». З комп’ютерами я ознайомився ще в дитячому садку. Тато завжди забирав мене звідти раніше, тому я проводив багато часу з ним на роботі, оточений комп’ютерами. Я грав у ігри, шукав інформацію в інтернеті, навчався.
Пізніше проходив різні курси з програмування. Завдання мені давалися легко, але спосіб подачі інформації був нецікавим. Справжнє захоплення програмуванням з’явилося в університеті. Тоді мені почали подобатися комп’ютерні науки.
Після першого курсу в УКУ літо
Крім цього, я подав заявку на програму Google STEP (Student Training in Engineering Program) — це
Того ж літа мене відібрали на наступне стажування, яке розпочалося у липні
У STEP я працював над спільним проєктом з партнером-інтерном. Наш проєкт виявився корисним для інших команд, тому пізніше ми об’єдналися з двома стажерами з Лондона і продовжили працювати уже вчотирьох. Досвід об’єднання команд — нетиповий для Google, зазвичай такого не буває.
Упродовж стажування я мав справу з бекендом і був частиною SRE-команди (Site Reliability Engineering). Наше завдання полягало в підтримуванні працездатності програмного забезпечення, перевірянні її після інцидентів та виявленні аномалій для швидкого усунення проблем.
До слова, інцидент зазвичай стається тоді, коли порушується SLO (service-level objective). SLO — це чітко визначена «ціль», яка стосується певного сервісу. Наприклад: «за останній місяць 90% запитів до сервісу „А“ завершується за менш ніж 300 мілісекунд».
Може статись так, що в період особливих навантажень, наприклад, під Новий рік, сервіс «А» отримує занадто багато запитів і починає повертати їх через довгий час (припустимо 10 сек), або ж сервіс «падає» взагалі. Цю подію можна класифікувати як «інцидент».
Всі метрики SLO моніторяться та фіксуються у режимі реального часу. Якщо потім переглянути значення latency (затримки передачі даних) у період, який охоплюватиме Новий рік, на графіку ми помітимо великий стрибок показника до 10 секунд, це — аномалія.
На практиці, якщо певний сервіс, скажімо в Азії, перестає працювати, відповідального Site Reliability інженера пінгують на пейджер, і він має швидко все виправити. Але коли один сервіс вийде з ладу, інші пов’язані з ним також можуть відмовити. Це можуть бути сотні сервісів, і нам потрібно знайти той, через який виникла проблема (це так званий root cause analysis). У цьому і полягала ідея нашого з командою проєкту — допомогти SRE-інженерам швидко знайти першопричину проблеми та відновити роботу сервісів без іміджевих чи фінансових збитків для компанії.
Конкретно я писав детектор аномалій, який моніторив стрибки latency, кількість помилок на секунду та інші параметри, і створював звіти про значні відхилення. Ця автоматизація заощадить досить багато часу SRE, якому не потрібно буде вручну шукати аномалію.
Інтер’єр офісу Google в Лондоні, де зараз працює Маркіян
«90% успіху на інтерв’ю залежить від навичок». Про секрети вдалої співбесіди
Після подачі заявки на стажування в Google треба пройти відбір, який передбачає інтерв’ю. За моїми спостереженнями, 90% успіху на інтерв’ю залежить від власних навичок, а тільки 10% — від удачі. З цих 90%, я вважаю, 50% становить технічна кваліфікація, а 40% — комунікаційні навички.
Під час інтерв’ю важливо уникати затяжних пауз, навіть якщо відповідь на запитання виникає в голові не відразу. Я рекомендую висловлювати свої думки вголос під час процесу розв’язування завдань на співбесіді. Цю ж техніку я практикував, коли тренувався на LeetCode — не просто виконував завдання, а уявляв, що розповідаю про весь процес реальній людині.
Звісно, треба знати англійську мову, щоб ефективно спілкуватися зі співрозмовником. Також перед інтерв’ю варто дослідити компанію, щоб зі свого боку ставити релевантні запитання. Я підготував цілий список таких запитань у Google Docs: цікавився, яким є робочий день у компанії, як організовані команди в Google, як відбувається комунікація між ними тощо.
«Стажер приєднується до команди, якщо є взаємний метч». Про друге стажування в Google
Щоб потрапити на повторне стажування у 2022 році, виявилося достатньо отримати позитивний відгук від хоста — менеджера попереднього проєкту. Іноді може знадобитися додаткове інтерв’ю.
За цією ж процедурою можна отримати і робочий офер на фултайм, проте це можливо тільки після закінчення університету. Google не пропонує роботу студентам, які просто зараз здобувають вищу освіту, і активно заохочує їх до отримання диплома.
Відбір на стажування досить тривалий. Розгляд фідбеку після попереднього проєкту займає від чотирьох до шести тижнів. Приймальна комісія, що складається з експертів-волонтерів усередині Google, вивчає код, який ви писали раніше, дизайн реалізованого проєкту, а також відгук попереднього менеджера.
Далі формується список кандидатів для стажування, з якого внутрішні команди обирають собі стажерів. Зазвичай проводять так звана host-matching співбесіда, де ви розповідаєте про власний досвід, а команда — про свій поточний проєкт. Після цього як стажер, так і менеджер повідомляють своє рішення рекрутеру. Якщо є взаємний метч, стажер приєднується до команди.
Моє друге стажування проходило в Цюриху вже офлайн і охопило абсолютно новий технологічний стек. Цього разу я працював з фронтендом, що вимагало вивчення багатьох нових технологій, включаючи Angular і TypeScript.
«Основний час моєї роботи займає саме проєктування». Про третє стажування
У травні 2023 року я повернувся до Google як стажер і приєднався до команди SRE у Лондоні. До речі, вперше термін SRE, або інженерія надійності сайту, ввів саме Google, описавши його як «підхід до операцій, коли ви ставитеся до них, ніби це проблема програмного забезпечення». Робота SRE полягає в забезпеченні надійності, масштабованості та безперебійної роботи ІТ-систем.
Наразі моє завдання — створювати і розгортати проєкт з нуля, використовуючи мову програмування Go. Це буде система, яка збирає та аналізує інформацію про цілі, які SRE хочуть підтримувати, і цілі, які потребують їхньої негайної уваги. Так ми зможемо балансувати ці процеси у найбільш ефективний, «здоровий» спосіб.
Основний час моєї роботи займає саме проєктування, а не імплементація проєкту. Для цього мені потрібно вивчити велику кількість внутрішньої документації, технологій та процесів і зробити пропозиції щодо конкретного пайплайну: збірка проєкту, тестування, завантаження артефактів до сховища, розгортання програмного забезпечення та інше. На реалізацію я маю 14 тижнів.
Читайте також інші історії стажування в GoogleНаступна мета після стажування — отримати офер від Google на повну зайнятість. Проте з урахуванням нинішньої ситуації з глобальними скороченнями персоналу це може бути викликом. Неясно, яким буде процес найму в цей час, оскільки після скорочень компанії часто обмежують прийом нових співробітників на певний період.
Google — це чудовий старт кар’єри. Це саме та компанія, де ти можеш чогось навчитися. Тут тобі надають час, доступ до бази курсів та внутрішньої експертизи. Як у інженера-інтерна у мене було безліч можливостей для навчання. Крім того, компанія може спонсорувати частину вашої освіти, навіть магістратуру. Google дуже зацікавлений у розвитку своїх співробітників.
Корпоративна культура побудована таким чином, що ви можете запланувати зустріч за кавою фактично з будь-ким. Наприклад, якщо ви захоплені тим, як хтось створює презентації або веде публічні виступи, спокійно можете зустрітись і напряму запитати, як він це робить. Навіть якщо ця людина обіймає високу посаду і має команду з 300 співробітників, вона буде відкритою до спілкування.
Також Google організовує багато заходів для зміцнення командного духу: ми вирушали в походи в гори, на озера, організовували барбекю, щоб побудувати ближчі та довірливі стосунки.
Ще однією особливістю, яка мені імпонує, є політика «No Heroes» в Google — компанія не стимулює конкуренцію, перегони за службовим підвищенням і понаднормову роботу, і намагається забезпечити ідеальний баланс між роботою та особистим життям, де кожен може розвиватися у команді й мати достатньо часу на власні справи.