×

LinkedIn, Twitter, Google і знову Twitter: що треба знати про співбесіди та особливості роботи в цих компаніях

Розробник Володимир Жаб’юк — вже 17 років у професії. У його послужному списку — понад 10 компаній, серед яких Twitter, Google, LinkedIn. У першій частині статті Володимир розповів про свій кар’єрний шлях та особливості співбесід у США. У другій — порівнює досвід роботи у світових гігантах: куди складніше потрапити, де налагоджена командна співпраця, як відбувається рух кар’єрними сходами, де легше отримувати нові знання, якими додатковими бонусами приваблює компанія тощо. Також Володимир ділиться своїми секретами, як краще підготуватися до співбесіди й отримати вигідніший офер.

Я можу порівняти Twitter, Google, LinkedIn, але потрібно зважати на те, що все дуже залежить від команди, мотивації людини, її потреб, тож мій досвід може бути неактуальним для інших. Наприклад, те, що саме я не бачив, як проявити себе в Google, для когось не буде проблемою. Плюс LinkedIn сьогодні — зовсім інша компанія, ніж була 9 років тому. Її купив Microsoft, минуло багато часу після IPO, вона стала більш стабільною. Тож моя думка про компанію уже може трохи не збігатися із сьогоденням.

Підготовка до співбесід

У Сполучених Штатах я пройшов близько 200 співбесід і провів їх у кілька разів більше. Найважче інтерв’ю в мене було у Facebook. В Google все залежить від того, які інтерв’юери попадуться, але насправді воно теж складне. Що Facebook, що Google проводять п’ять співбесід, майже всі з них технічні. І якщо ви не сподобаєтеся лише одному з п’яти інтерв’юерів — усе, ви не пройшли. Хоч одну задачу повністю не розв’язали — теж, найімовірніше, отримаєте відмову. Є винятки, але їх, може, відсотків 20.

Twitter нині співбесідує менш технічно (два coding questions замість чотирьох), тому сюди потрапити, напевне, трохи легше. Але все одно тут дотримуються певного рівня, як і в інших компаніях. Ще все залежить від того, на яку позицію йти. Співбесіда на вакансії, пов’язані з Machine Learning або Data Science, зрозуміло, будуть відрізнятися. В будь-якому разі спільною частиною будуть питання про мотивацію, попередній досвід, важливі у житті речі, спосіб мислення, питання, що розкривають, як добре людина працює в команді.

Якщо є належний рівень підготовки, великий досвід проходження співбесід, тоді ймовірність пройти її що в Google, що в Twitter, що в Facebook може бути 80%. Завжди є значний шанс не потрапити в команду. Має значення, хто проводить інтерв’ю, який у цієї людини досвід, які питання вона ставить. Для деяких питань 40 хвилин — це замало, для інших — нормально.

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

Перша частина підготовки: я почав активно читати, готуватися на сайтах типу CareerCup, LeetCode. Там люди викладають задачі, які їм давали на співбесідах. Ми з другом брали найскладніші з програмування та Systems design, сідали й починали їх розв’язувати — на дошці чи на комп’ютері, щоб набити руку. У нас була мета виконати їх менше, ніж за 15 хвилин, хоча зазвичай на них дають 40 хвилин. Не пам’ятаю, скільки їх тоді розв’язав, коли готувався. Напевно, кілька сотень.

Що важливо: ніколи не ускладнюйте задачу, тобто не варто її занадто оптимізовувати. Краще спочатку розв’язувати її найпростішим і найшвидшим способом, вибравши для цього достатньо високорівневу мову. Якщо вирішуватимете задачі на C, у більшості компаній ви не пройдете, бо просто не встигнете написати розв’язок.

