Quantcast
Channel: Найцікавіше на DOU
Viewing all articles
Browse latest Browse all 8115

Шлях стажера: Facebook

$
0
0

[Шлях стажера — постійна рубрика, в якій IT-спеціалісти діляться своїм досвідом стажувань як у закордонних, так і в українських компаніях. Якщо ви хочете розповісти свою історію, пишіть на vlada@dou.ua]

Привіт! Мене звати Діма Охонько, після стажування у Facebook я отримав фултайм офер. Вже два роки працюю на повний робочий день: півтора роки в Лондоні, потім переїхав у Сіетл.

Як усе почалося

З дитинства я захоплювався математикою. Саме це захоплення, як виявиться згодом, стане важливим у моїй кар’єрі програміста. Мені дуже пощастило з вчителем математики у школі — Тимошкевич Вікторією Олексіївною. Навчаючись у Київському фізико-математичному ліцеї № 208, я мав можливість відвідувати додаткові гуртки, в яких викладали найкращі українські олімпіадники, брав участь у турнірах, щоліта їздив у математичні табори. Як і більшість однокласників, я вступив на механіко-математичний факультет в КНУ імені Тараса Шевченка. На першому курсі я зайняв третє місце на всеукраїнській олімпіаді для студентів, яка проходила у Львові, втіливши свою мрію дитинства.

На третьому курсі декан факультету порадив мені і ще кільком олімпіадникам піти на стажування в київський відділ Samsung. На співбесіді я не зміг написати ні рядка коду, проте продемонстрував високий рівень знань із математики та кмітливість. Мене взяли з умовою, що вдосконалю свій рівень програмування під час стажування. У Samsung мною опікувався хороший менеджер — фізик-ядерник Максим Бородін, який мав досвід роботи в команді інженерів на адронному колайдері в Німеччині. Він доволі швидко ввів мене в курс справ. Згодом я успішно пройшов стажування і почав працювати, поєднуючи роботу з навчанням. Працював у команді, яка займалася обробкою зображень, читав наукові статті та розробляв різноманітні алгоритми.

Невдовзі випадково потрапив на рекрутинговий захід від Micrоsoft, де залишив своє резюме. Згодом мені призначили скайп-інтерв’ю, яке пройшло успішно. Але за результатами наступного інтерв’ю в Осло я не отримав роботу через прогалини в інформатиці. Після цього поставив собі за мету вивчити основний теоретичний матеріал інформатики, навчитися розв’язувати олімпіадні задачі з програмування та потрапити на роботу у велику IT-компанію. Я склав план, за яким читав книжки, слухав лекції та розв’язував задачі. Познайомився з хлопцями, які брали участь в олімпіадах з програмування. Розвиватися в колі однодумців завжди легше та ефективніше.

Удруге відправив своє резюме до Micrоsoft влітку 2013, коли мав високий рівень знань у цій галузі. Компанія запропонувала стажування в Редмонді, де я працював на проектом, який є високорівневою обгорткою для Direct2D. Мав нагоду працювати з досвідченими інженерами, які стали для мене прикладом. По закінченні стажування отримав фултайм офер.

Перший день стажування. Усі інтерни разом

Чому Facebook

Коли вдруге подався в Microsoft, вирішив також спробувати свої сили в Facebook. Компанія приваблює багатьох олімпіадників з програмування через велику українську діаспору в офісах, відкритість та технології. Facebook більше схожий на стартап: менше бюрократії та стандартних корпоративних правил. Забігаючи наперед, скажу, що кожної п’ятниці Цукерберг проводив сесії для працівників, на яких можна було ставити свої запитання.

Підготовка

Почав читати про те, як проходять стажування у Facebook. Зв’язався зі своїми товаришами, які раніше стажувалися у компанії, отримав поради над чим працювати, і склав план підготовки.

Алгоритми вивчав за книгою «Алгоритми: побудова й аналіз» авторства Кормена, Лейзерсона, Ривеста та Штайна. Без цього видання вирішувати завдання з програмування було б дуже складно. Важливо виконувати завдання після кожного розділу, хоча б усно. Також можу порекомендувати перший том Кнута. Слухав різні онлайн-лекції американських університетів з операційних систем і компіляторів, користувався відкритими курсами з університетів Berkeley та MIT.

