×Закрыть

Українці в екосистемі Facebook

Привіт! Ми, команда DEV Challenge, мандруємо по всьому світу і спілкуємося з українцями, які працюють в топових продуктових компаніях. Щоб показати вам, як все влаштовано зсередини. Якщо вам сподобається стаття — ми оформимо це у спецпроект для DOU.

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

Остап Коркуна
колишній олімпіадник (золота медаль на чемпіонаті світу з програмування), а зараз громадський активіст. Вже 7 років працює в Кремнієвій долині на посаді Software Engineer в команді Monitoring (моніторинг інфраструктури Facebook).
Сашко Котлярський
легенда і сайтбілдер лондонського офісу Facebook, зараз на посаді Software Engineer працює над технологією React Native в Каліфорнїі. Суддя DEV Challenge 2017.

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

Сашко: Команди постійно спілкуються між собою. Завжди є зворотній зв’язок. Проводяться внутрішні зустрічі, де команди розказують про свій досвід, презентують нові продукти. Так команди адаптують і коригують своє розуміння, куди і як рухатися далі.

Зверху вниз задаються тільки вектори руху, а знизу вгору йдуть рішення. Вплив продукту на інфраструктуру визначає форму навантаження. Це конкретні технічні задачі.

Остап: Є три важливі фактори, які роблять для мене роботу цікавою: складність, свобода і відповідальність. Всі ці три фактори сповна присутні в роботі інженера Facebook.

Під складністю мається на увазі складність задач. Прості задачі швидко набридають. А найбільше захоплюють ті задачі, до яких спершу навіть не знаєш як підійти. Знаходити рішення таких проблем приносить найбільше задоволення. Саме складні задачі дозволяють виходити з зони комфорту і розвиватися.

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

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

Три принципи внутрішньої системи:

#Абсолютна довіра до співробітників. В перший день дають ноутбук і телефон з доступом до всього коду Facebook, і ти можеш одразу його міняти.

#Команди автономні. Інженери напряму відповідають за якість свого продукту. Тому немає чітких груп тестувальників. Команди самі пишуть код, самі тестують, самі деплоять, самі забезпечують підтримку, самі його фіксять.

#Гнучкість. Можливість обирати і міняти команди. Менеджери навіть дуже рекомендують інженеру раз на 2 роки брати hackamonth — спробувати місяць попрацювати в новій команді. Так інженер може випробувати себе в розробці нового продукту, отримати нові навички і не засиджуватися на місці.

Сашко: Після певного часу роботи в одній команді інженер «вростає» у предметну сферу, і поміняти команду — це майже як відпустка. Це один із важливих факторів, чому люди залишаються в Facebook надовго. Наприклад, я змінював команду тричі за 4,5 роки. Після буткемпу і переїзду в Лондон обрав Tools Frontend, де ми працювали над різними внутрішніми інструментами для Facebook. Коли через рік перебрався до Каліфорнії, взяв hackamonth в команді React Native, тому що дуже подобалась ідея ReactJS і був досвід розробки під iOS. Сподобалось, лишився в команді на 3 роки. Після цього зрозумів, що вже багато часу провів в одній сфері, і хотілось спробувати щось нове. Записався на ще один hackamonth в Oculus, сподобалось, лишився там тепер як користувач React Native. :)

Післяробочі посиденьки в Worms в лондонськму офісі

В якійсь мірі Facebook — це багато маленьких команд-стартапів всередині великої компанії. Команди самі за свої продукти відповідають. Як одна екосистема, де багато маленьких гравців. Тому не можна політично нав’язати якусь внутрішню розробку. Якщо продукт команди недостатньо якісний, то його просто не будуть використовувати всередині компанії. Інші команди знайдуть щось інше або напишуть своє. Такі склалися ринкові умови.

Остап: У нас не слідкують, скільки часу ти провів за робочою машиною чи скільки рядків коду написав. Сьогодні, наприклад, мій hard-дедлайн, щоб потрапити в офіс — це зустріч о 14:00 по обіді в офісі. Далі по 17:00 в мене ще зустрічі. А так-то я працюю там, де мені зручно, і коли я найбільш продуктивний. Наприклад, я працюю в душі, коли думаю над проектом. Часто до обіду я можу вирішувати свої важливі неробочі задачі, а потім до пізнього вечора працювати. На щастя, дружина не дозволяє мені працювати цілу ніч. На вихідних працюю рідко, бо маю достатньо інших соціальних та громадських задач.

Робочий гамак Сашка в лондонському офісі

Bootcamp. Період адаптації