Зазвичай пишуть на Python, Java, на функціональних мовах. Я б зараз писав на Scala. Наприклад, якщо це задача на динамічне програмування, простір проміжних розв’язків достатньо малий, її можна вирішити методом брутфорсу й потім вставити memoization — кешування результатів. Інакше кажучи, якщо такий проміжний результат уже є, ми знову його не обчислюємо. Я часто пишу рекурсією через те, що так код виходить менший за обсягом. Отже, є таке правило: ніколи нічого не ускладнювати, хіба що вас інтерв’юер попросить розв’язати оптимальнішим способом.

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

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

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

Ще раз наголошу, що для Systems design важливо ставити питання на етапі постановки задачі, уточнювати вимоги. Часто дають високорівневу проблему, наприклад, задизайнити Twitter. Але не можна зразу починати писати. Може, вони мають на увазі щось інше, може, для них Twitter буде зовсім іншим, ніж для вас. Треба з’ясувати, які там основні юзкейси, scalability, latency, requirements availability... Наприклад, чи важливо, щоб була та сама latency в Південно-Східній Азії та Сполучених Штатах?

Або чи маємо ми підтримувати мільйон операцій в секунду чи запитів у секунду, зберігати дані весь час, ніколи їх не видаляти й могти скейлити? Треба знати різницю між NoSQL базами даних і реляційними базами даних: які коли використовувати; коли обирати Offline Data Pipelines, коли realtime streaming, як будувати сервіс, як розбивати на підсервіси, які ставити кеші, як робити consistent hashing і load balancing та багато іншого.

Наприклад, в одній із компаній на співбесіді у мене було завдання — побудувати дата-центр на Місяці. Тобто ми — на Землі, а нам потрібно надсилати та зберігати дані, щоб вони були на Місяці. Як це зробити? Тут теж можна багато питати... Наприклад, як передавати сигнал через таку відстань та атмосферу? Чи як бути з великою latency, ненадійним зв’язком, як завантажувати великі файли тощо.

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

Якщо нервуватися, це буде відбиватися на тому, як працює голова, як ви розв’язуєте задачі. Щоб здобути потрібну впевненість, доведеться пройти до 20–30 таких співбесід на цілий день (onsite loops). І взагалі, треба привчити організм працювати протягом 6–7 годин інтерв’ю. Це важко, великий стрес і напруження — під кінець часто не можеш говорити, нічого не хочеться.

Ще одна користь від таких тренувальних співбесід: ви побачите, з чим треба працювати. Що ви знаєте, чого не знаєте, які галузі треба більше вивчити. Наприклад, якщо є проблеми з питаннями із Systems design, рекурсією чи часовою складністю, усе це потім можна підтягнути. Але отримати фідбек, що саме вчити, — дуже важливо.

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

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

Важливо ставити правильні питання, коли в кінці інтерв’ю виділяють на них 5–10 хвилин. Це можуть бути питання про компанію чи проєкт, які вплинуть на ваше остаточне рішення. Крім них, можна запитувати те, що допоможе встановити зв’язок з інтерв’юером. Люди люблять розповідати про себе. Тому я часто питаю: «Що в цій компанії вам дає мотивацію, а що навпаки — демотивує?». Або: «Розкажіть про якісь найбільші моменти в житті, які змінили те, як ви бачите світ навколо». Це вже не пов’язано з проєктом, але люди здебільшого відкриваються — і встановлюється глибший контакт.

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

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

Стадія оферу: торги

Далі вже Hiring committee ухвалює рішення щодо кандидата. Як саме це працює, залежить від компанії. В Google кожен інтерв’юер пише дуже докладний фідбек про спеціаліста, і це займає більше часу, ніж саме інтерв’ю. Треба написати повністю, що відбулося під час співбесіди з кандидатом.

Потім збираються менеджери, Senior Developers, які здебільшого не знайомі з тими, хто проводив співбесіди, і дивляться всі відгуки, а потім голосують, брати цю людину чи ні. Є такі рекомендації: якщо хоча б один з coding questions не вирішений до кінця, не працює або є якісь застереження інтерв’юера чи він поставив низьку оцінку, такого кандидата не беруть.