Також вирішив відновити тренування з олімпіадної математики і поставив собі за мету взяти бронзу на Міжнародній олімпіаді з математики для студентів (IMC). Я вчився на 4-мукурсі, тому це був перший і останній шанс для мене. Займався десь півроку. Тренував мене багаторазовий призер всесвітніх олімпіад Віталій Сенін — мій близький товариш, колишній однокласник та одногрупник. У результаті вдалося здобути навіть срібло. До цього часу це одне з найважливіших досягнень у моєму житті. Я здійснив свою дитячу мрію, хоча вона й не має нічого спільного з отриманням оферу на стажування. Від стажерів у Facebook не вимагають знань із математики. Хоча додаткові досягнення виділяють резюме з-поміж інших.

Далі зв’язався зі знайомими хлопцями, які досягли успіху в олімпіадах з програмування. Вони порекомендували вирішувати задачі і брати участь в олімпіадах на ресурсах topcoderі codeforces. Я поставив собі за мету досягти «жовтого» рангу. Незважаючи на мій досвід в математиці, реалізувати це виявилося дуже складно. Проте завдяки майже щоденним заняттям через півроку я все ж таки досягнув своєї мети. З корисних ресурсів хочу відзначити e-maxx.ru.

Відбір

На таку самопідготовку мені знадобилося півроку. Після цього попросив свого знайомого Андрія Короткова, який працює у Facebook, про внутрішню рекомендацію. Від миті, коли я подався, до першого інтерв’ю пройшов один місяць. Спершу я пройшов два скайп-інтерв’ю з інженерами. За 45 хвилин розмови потрібно було вирішити дві задачі. Із моїх спостережень — під час відбору стажерів інтерв’юерам важливо не те, чи знаєш ти мови програмування або чи є в тебе досвід. Головне — мати хороші ідеї, вміти вирішувати нестандартні задачі (тут мені стала у пригоді математика). Хоча треба й код без помилок написати.

Через декілька місяців призначили ще два додаткові інтерв’ю (хоча стандартно їх два). Але вже на третьому усе вирішилося — розмова пройшла добре. Пройти відбір було нелегко. Було багато сумнівів і переживань, адже я не мав профільної освіти, не був добре підготовленим із програмування.

В Америці є релевантність між освітою і вимогами ринку. У нашій країні університети не такі престижні. На мою думку, інженери Facebook більше приділяли увагу здатності навчатися та аналізувати. Важливою є не освіта, а навички. На щастя, сьогодні навики програмування можна освоїти і в домашніх умовах. Готовність вчитися та відкритість до нового відіграє важливу роль.

Одним із бар’єрів під час співбесід для мене виявилася англійська мова. Складніше було ще й з огляду на те, що по телефону спілкуватися важче, ніж наживо, — може виникнути більше труднощів. Знання мови має бути досить хорошим, щоб не відволікатися на переклад. Погано, коли чогось не розумієш і перепитуєш (хоча мені кілька разів доводилося). Усе це при тому, що я ходив на курси англійської, жив у Штатах за програмою Work&Travel, дивився багато фільмів в оригіналі. Загалом англійську необхідно підтягувати. Немає англійської — шанси на відбір невеликі.

Катання на лижах, організоване для інтернів

Підготовка

Спеціальна компанія, яку найняла Facebook, займається всіма юридичними питаннями, візами тощо. Тобто усе, що було потрібно, я виконував сам, але мені давали чіткі інструкції: «Оформи цей документ», «Відправ цей документ». Не потрібно було самому уточнювати деталі. Усе, де можна було обійтися без моєї безпосередньої участі, робили замість мене. Навіть рекомендували, як проходити співбесіду у посольстві. Я прийшов підготовлений, не було напруження і хвилювання. Теоретично це робота на кілька днів, але оскільки іноді доводилося чекати, процес розтягнувся на один місяць.

Переїзд

Прилетів у Менло-Парк, заселився. Можна було вибрати: жити з сусідом чи без. Я би рекомендував першу опцію, бо одному важко морально: нове місто, нова компанія. Є багато нюансів, пов’язаних із адаптацією, тому важливо мати поряд людину, з якою можна поговорити. Не шкодую, що оселився не сам, — мій сусід-бразилієць став одним із моїх найкращих товаришів. Мешкали в апартаментах із двома спальнями, вітальнею і кухнею. У кожного була своя ванна. На час стажування житло оплачувала компанія. А запропонованої заробітної плати більш ніж досить для комфортного проживання.

Стажування