Дуже важливо зрозуміти, що Facebook наймає конкретну людину, а не команду. Тому люди не приписані до команди, коли приходять у Facebook, за рідкісним винятком спеціалістів з великим досвідом у певній вузькій галузі. Більшість приходять як generalist-и (програмісти широкого профілю, так би мовити). І перші 6 тижнів новий інженер проводить в буткемпі — своєрідному тренувальному таборі, де йому випадковим чином накидують завдань з різних команд. Новий інженер ходить на лекції, де розказують, як все працює, і виконує реальні задачі. Далі спілкується з менеджерами команд, щоб краще познайомитися і зрозуміти, чи підходить він команді і навпаки.Так відбувається процес знайомства з командами. Тотальний взаємовибір. Після 6 тижнів інженер обирає, з якою командою йому залишатися. Люди знаходять один одного.

Остап: Коли вчишся, ти робиш багато помилок. Якщо помилки не толерують — то навчання не може бути ефективним. Learning environment передбачає високий рівень толерантності до помилок. Ніхто від тебе не очікує, що ти будеш все знати, але очікують, що ти будеш швидко вчитися.

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

Наприклад, моєю першою задачею в буткемпі було виправити дрібний баг на сайті. До цього я PHP практично не бачив і ніколи не використовував. Виправити баг це не завадило. Все майже як на С++, тільки до всіх змінних потрібно дописувати «$» ;)

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

Атмосфера лондонського офісу, двері з космічного корабля фільму «Прометей»

Буткемп дуже важливий, бо дає цілісне розуміння, як виживати в цій екосистемі. І тоді стажери та новачки самі стають частиною усіх процесів. Окрім цього, інженери постійно проводять спеціалізовані курси peer-to-peer. Це один із найважливіших способів передачі знань у Facebook. Кожен викладає по своїй частині. Формат — 30-хвилинна лекція, а потім питання, ланч або, як виняток, вечір в пабі з лектором. :) В більшості випадків це відбувається неформально, випливає із засадничого принципу постійного спілкування працівників між собою. На цьому побудована вся компанія.

Зарплатня у Facebook

Facebook платить не найбільшу з/п в Долині. Але якщо взяти все в сумі: акції, зарплата, соцпакет, бонуси і відпустки, оплати медичних витрат, безкоштовна пральня в офісі, безплатна їжа, то виходить дуже круто. Цілком конкурентоспроможна компенсація. Приблизно така ж, як і в інших гігантів галузі — Google, Amazon, Apple.

Відпустка 21 день на рік, декретна відпустка 87 днів (для тата й мами), додаткова місячна відпустка після 5 років роботи, медична страховка для працівника і сім’ї, 401(k), $700 на різні оздоровчо-спортивні витрати на рік, 2 спортзали в офісі, 10 ресторанів з безкоштовною їжею, перукарня, стоматолог і медпункт.

Типовий робочий стіл інженера у Facebook

Як потрапити на роботу у Facebook

Звичайно, можна знайти вакансію та податися у офіційному розділі. Щоправда, коли Сашко відправив так резюме, йому відповіли відмовою. В результаті він потрапив у Facebook через хакатон в Україні. То був перший міжнародний хакатон, бо зазвичай Facebook проводить заходи лише в американських університетах. Сашко, як і Остап, брав участь в олімпіадах з програмування, але далі обласних змагань не доходив. Після семінару від Facebook був дуже вражений тим, як там запускають продукти, як тестують код.

Сашко: В той час я взагалі не думав про Facebook, як технологічну компанію. Не знав, що у них проводяться стажування і можна туди податися — відправити резюме. Я просто відправив їм резюме, але, можливо, вибрав не ту вакансію. На той запит вони написали, що у мене недостатньо досвіду. Після цього вже на хакатоні ми з другом створили програмку, яка дозволяє peer-to-peer чат між двома користувачами. В результаті ми нічого не виграли. Нас ніхто не обрав. Але я відкрив велику таємницю: перемога на хакатоні майже нічого не вирішує. Якщо ти його виграв — дуже класно, але найцікавіше — спілкуватися з людьми, які туди прийшли. Рекрутери роблять акцент на учасників, а не на трьох переможців. Їх цікавлять всі.

Через деякий час рекрутери Facebook cамі написали листа. Коли Сашко вже підписав офер, візи в Америку закінчилися. І тоді саме відкрили інженерний офіс в Лондоні. Було дуже мало проектів — лише п’ять. Так усе почалося.