У Twitter це називається Hiring Huddle. Збираються ті, хто співбесідував кандидата. Спочатку голосують «так» або «ні», потім по черзі проговорюють своє враження щодо фахівця, відтак голосують ще раз. Якщо понад одне-два «ні», кандидат не отримає офер.

Щодо оцінок, то в багатьох компаніях вони можуть бути від 0 до 4. Де 4 — це найкращий кандидат, якого бачив у житті, 3.1 — беру, 3.0 — мінімум, з яким я б взяв, 2.9 — я не впевнений, 2.7 і менше — я проти, щоб брали цього спеціаліста, менше як 2 — я звільнюся з компанії, якщо цю людину візьмуть.

Якщо є хоча б одна оцінка менше як 3.0, здебільшого кандидата не беруть. Винятки можуть бути: якщо менеджер побачив, що людина справді хороша, перспективна, але сильно нервувалася, і всі інші оцінки добрі, її можуть взяти. Або дати додаткову співбесіду. А ось якщо кандидат не проходить інтерв’ю з менеджером, бачать, що він не мотивований або десь нечесний, це точно red flag. Якщо ж Hiring committee ухвалив позитивне рішення, то про це повідомляє рекрутер і починається стадія перемовин. Питають, з якими ще компаніями спілкуєтесь, яку там пропонують зарплату, у тому числі з акціями, бонусами.

По-хорошому потрібно мати пропозиції від кількох компаній, бажано трьох-чотирьох. Тут вмикається negotiation: завжди можна торгуватися. Скажу навіть більше: торгуватися треба, але обережно. Знання про negotiations і те, як правильно поводитися на перемовинах, на цьому етапі дуже цінні. Є багато курсів і книжок на цю тему. Можна тренуватися в побутових ситуаціях. Наприклад, купівля матраца або вживаного автомобіля у Сполучених Штатах — хороша нагода прокачати свої скіли.

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

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

Крім базової зарплати, є ще акції, які дають переважно на чотири роки. Часто це RSUs (restricted stock units), якщо компанія після IPO. Кожні кілька місяців вони приходять на ваш рахунок, ви платите з них податки — і це вже ті акції, які можна продати. Часто їх вартість більша, ніж базова зарплата. Загалом є базова зарплата, річні бонуси й акції.

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

У Google ще до того, як отримаєте офер, дивляться, чи є команди, які у вас зацікавлені. І потім зводять вас із 3–5 командами, ви спілкуєтесь, приглядаєтесь, де вам цікаво працювати, чи подобаються люди. Потім і вони, і ви ухвалюєте рішення, чи підходите одне одному.

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

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

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

З дружиною на відпочинку

Особливості роботи в Twitter, Google, LinkedIn

Мені дуже приємно було працювати в LinkedIn. Подобались колеги, те, як розвивався продукт... Було цікаво та весело. Знаєте, там була нібито гра: люди працювали граючись і створювали щось дуже круте.

З Twitter теж зрозуміло, я сюди повернувся. Основне для мене — це impact: ми можемо зробити нову фічу за кілька днів — і вона вже впливає на сотні мільйонів людей. Крім того, масштаб, кількість даних, scalability, простота систем, нетривіальність проблем... Ми маємо зрозуміти, як різні групи користувачів поводяться в різних країнах. Створити спрощену ментальну модель, яка здатна обґрунтувати, чому користувачі поводяться так, а не інакше. Це дуже цікаво, додає наснаги та впевненості у своїх здібностях. Плюс люди тут розумні та привітні. Втім, як і в багатьох інших компаніях.