12 тижнів мого стажування можна описати одним словом — «челендж». Бачив, що інші стажери дуже сильні, а в мене була мета — отримати роботу. Готував себе до того, що буде важко.

Я потрапив у команду в рекламному відділі, розробляв динамічні підказки. Слід було працювати на стеці Hack (мова програмування, розроблена усередині Facebook) та JavaScript з React. Це був стрес, оскільки раніше не доводилося мати справи з цими технологіями (так само, як і з розробкою у вебі). Тож працювати доводилося більше, ніж фултайм працівникам, — не вистачало профільних знань. Наприклад, мій сусід працював менше, бо знав більше. Він йшов додому о 17:00 або 18:00, а я — о 21:00. Але це був мій вибір. Загалом нема такого поняття як робочий день — сам собі організовуєш процес. Важливо не пропускати зустрічей з командою та віч-на-віч із керівником.

На екваторі стажування проводять звітування, під час якого аналізують твої досягнення. Мені сказали: писати код — це добре, але не досить просто якісно це робити. Треба думати про вплив на продукт. Відтоді я змінив підхід, взяв собі за правило focus on impact, почав зосереджуватися на тому, щоб те, що роблю, з’явилося на сайті, щоб люди користувалися моїми підказками, щоб я отримував фідбек. Зауваження до моєї роботи зачепили, адже звик чути хороші відгуки, але одночасно й дали позитивний поштовх. Друга половина стажування була легшою та плідною: поглиблено вивчив Hack, JavaScript та React.

Усі люди, з якими працював, були дуже приємними. Facebook — горизонтальна організаційна структура. Така будова позитивно відображається на спілкуванні. Відчуваєш себе вільним ставити запитання та пропонувати ідеї на будь-яких рівнях. Тут особлива корпоративна культура: всі процеси відкриті та про все можна дізнатися. Також мені подобається, що у Facebook офіс-опенспейс. Навіть у Марка Цукерберга такий самий робочий стіл, як у звичайного інженера.

Benefits

Для стажерів організовували різноманітні заходи, які проходили в ресторанах та пабах, вечірки, поїздки, спортивні заходи — усе, щоб піклуватися про наш комфорт і соціалізацію. Їжа була смачною, різноманітною (від суші до стейків) і безкоштовною.

З ранку і до обіду регулярні автобуси приїжджали забирати працівників. Лише тим, хто збирався на роботу опісля цього часу, доводилося добиратися самотужки.

Вечірка для інтернів

Офер

До останнього дня я не знав, чим усе закінчиться. Ніхто не може сказати напевне, які шанси отримати офер, але за моїми спостереженнями вони були великими. Беруть усіх, хто підходить, хто талановитий, немає процентного співвідношення. Тепер бачу, що все залежало просто від моїх зусиль. Улітку 2015 року я почав працювати на фултаймі.

Через обмежену кількість робочих віз H1B я був змушений півтора роки працювати поза межами США, в Лондоні, аж поки не отримав візу зразка L1. Після Лондона мав можливість вибирати між трьома містами в Америці. Зупинився на офісі в Сіетлі, бо сподобалося місто і команда. Також у Сіетлі нижчі ціни, доступніше житло, менше оподаткування (нема податку штату на income).

Незабаром буде два роки, як я у компанії на повній ставці. Зараз працюю на бекенді команди пошуку.

Поради

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

Важливо переймати досвід колег, вчитися та ставити правильні запитання: необхідно розділяти цінності компанії, розуміти її місію.

На стажуванні я отримав більше знань про веб і про продукт, над яким працює команда. Особливість роботи в команді продукту у Facebook — ти ніколи на 100 % не знаєш, чи вийде саме так, як плануєш, увесь час експериментуєш. Треба пам’ятати, що завжди необхідно вчитися і рости. У такій інтелектуальній сфері, як IT, неможливо стояти на місці. Якщо ти не прогресуєш, ти регресуєш. Вибір завжди за тобою.

Подаватися на стажування можна в будь-який час: вам запропонують різні доступні дати стажування в разі успішної співбесіди. Головне, щоб на момент подання кандидатури ви були студентом. Чудово, якщо працівник компанії дасть вам рекомендацію, але можна й просто залишити резюме на сайті Facebook.


Дякую за допомогу в оформленні статті Ярославі Тимощук.


Viewing all articles
Browse latest Browse all 8115

Trending Articles