Сашко: В лондонському офісі займався фронтендом, деякими інструментами, що пов’язані з конфігурацією. А зараз, до речі, десь 300 інженерів в Лондоні. Пізніше переїхав, бо оригінальний офер був в Америку, і я вирішив спробувати Штати. З соціального аспекту Лондон набагато цікавіший. Жодних вихідних не було, щоб не мав чим зайнятися. Культура більш близька, менший офіс, в основному європейці. Наша культура трохи більше з нею збігається, ніж з американською. А в США доводиться підлаштовуватися. А з робочого аспекту — в центральному більше проектів і можна швидше рости.

Сашко кодить і поки не підозрює, що на цьому хакатоні отримає офер від Facebook, 2012, Київ

Остап вже більше 7 років працює у Facebook, але взагалі він не шукав, як потрапити туди або кудись в Долину. В Україні мав супергнучкий робочий день, добру з/п. У Facebook його привела складність і цікавість задач.

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

Молодим і активним раджу займатися тим, що їм подобається, і займатися цим серйозно. Якщо це програмування, то вкладаючи достатньо часу і енергії, шукаючи складні задачі і вирішуючи їх, ви обов’язково досягнете успіху, і компанії світового рівня (як Facebook) конкуруватимуть за вас. Чим конкретно займатися? Оберіть те, що вам подобається: олімпіади, хакатони, власні проекти — варіантів багато, потрібні лише комп’ютер, інтернет і бажання. Якщо ж нічого з цього вас не захоплює, можливо, програмування не для вас? :)

Остап мігрує по столах, придивляючись до потенційних кандидатів на роботу

Сашко: Треба розуміти, що Facebook наймає інженерів різних рівнів — від випускників до ветеранів нашої індустрії. Вимоги до кожної категорії теж різні. На мови програмування не звертають уваги, але потрібно вміти розв’язувати технічні задачки (важливо на всіх рівнях).

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

Магістрам і аспірантам — займайтесь machine learning та computer vision, це наразі дуже актуальні теми.

Більш досвідченим в індустрії — участь в конференціях, бажано в ролі доповідача, працювати над open source проектами, завжди розширювати свої горизонти. Багато колег приєдналися саме так — через активну участь в спільнотах розробників.

P. S. Хочеш прочитати про певну компанію зсередини чи розказати нам про себе — пиши в коментарях чи на hello@devchallenge.it

LinkedIn

36 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
безплатна їжа

Безкоштовна

Стаття супер, А++ ! Правда, що це робота не мала не лег­ка і не проста; тадже ж не святі горшки ліплять ! © Кропивницький
Всі хейтери і лузери ідуть в /dev/null :)

глибоким бекендером Остапом та фронтендером і сайтбілдером Сашком.

смешно, день удался! дальше не читал ...

крэоль прекрасен бро :) его/их юзают все кто не сидит в норе :) и укринглиш стал в ряд со всеми остальными :D

кто не говорил билдить/кодить/дебажить/деплоять ....etc ?

телефон з доступом до всього коду Facebook, і ти можеш одразу його міняти.

І зручно писати код з телефону? :)

Колись багато-багато років тому, ще на дитячому конкурсі програмування, де я показував якусь фігню на тлі того, що інші показували, і на мою адресу продзвучало «може програмування не для вас».
Але, як би там не було... і типу сіньйор, і сири їм, все як треба. Хоча проблем ніяких не вирішую, ані надскладних, ані простих, так, ентерпрайз різноманітний колупаю потроху. Добре, що індустрії потрібні не лише чемпіони змагань по алгоритмам і переможці хакатонів.
А статті такі більше не ставте на доу. А то я трохи комплексую, що не розв’язую щодня надскладних проблем в компанії з геніусами.

А то я трохи комплексую, що не розв’язую щодня надскладних проблем в компанії з геніусами.

Найталановитіші люди планети працюють в Facebook та Google над тим, щоб примусити користувачів більше часу проводити з їх сервісами та більше клікати на рекламу. Сумнівні проблеми, чесно кажучи, хоча й дуже складні.

“When the finger points to the moon, the idiot looks at the finger”

Ну таким невелика кількість працівників там займається, як я розумію, та й ті маркетологи. А легіони гвинтиків-інженерів пиляють костилі для безлічі внутрішніх самописних велосипедів (а це буває інколи дуже складна інженерна задача) і чухають власне его :)

Кінцева задача все одно полягає в тому щоб зібрати з нас з вами побільше даних, показати нам таргетовану рекламу і змусити на неї клікнути. Або згорнути весь інтернет в стрічку автоматично підібраних постів від друзів та спільнот. А на порнхабі знаєте скільки цікавих і надзвичайно складних інженерних задач? А в онлайн-іграх? А в гемблінгах різних? А в трейдингу? Це вам не чергова ERP/CRM-фігня.