Google — взагалі крутий. По-перше, вони багато вкладають у навчання людей. По-друге, мені імпонує їхній підхід до mindfulness, психологічної безпеки, well-functioning teams, до того, як у такій великій компанії все влаштовано, щоб людям було комфортно працювати. Але, як на мене, попри методичні та надзвичайно сильні процеси тут усе занадто повільно рухається — мені це не подобалося. Тож моя особиста думка: якщо найбільше любите процеси, хочете працювати у великих командах чи над чимось великим, то Google у цьому плані класний. Тут можна отримати такий досвід: є люди, які працюють на одному місці по 16–17 років... Над одним і тим самим. Просто уявіть собі глибину їхнього розуміння проблем, які вони вирішують!

Команди за структурою усюди схожі: в ідеалі це 6–8 людей, є менеджер, може бути Team Lead або Tech Lead. Деколи буває більш Flexible Structure: фахівці розбиті по маленьких підпроєктах, але часто працюють на кількох із них; деколи створюються віртуальні команди зі спеціалістів із різних проєктів.

Крім того, є підкоманди, тобто 2–3 людини працюють над якимись задачами разом. Команди в компаніях найчастіше полінаціональні, багато вихідців з Південно-Східної Азії, Індії, Китаю... За ці роки часто зустрічав українців і вихідців з колишнього Союзу. Недавно у мою команду прийшов хлопець з України, який також працював в EPAM. Дуже приємно, що всі захоплюються, наскільки ця людина мотивована, ставить правильні питання, швидко й добре працює.

Напевно, якщо команда мононаціональна, це не так уже добре для менеджера. Виникає питання: «Чому так відбулося?». Є поняття інклюзивності, і інколи ти береш того, хто схожий на тебе, щоб не було неусвідомленої упередженості. Люди з різних культур — це насправді краще для команди, вона ліпше працює. Те саме стосується балансу щодо статі. Наприклад, для Google цей момент є дуже важливим. Думаю, такі речі існують не на рівні правил, а на рівні цінностей компанії.

Мені всюди подобалося працювати. Здебільшого обов’язки схожі: від команди до команди я займався розробкою. У Google менше програмував, більше опікувався документацією і спілкувався з іншими командами. Але я ніколи не хотів перейти на менеджерську позицію, хочу залишитися в більш технічному напрямі.

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

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

Кар’єрне зростання: різниця в процесах

У Google розробники дуже зацікавлені в тому, щоб перейти на вищий рівень. В інших компаніях, звичайно, теж, але тут це основна тема для розмови за обідом чи в барі. В Google треба показати impact — що ти зробив. І для цього потрібно працювати більш автономно.

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

У Google promotion пакет (для переходу на вищий рівень) фахівець пише сам. Це займає 20–30 сторінок, деколи навіть більше. Треба показати дизайн-документи, ще якісь докази того, що ви зробили, описати, в чому цінність вашого внеску, чи відповідає якість роботи вимогам на наступному рівні. Менеджер теж дає свій коментар. І це будуть оцінювати люди, які працюють у зовсім інших відділеннях компанії. Особливо цього дотримуються при підвищенні до Staff-рівня і вище. Вони розглядають ваш пакет, можуть порівнювати його з promotion пакетами інших людей, дивляться, наскільки виконані вимоги тощо.

У менших компаніях питання кар’єрного зростання більше вирішують менеджери. Вони вже дивляться на те, як спеціалісти працюють разом, допомагають одне одному, як інші розробники розвиваються біля вас, а ви — біля них, як ви разом взаємодієте для того, щоб створити щось цінне. Але це можливо тільки в менших компаніях. Бо щойно promotion process стає об’єктивним, критерій щодо співпраці оцінити складно, адже люди, які ухвалюють рішення, підвищувати кандидата чи ні, з ним не знайомі.

У LinkedIn вже не пам’ятаю особливостей promotion process, і він міг змінитися. Але коли я переходив там на нові рівні, це повністю організовував менеджер. Він робив promotion пакет, мені навіть нічого не треба було писати. Він розказував, що я зробив, і рекомендував мене для підвищення. По суті, це було його завдання.

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

У Google, Facebook, Twitter, LinkedIn рівні схожі. Є сайти з порівнянням рівнів у відомих компаніях. Наприклад, як я пам’ятаю, 6-й рівень у Google відповідає 6-му або 7-му рівню у Facebook і Twitter; 7-й рівень у Facebook відповідає Principal-інженеру в Amazon тощо. У менеджерів своя вертикаль. У first level manager є одна чи кілька команд. Робота в них найскладніша.

У Senior Manager — більше людей, але там уже ієрархічна структура, коли під ним є кілька first level managers. Там легше, бо не потрібно так багато комунікувати з розробниками й можна багато делегувати first level managers. Менеджеру, щоб перейти на вищий рівень, треба отримати в підпорядкування більше людей, більше команд — і тоді він рухається по цій ієрархічній структурі. Після Senior Manager іде Director.

Наприклад, Google багато вкладає в розвиток менеджерів, щоб вони працювали за процесами, які є в компанії. Тут усе найбільше структуровано та заточено якраз під компанію. У Twitter менше ресурсів, менше користувачів і більше проблем. Якщо порівняти з Google, то менеджери тут мають бути thinking outside the box, ініціативнішими, робити більше, витрачаючи менше ресурсів.

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

З родиною

Відпустка, бонуси, їжа та інші умови

Напевно, зараз я пішов би у якусь середню компанію, особливо ту, що виходить на IPO. Це може бути дуже вигідно. Ці компанії готові платити більше, особливо через те, що їм потрібно показувати експоненційне зростання. І якщо вони вийдуть на біржу вдало, акції підвищаться у кілька разів і там можна отримати багато грошей (може вимірюватися мільйонами). Як на мене, це іноді ефективніше, ніж йти працювати в стартапі з надією заробити.

Якщо хочете заробити у стартапі, один з варіантів — йти в middle level компанію, але як Executive, а не розробник, у них часто інший тип акцій (liquidation preferences). Якщо компанію потім купують, вони можуть отримати значно більше. У мене є знайомий, що прийшов приблизно 20-м як Executive в стартап, який потім продали за 500 мільйонів доларів. І він отримав більше, ніж головний архітектор — друга технічна людина в компанії. Є такий дисбаланс.

Йти першими людьми в компанії теж може бути вигідно, але треба дуже торгуватися за акції. Бо варто враховувати, що на кожному раунді фінансування (A, B, C, D) інвестори дають, наприклад, 10 мільйонів доларів, але беруть 15 % компанії. Щоб дати цей відсоток, відбувається розмивання акцій.

Припустимо, було 100 мільйонів акцій, роблять 140 мільйонів акцій, і ці 40 віддають інвесторам. Виходить, що у вас вже приблизно на 15–20 % менше акцій, тому що вони розмиваються. З кожним раундом у вас стає менше акцій, плюс інколи треба ще податки за них платити перед тим, як акції будуть чогось варті.

Ще один спосіб заробити — піти у велику компанію, добре поторгуватися та отримати вигідний офер. Здебільшого за умовами компанії в Кремнієвій долині стараються триматися на рівні. Для прикладу, в інтернеті циркулював документ про зарплати з акціями в Google (щоправда, за 2015 рік). Але знову-таки все залежить від того, як пройдете співбесіду і як потім сторгуєтесь.

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

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

Щодо відпустки, у Twitter — unlimited vacation, але здебільшого співробітники використовують до 4–5 тижнів. У Google, як я пам’ятаю, це три тижні перші два роки (чи щось таке), потім — чотири тижні, відтак — п’ять. У Google дуже наполягають на тому, щоб люди брали відпустки.