а в чому щастя программера, бро? написати власний фейсбук? створити та продати стартап? стати зіркою StackOverflow? купатися в сирах з дзеркалкою в руках? регулярно отримувати адреналін та задоволення від вирішування робочих завдань середньої важкості? бачити число юзерів, на яких прямо вплинув результат власної роботи? стати відомим блогером/подкастером vs тихо інтровертно сидіти у створеній барлозі?
your thing is not my thing, but your thing is ok © один з TEDx talks.

статті такі треба. і пробувати треба як пре і в фейсбук і гуглю теслу наса айбієм юнейміт, як не візмуть то пробувати некст
щоб перед смертю не нити — бльо я так і не спробував, може би взяли :)

щоб перед смертю не нити — бльо я так і не спробував, може би взяли :)

Мда, СанФран славится не только своими ИТ-компаниями ;) Вы уже попробовали, чтобы потом перед смерью не нить? Один раз, не ... :)

Не хочу нікого образити, але ви впевнені на рахунок

Остап Коркуна — ... золота медаль на чемпіонаті світу з програмування

?
Нашвидкуруч нагуглити вдалось хіба згадування про 1 місце на чемпіонаті України, що не те саме що і «золота медаль на чемпіонаті світу». Просто не люблю коли прикрашають факти.

Но золото выиграл ИТМО судя по таблице?

откуда вы такие умные лезете? icpc.baylor.edu/...​s/rules#HSupportandPrizes

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

Первые 12+ мест получают медали.

Треба розуміти, що Facebook наймає інженерів різних рівнів — від випускників до ветеранів нашої індустрії. Вимоги до кожної категорії теж різні. На мови програмування не звертають уваги, але потрібно вміти розв’язувати технічні задачки (важливо на всіх рівнях).

А дизайнерів з нормальною фантазією чого не наймають? Найпотужніша с.м. на світі, а дизайн — очі витікають. Не кажучи вже про його продуктивність.
Може їм пора «позичати» ідеї в конкуренції?

А що не так, з дизайном і продуктивністю у фб ?

Об’єктивно розглядаючи дизайн і продуктивність, пальців на руках й ногах не вистачить, що б перерахувати конкуренційні системи/мережі, в яких UX в рази приємніший і швидший.
Не знаю чи Ви помітили, але навіть по Доу, або Ейн.Юа — навігуватись простіше, швидше і приємніше. Принаймні не так «харишся» коли прогортуєш стрічку, а вона «зависає» так, шо ноутбук гріється, а відкривати кілька вкладок — взагалі не раджу.
При тому, що він показує не на багато більше інформації, ніж інші сервіси.

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

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

Ой щось я не дуже впевнений, що ці дизайнери адекватні, і не б’ють байдики на робочому місці, не зважаючи на їх рівень досвіду і заробітків.
Мав я досвід з однією з «найкрутіших» дослідницьких центрів дизайну і UX в Варшаві, в яких і відгуки від клієнтів-гігантів в своїх сферах найкращі, але повірте мені на слово — за 2 місяці роботи, вони розробили 5 екранів, яких, як не крути, не вдалось нормально використовувати, без певної кількості допоміжних матюків. А гроші вони не маленькі просять, за свої послуги.

які в питаннях дизайну і юзабіліті значно більш кваліфіковані ніж всію доу-експерти разом взяті.

Как раз в UI/UX что хорошо, а что плохо решает та самая буковка «U». Так вот, как «U» считаю что дизайн фб-помойка где-то на уровне Одноклассников, при чем такого же мнения придерживаются многие знакомые.

Ви чи хтось із ваших знайомих пробували зв"язатися з їх службою підтримки, якось оформити своє звернення аби воно дійшло до тих, хто приймає рішення?

Зачем мне это, если у меня есть альтернативы?

Да. Некоторые после блокировки просто свалили в мессенджеры типо Telegram, WhatsApp, Viber и даже Discord.

Так социальные сети и мессенджеры это как бы разные вещи с разным предназначением. Действительно использовать фейсбук — только, как мессенджер не идеальный вариант..

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

глибоким бекендером

Это пять!

На FB фротнендом називають не тільки те що власне в браузері, але й майже весь PHP/hack код.

а как на счет трендов по технологиям?

Спасибо за вопрос. Благодаря ему, предложили Алексу и Остапу подготовить техток. Остап выступит с ним 02.07 во время Финала DEV Challenge 11. Вас лично приглашаю. Детали события можно получить у hello@devchallenge.it или мне в личку

Подписаться на комментарии