У нас тут, у США, народилися дві дитини, а зараз дружина вагітна втретє. Тож можу трохи розказати про parental leave для батьків (для матерів може бути інакше — точно не знаю). У LinkedIn було так. Мені сказали: «Ми розуміємо, що в тебе дитина. Ти можеш працювати, можеш не працювати. Від тебе взагалі нічого не вимагають в найближчі кілька місяців чи навіть пів року». Але, напевно, це залежить і від менеджера. У Google — чіткіше. Вони дають три місяці parental leave на дитину. У Twitter — чотири місяці. Плюс є ж необмежена відпустка, можна взяти ще 4–5 тижнів.

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

Work-life balance залежить як від компанії, так і від самої людини. Я чув, що у Facebook з цим трішечки гірше. В Google хороший баланс: люди не працюють більше ніж 7 годин — реальної роботи насправді менше. Якщо хтось працює більше, то це одне з двох. Або дуже сильна мотивація, цікавий проєкт — і людина просто кайфує від цього. Або вона виконує роботу повільніше. Але якщо людина робить те, що потрібно, є успішною, скільки часу вона витрачає на роботу, вже не є таким важливим.

Наприклад, я відчуваю, що якщо працюю менше часу, то загалом є більш ефективним. Для мене особисто 4–5 годин на день писати код — це максимум. Хоча деколи, буває, запалююсь, і тоді це може бути 7–9 годин.

Що ще з приводу умов... В офісі Google є місця для спання (sleeping pods називаються), масажні крісла, різноманітна їжа. Хоча я чув таке, що їжа раніше була кращою, ніж тепер. А зараз вони стали більше економити. Як я уже згадував, пропонують багато курсів розвитку. Запрошують тренерів зовні, а ще є, так би мовити, внутрішні тренери. Наприклад, у багатьох людей є цікаві хобі — і вони діляться цим.

Взагалі існує система, де можна зареєструватися на багато різних курсів, які стосуються або не стосуються програмування. Велика кількість тренінгів із communication skills, emotional intelligence, mindfulness & meditation, project management, перемовин, ефективних команд тощо.

Twitter менший за розміром, тому в них курси заточені під конкретні задачі, хоча їх теж немало. Так, у нас був 2,5-денний курс, який вчив, як взаємодіяти з іншими людьми, у команді, як долати недовіру, яка існує із самого початку, як будувати швидкий зв’язок з людиною...

Стосовно їжі в Twitter, то зараз вона непогана. Хоча раніше, коли готував шеф, якого переманили з якогось крутого ресторану, вона була надзвичайно хороша. В різних офісах по-різному. У Нью-Йорку, наприклад, їжа більше витончена, а у Сан-Франциско — більш різноманітна. Але якість висока. Є смузі, фрукти, свої кав’ярні тощо. Усе — безкоштовно. Тільки за добру каву треба платити, але все одно вона дуже дешева.

У Twitter у мене є гамак на робочому місці, але це вже моя особиста ініціатива. Ми граємо в Nerf Guns: у нас постійні баталії з гвинтівками, кулеметами, з яких можна стріляти гумовими чи пластиковими кулями. Так що у нас спекотно протягом дня. Ще можна зробити із якоїсь фотографії свого співробітника великий картонний cardboard у людський зріст чи навіть більше — як статую. Якщо вона весела, смішна, це теж поліпшує настрій у команді. Багато що залежить від того, яка команда, наскільки учасники отримують задоволення від інших речей, крім роботи.

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

Зробив cardboard свого друга в Twitter

Плани на майбутнє

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

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

Що далі? Розвиток може бути різним. Перше — можна розвиватись у фізичному плані, стежити за тілом, друге — в емоційному: як ми спілкуємося з людьми, взаємодіємо, третє — у роботі, чого ми досягаємо, кар’єрне зростання, що нове ми приносимо. А четверте — духовне зростання. Коли людині вже за 30, це стає важливим. Інакше який сенс в усьому цьому? Поясню: ну заробите ви гроші, матимете будинок, машину, дітей... На щастя чи наповненість життя ці речі можуть впливати все менше й менше. Жити, щоб заробити гроші? Жити, щоб виростити дітей? А далі що?

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

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

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

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось15
До обраногоВ обраному23
LinkedIn

Схожі статті




45 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Дуже цікава стаття, дякую

Было очень интересно, спасибо за статьи!

Читала і насолоджувлася, вразила глибина питань (до себе) і світогляду. А також з’явилося кілька нових думок і ідей. Дякую!

Респект! Видно пройдений тернистий шлях до цілей!

У Сполучених Штатах я пройшов близько 200 співбесід і провів їх у кілька разів більше.

Вот это да! Я понимаю, конечно, за 17 лет можно, но это все равно получается по собеседованию в месяц все 17 лет. Похоже, человеку просто нравится это дело.

Не факт що рівномірно по співбесіді в місяць.
До прикладу у мене бувало що я ходив по співбесідах двічі-тричі на тиждень без планів змінити роботу.

Это все так. Но если ходить на собеседование по 2-3 раза в неделю, то сосем уж непонятно что за время остается для работы.

В штатах весь процес співбесід може зайняти кілька тижнів. Я старався підлаштувати onsite interviews, так щоб вони йшли одна за одною. Получається тиждень співбесід, плюс-мінус. По 5 співбесід, одна компанія на день. На цей час або брав відпустку або «хворів». Стосовно роботи. Можна деколи працювати 2-3 години й робити потрібний мінімум. Ну, бажано не постійно так )

Так! Дуже подобалося! Оглядаючись назад, це було й корисно в багатьох планах: цікаві проекти, знайомства, гроші

Класна стаття. Де ви знаходили час на ці 20-30 співбесід та сотні задач на літкоді, ще й маючи двох дітей?

Дякую. Не знаю )) . Мені просто подобалося вирішувати задачі. А час сам знаходився

Скільки часу на день ви приділяли задачам? В будні та у вихідні? Може є якісь практичні рекомендації?

Залежить від ситуації. Після переїзду в США, коли я планував співбесідуватися в Amazon, Goggle, LinkedIn, я вдень витрачав десь 4-6 годин на підготовку. І в будні і на вихідних. Старався балансувати із обов‘язками на проекті й сімейним життям. Часто бронював на роботі conference rooms, щоб писати на дошці. Ще один момент був, що маючи тільки досвід роботи в українських компаніях, відомі американські компанії просто відкидали резюме й не запрошували на співбесіди. Треба бути готовим, що процес займе багато часу, зусиль. І спочатку буде багато невдач і розчарувань. Треба не втрачати мотивацію, віру в себе; і продовжувати пробувати.
Також важливо знаходити знайомих, або знайомих знайомих, що можуть зарефералити в ці компанії. Це значно збільшує шанси дійти до стадії співбесід

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

blind — безкоштовні рефери
rooftopslushie платні

Максим, про blind Гугл видав щось не по темі, можете пояснити? Руфтоп — тільки для ІТ як зрозуміла

www.teamblind.com Анонимный форум для разных профессий, в основном IT, но есть и нетехнические разделы.

Треба знати різницю між SQL базами даних і реляційними базами даних

А она точно есть?

Дякую, що знайшли! Я пропустив це під час вичитки. Написав редактору

формально и фактически реляционным базам не нужен sql )) а вот sql без реляционной базы похоже ни как

Легко, в Studio 3T есть траслятор SQL в язык запросов MongoDB. Правда, за три года так и не понял зачем он нужен.

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

сенсу читати далі не бачу

сенсу читати далі не бачу

Так в чем проблема, если речь идёт о ленивом функциональном языке? Stack overflow там бояться смысла особого нет.

А я думал что никто и не обгадит :)
Но ДОУ ещё торт и аудитория ещё та :)

Тільки для співбесід. Або tailrec в scala

Тільки для співбесід.

причём они продвигают такие решения как medium по литкод

из чего у меня сложилось странное впечатление что показать знание рекурсии как принципа уже +1 на вступлении в фхтаг

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

но я и не сказал что там просто )) более того я как раз прочитал очень внимательно

у них по три миллиона резюме в год.
Деколи торги можуть займати кілька місяців.
У Google розробники дуже зацікавлені в тому, щоб перейти на вищий рівень. В інших компаніях, звичайно, теж, але тут це основна тема для розмови за обідом чи в барі. В Google треба показати impact — що ти зробив. І для цього потрібно працювати більш автономно.
У Google promotion пакет (для переходу на вищий рівень) фахівець пише сам. Це займає 20–30 сторінок, деколи навіть більше. Треба показати дизайн-документи, ще якісь докази того, що ви зробили, описати, в чому цінність вашого внеску, чи відповідає якість роботи вимогам на наступному рівні.
У Twitter я маю писати певний підсумок, що я зробив, але далі це вже завдання менеджера описати, чому я відповідаю критеріям для переходу на наступний рівень.

Ну то что там внутри осиное гнездо порожденное системой оценки сотрудников, я знаю. habr.com/ru/post/350374 когда она в таком виде — а как я понимаю это первое что приходит на ум, и кажется правильным — т.е. зло по определению. В Microsft эту систему вообще признали злом которая их чуть не развалила habr.com/...​any/apps4all/blog/201942 В свое время я за нее тоже топил, но она к сожалению легко хакается политиканами. Запросто можно собрать «проходной» и «не проходной» комитет, исходя из политических целей. А оформление бумажек (которые на самом деле должны быть заполнены в самом начале, а не в самом конце — потому как это система Ли Якокки) заставляет людей вообще не идти на комитеты, и сидеть в мидлах выполняя например техлидские функции на проекте.

Цікава стаття. Справа не тільки в тому, що часто замість того, щоб робити дійсно важливі й цінні речі, зосереджуєшся на «видимості». Наприклад, люди писали 30 pages design docs на прості фічі. І ускладнювали їх без потреби. Сподіваючись, що вони проскочать через bullshit detectors людей з promo comittee.
Мене більше напрягало, що система робила важчим collaboration всередині команди. Ніби й одна команда, а кожен працює окремо із зрозумілих причин

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

Шановна администрация. Э пропозиция — додати крім кнопки підтримати, ще кнопку — негативного зворотньго з’вязку. Для користувачів — можна зробити рейтинг накшталд Stack Overflow. Щоб досягаючи певного рівня «репутації» можно булуло робити «triage». Це коли 3 чи більше користувачив, яки дістались первного мінімального рівня репутації, — надали негативний зворотній звязок щодо коментарю або скажімо статті — такий матеріал автоматично прибирается із сайту. + Додати конопу — видалити, щоб можна було самому виправити власну помилку, і перестати отримувати — сы. Тим хто робить triage — за це нараховуються додаткові бали репутації. Таким чином — можна нарешті припинити хейт і не адекват, який росте в геометрічній прогресії. Без належної модерації — сам ресурс стає «сироварнею», що як на мене негативно на нього впливає. А також поороджує ресурси «деревативи» — яки публікують виключно хейт. Це демотивує авторів писити гідний і корисний матеріал тощо.

прочитав як «давайте перетворимо ДОУ на Реддіт»

Так би ти замість того щоб писати образливу гидь, в стилі Лінуса Торвальдса (як я і сам робив — каюсь), просто натиснув би -. Між іньшим, у самого Лінуса там були випадки суєцида коли він критикував чийсь код наприклад.

негодование очередным/внеочередным еще одним восхвалением MANFAG компаний без особых на то причин «образливою гиддю» не считаю

а то, что Вы предлагаете в предидущем посте является механизмом цензуры

Але має зватись zraddit.ua

Ця частина класна і як на мене дуже корисна. Дуже дякую за статтю !

Дякую Віктор!

Тошнит от историй про солнечную радужную Калифорнию.

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