Три тижні, 120 задач і офер від Google — як потрапити в FAANG без плану

💡 Усі статті, обговорення, новини для початківців — в одному місці. Приєднуйтесь до Junior спільноти!

Привіт, спільното! Мене звати Оля Войчик, уже майже два роки я працюю Software Engineer в Google, в команді Borg Control Plane.

Більшість статей про FAANG починаються з чіткого плану: рік підготовки, сотні задач, кілька спроб, офер. Та в мене для вас інша історія. Коли зʼявилася можливість спробувати свої сили в Google, я тоді не планувала змінювати роботу, не готувалася роками і не цілилася потрапити в FAANG. Я прийшла в програмування зі бізнес-аналітики, згодом опанувала C++, а до першого Google-інтерв’ю мала всього два тижні на підготовку.

Хочу поділитися тим, як насправді все відбувалося — і залишу кілька порад для тих, хто теж хоче спробувати стати частиною Google.

З бізнес-аналітики в C++

Я вступила до КПІ у 2020 році на системний аналіз — напрямок, що поєднує математику з програмуванням. З третього курсу почала працювати в Польщі: спочатку стажувалася у відділі R&D, де команда займалася дослідженням операцій та машинним навчанням.

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

Ментор дав мені задачу — написати фреймворк для регресійних тестів. Так відбувся мій перший switch: з бізнес-аналітики в розробку. Коли виявилося, що основний напрям роботи команди — це програми для оптимізації та дослідження операцій саме на C++, я перейшла на цю мову.

Загалом мій комерційний досвід на момент працевлаштування в Google складав близько двох років, з них більша частина — системна розробка на C++.

Google не був фінальною точкою маршруту

Google не був фінальною точкою мого маршруту, а з’явився несподівано. Паралельно з роботою я брала участь у навчальних групах з C++ в українській спільноті з підготовки до FAANG, про яку мені розповів брат. Саме він допомагав мені розібратися у внутрішній кухні ІТ, як працює рекрутинг та як краще структурувати резюме. Але подавати заявки в жодні FAANG-компанії я на той момент не планувала.

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

Я довго вагалася: попередня робота мені подобалася — математика, машинне навчання, цікава бізнес-логіка. Перед прийняттям офера написала трьом-чотирьом українцям у LinkedIn, які вже працювали у Google, запитала, як там насправді. Усі відповіли одне й те саме: іди, нудно не буде.

Кожен мені писав: не переживай, йди в Google, наберешся досвіду. І вони всі казали правду — нудно тут не буває.

Фото з особистих архівів

Фото з особистих архівів

Етапи хайрингу зсередини

Загалом процес зайняв кілька місяців — з урахуванням очікування відповіді після інтерв’ю. Самих інтерв’ю було п’ять, плюс team matching наприкінці.

1. Розмова з рекрутером // неформальний скринінг.

Тут потрібно було відповісти на кілька технічних питань: яка складність такого-то алгоритму, у чому різниця між алгоритмами сортування. Інші кандидати, за її словами, таких питань не отримували — все залежить від рекрутера. Це зустріч-перевірка.

2. Перше coding інтервʼю // розвʼязання алгоритмічної задачі.

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

3. Три coding інтервʼю // різні задачі, різні інтерв’юери.

Одне з інтервʼю було не на класичний алгоритм, а на дизайн структури даних — «як би ти задизайнив таку структуру». Не system design, але близько до нього за форматом мислення.

Примітка: Зараз Google проводить три, а не чотири coding-раунди.

4. Behavioral інтервʼю (Googleyness) // ситуаційні питання про минулий досвід.

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

5. Team matching // коротка розмова-знайомство з менеджером потенційної команди.

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

Як організувати підготовку за обмежений час

2 тижні до першого інтервʼю, ~120 задач розв'язано під час підготовки, 5+ задач щодня в інтенсивний період

У мене не було заздалегідь вибудованої системи — через неочікуваність пропозиції моя підготовка була інтенсивною і короткою. Між першим coding-раундом і наступними я попросила додаткові три тижні на підготовку. Цей час став основним: близько 120 задач, щодня мінімум п’ять.

Пам’ятаю, я тоді поїхала у відпустку — ніч, Іспанія, я розв’язую задачку. Романтика.

За підходом я вибрала мікс задач на кшталт «Blind 75» — рандомно, по різних темах, з акцентом на medium та hard. Принципово не йшла тему за темою: реальне інтерв’ю теж рандомне, і краще знати трохи про все, ніж багато про одне.

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

01. Вивчай шаблони, а не задачі. Знаючи загальний підхід до класу задач, вирішиш будь-яку його варіацію.

02. Проходь задачі рандомно з різних тем, а не послідовно. Імітуй умови реального інтерв’ю.

03. Порівнюй своє рішення з іншими. LeetCode показує complexity за часом і пам’яттю — використовуй це.

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

05. За можливості організуй собі mock-інтервʼю. Це допомагає навчитися презентувати свої думки вголос та боротися зі стресом в моменті. А ще це шанс отримати фідбек на ті нюанси, які самотужки важко помітити.

Borg, scheduling та те, чим я займаюся щодня

Я працюю в команді, що підтримує Borg — внутрішню систему керування кластерами Google. Якщо ім’я не знайоме: саме від Borg походить Kubernetes. Будь-який workload, який запускається всередині Google-інфраструктури — все це на Borg.

Що таке Borg:

  • Менеджер кластерів: розподіляє та запускає workload по машинах дата-центру.
  • Попередник Kubernetes — архітектура K8s будувалася на основі досвіду Borg.
  • Публічні папери про систему є у відкритому доступі.

Я займаюся оптимізацією планування та розміщення обчислювальних джоб (scheduling): коли і на яких саме машинах у дата-центрах виділяти ресурси для максимальної ефективності системи. Робота не зводиться до одного напрямку: часто потрібно перемикатися між інженерними задачами, колаборацією з Research та Data Science над новими фічами, запевненням надійності систем разом із SRE та координацією з іншими SWE-командами. Часта зміна контексту — одна з причин, чому мені подобається Google.

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

Фото з особистих архівів

Фото з особистих архівів

Технічний фундамент — база & ґрунт

Ще під час з хайрингу в Google я паралельно проходила курс Performance Engineering від Івана Петрушенка в CS Osvita. Закінчила навчання вже під час онбордингу в Google. І ця програма виявилася корисною на несподіваних етапах хайрингу.

Найбільш потрібним для мене виявився розбір перформансу різних контейнерів у C++ і їхньої внутрішньої різниці. Один із найяскравіших кейсів, який я пам’ятаю й досі, — оптимізація роботи мап. Тож коли я прийшла в Google і зіткнулася з Abseil — розробленою в компанії open-source бібліотекою, яка слугує ефективнішою альтернативою стандартним структурам, — я відразу зрозуміла, чому тут віддають перевагу саме цим рішенням.

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

Алгоритми — це пріоритет номер один, щоб потрапити в Google. Але не варто забувати про те, що треба заглиблюватися в бізнес-логіку. Коли починаєш цікавитися — а чому нам це взагалі треба вирішувати? А чи можемо ми цього не вирішувати? Хто наші користувачі? Навіщо ми це робимо? — ти починаєш думати трохи далі, аніж просто дивитися на код.

Несподіванки після офера

  • Внутрішній онбординг. У Google діють спеціальні програми для входу в основні мови розробки: мої колеги приходили з зовсім іншим бекграундом і спокійно опановували ту ж C++ з нуля. Втім, навчання не обмежується лише мовою — враховуючи кількість внутрішніх бібліотек та систем, вчити нові речі доводиться кожному. Для цього існує окрема програма адаптації, де розробники опановують базу про внутрішні інструменти.
  • Внутрішній інтернет. Свої форуми та власний пошуковик, де на основі внутрішніх документів, обговорень та листів можна знайти відповідь майже на будь-яке питання — від технічних деталей коду до побутових офісних порад.
  • Різниця в часових зонах. Взаємодія з командами з США означає, що між вами до 9 годин різниці. Потрібно вчитися писати вичерпні повідомлення з першого разу і заздалегідь планувати мітинги.
  • Вечірні мітинги бувають, але не щодня. Команда намагається мінімізувати перетин з вечором. Жорсткого правила починати рано вранці теж немає.

Якщо ти розробник, який хоче в Google, тоді тобі потрібні:

01. База з алгоритмів та структур даних — без неї нікуди, це фундамент усіх coding-раундів.
02. Вміння читати складність алгоритму і порівнювати рішення, а не просто «щоб працювало».
03. Окрему підготовку до behavioral інтервʼю — це навичка, яку потрібно прокачувати додатково. Само собою навряд вийде.
04. Позитивний настрій і готовність до невизначеності в процесі.
05. Цікавість до бізнес-контексту задач, а не тільки до коду.
👍ПодобаєтьсяСподобалось35
До обраногоВ обраному11
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

Біглий перегляд в Варшаві у Google орієнтовно 2000 людей, що переважно працюють над GCP. Це приблизно такий самиий розмір компанії як : Intellias, Сiclum, NIX або DataArt. Так що елітарний статус гвидше у смузіхлеба-сроїда із ЗП в 5 разів вище за середню.
В цілому в Google працює 194 000 людей і культура «rest and vest» (в три рази більше разом із контракторами які поацюють через аутсорс, зокрама і галер, що мають українскій офіс) . В усій Україні орієнтовно 245 000 ІТ-шників, це 70% від усього українского ІТ разом взятого.
Еліта самого Google в чотирьох офісах : Бей-еріа (Маунтінн-В’ю, Санфранциско, Саннівел), Сіетл, Нью Йорк та Лондон. В інших місях — це просто престижний работодавець.
Так що ситуація коли з ранку заходиш в офіс і мозгуєте з Брінном та Пейджем, як вам перекинути по дешевше пару терабайт інндексів в Нью Йорк, не заплативши за це цілий статок, після чого пишете один з перших менеджерів докачки який працює по ночах коли дешевий трафік у провайдера, давно-давно в минулому. Зараз це величезна корпорація аля IBM чи AT&T в 80-ті у якої 35-40 людей в день плинність кадрів. В середньому в компанії працівник працює 2 роки.

Не бачу радості 😁 для багатьох, та і у мене зокрема, ще зі школи було мрією попасти у компанію мрії FAANG і завжди топ 1 на ті часи була компанія Google 🤩.
Радий за вас, сподіваюсь задачі та проєкти будуть цікаві 🙌

Чисто з маркетингової точки зору, як мотивувати чому саме Google а не для прикладу Activision Blizard, Valve чи може якась Tesla або Spotify ?
«Корпорація добра» і т.п. ?
Просто як вкоючити другу систему мислення, то напевно то назва бренду — це зовсім не умови і не конкретна позиція. Звісно прибиральниця в цеху теж певним чином дотична до створення літаків фірми Boing з відомої байки, та усе таки це посада прибиральниці.

чому саме Google а не для прикладу Activision

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

Три чувака які сиділи зі мною в одній кімнаті, один мій колишній тім лід там працють, при чому колишній тімлід вжк понад 15 років. Одна AQA з якою я працював, при чому на той момент дівчина світчер з курсів — що підробляла в тур агенстві коли була студентка — AQA в Apple (поїхала в релокейт в Долину за чоловіком) і т.д. Там працють такі самі люди як всюди.
Коротка співпраця із одним BigTech як вендора мені показала, що там навіть буває і класичний бардак так само як усюди, коли менеджериня не в курсі про закон Брукса бо проект горить і на співбесіді наймають Java-іста на C#/.NET проект девопсом, хоча в профілі вакансії пишуть Java/Scala копіпастом. І більше за те, це не з’ясовується на співбесіді.
Що більш цікаво, знайома менеджериня з того BigTech — пише в лічку, «А що там сталось ?», хоча вона до того ніяким боком і ми не спілкувались багато років.
Коротше, це корпорації в яких працює величезна купа народу. Мільярдером і системним архітектором просто туди найнявшись не стати, тільки внутрішній стартап як це зве Гай Кавасакі.

Хоча й коротка, але досить корисна стаття, дякую.

Якесь обезцінювання компанії Гугл і рекрутинг процесу. Кожен так може, раз плюнути...

​У статті немає тези про підготовку з нуля чи «кожен може». Це просто моя історія та опис конкретного досвіду, який може додати комусь контексту (я часто за цим приходжу).

​Процеси в усіх різні — стараюся на цьому наголошувати і лише ділюся тим, як це виглядало в моєму випадку :)

У корпорації добра точно є що покращувати. Наприклад ux того ж ютюба чи музики. З такими бюджетами і доходом від реклами- це херня

Такі великі компанії думають що краще знають що треба юзеру, а юзер нічого не шарить.

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

клас, вітаю

Три тижні, 120 задач і офер від Google

ага, і всі ввічливо зробили вигляд, що повірили

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

Гарна стаття, більше б таких. І мої вітання.

P.S. якщо будете в Варшаві, кличте на каву)

Дуже приємно читати такі статті.
Крутий результат.

Дякую, що поділилися ❤️

Яскравий приклад того, як наших дівчат з технічною освітою (і талантом) активно наймають іноземні компанії. В той час, наші контори продовжують свою політику 20літньої давності «наймати лише білих чуваків в кодери» (дівчат інколи також, але якщо вони можуть замінити цілі відділи розробки та тестування). Нічого війна так і не навила нв нащих роботадавців та не наблизила наше ІТ до світових стандартів (не тільки в плані diversity, але і взагалі адеватного відношення до дозвитку і підтримка кадрів).

А чого вона мала їх навчити.? Ця війна прямий наслідок буржуазної революції яка відбулась в 1991. І так народ в Києві пішов на реіерендум, а в Москві був і майдан і бойві дії проти ГКЧП. Далі був розстріл парламенту з танків в 1993. Просто структуру під назвою СРСР переіменували в СНД, та перейшли на ринкову економіку за зразок брали США та покликали іноземних радників. Зокрема Девіда Рокфеллера (навіть надава свій літак Жльцину під час виборчої компанії 1996, де вже алкаш Єльцин сцяв на шассі з будуна) та Джоржда Сороса (навіть академік Національної Академії наук України, хоча в Британії не бажана персона). Перехід на доллар США в якості засобу тепер вже міжнародної торгівлі, між колишніми республіками СРСР, призвів до прихватизації, залогових аукціонів повного екрномічного краху, деіндустріалізації і усього що за цим пішло. Тому поточна війна це не випадковість, це закономірність. BTW на теріторії колишнього СРСР це вже дев’ята. Однак так леко як із Грузією в 2008 не відбулось.
А так правила ринку — зараз на користь жінок, їм можна їхати за кордон і якщо це не медицина, не беруть в армію доки що. Работа в ІТ — це експорт послуг за кордон, тобто саме те, що приносить ті самі бажані доллари або євро фунти і т.п. Емансіпація, 8 березня і т.д. Роза Люксембург та Клара Цеткін і т.д. і т.п. це те, що залишилось в вже далекому минулому до 1992.

>> жінки можуть їхати куди-завгодно.
Мабуть не всі жінки можуть виїхати через фінансові можливості/труднощі, або через догляд за своїми батьками. Але наші роботадавці зробили ’майже все’, щоб молоді дівчата виїхали (а також жінки 40+ з досвідом, бо ІТ — для молодих хлопців ;) )

Дивлячись в яких відділках. В HR статистично переважно для мододих дівчат, тоді як в программістах та девопсах дійсно переважно хлопці та мужики (бо жінки ту справу не дуже полюбляють, я ще вчився в нас дівчата переводились на інші спеціальності після 4 курсу). І перше прямий наслідок другого, це вже дроослі мужики і жінки дивляться хто наймаючий менеджер і які умови, а не яка гарна рекрутер тим більше, що усеодно не обломиться.
В QA жінок і дівчат багато. В PM-ах 50/50.

справді крутий результат. респект :)

Три тижні, 120 задач і офер від Google

але тут у формулі бракує ключових компонентів: математичний мозок + роки навчань із зацікавленістю в плюс мінус норм середовищі :)

щас весь литкод решают боты за копеечную подписку. И пипл пачками выставляют на улицу, то что дешевле писать аи-слопы, чем держать кучу дорогущих инженеров. Если надо будет, то LLM перепишет и ваш borg.
Как там в гугле с ремоутом, все еще надо тащиться в офис или с вещами на выход?

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

Жук як завжди почав за здравіе а кончів за упокой. Почав за різні інтелекти і закінчив про зміну стеку що є не просто той самий умовний інетлект а навіть одна і та сама професія.
Щодо інтелектів, чи дасть літкод чи 10 років місіння ангуляру бути гарним музикантом чи спортсменом? )))

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

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

Років 5 тому, ще бабла можна було срубать. Зараз лавочка закрилась, по 700 людей нп мвсце подекуди. Тепер усім подавай дата аналістів, дата сайнс із AI. Хайп цикли.

ну якщо жопа на ангулярі 10 років насиджена, то підуть перевчатися на дата аналіста, яка різниця, що робити, аби платили

Умова задачі дано : 10 000 продавців консультантів. Через рулі-рулі, якось надулі отримайте 10 000 пілотів новітніх літаків на яких постав ринковий попит, бо фундаментальна наука і освіта в Канаді та світі в це інвестувала більше 100 років, та воно було витребувано ринком як і досліди з китайської поезії. Додаткова умова ємкісьть ринку пілотів — 100 пілотів, зате зарплата на ринку США $900 000 доларів на рік.
За нестачу маржи і зниження ціни акцій — смертна кара. Варіант : «От скоро ринок авіаперевозки здується і знову заживем з продажами» не розглядати.

Насправді літкод, це умовно електронний збірник задач із предмету, що звався в університеті «Дискретна математика». Там подекуди є описання алгоритму теоретичної бази, але навіть не глибокої торії, що це таке взагалі, big O нотації і т.д. Це не Дональд Кнут і навіть не Hacker Delight.
За великим рахунком, це усе рівень другого курсу, якщо брати студента хорошиста. Реальна ІТ робота, відрізняється. Просто індустрія не має нормального підходу відрізняти хакера від ламера на співбесіді, тому херачуть алгоретмичний базис і олімпіадні задачі. 3 міліони резюме на рік, тобто напевно 80% народу просто не проходе елементарний тест на просту базу.
А по разважатись — супер, мені задача не переклад арабських цифр на римскі і назад сподобалась.

Три тижні бзвп, 10000 відтискань від підлоги і я штурмовик в Скелі 💪💪 - як я став рексом війни без плану

Вчіть, люди, С. Без хліба не залишитесь :) Авторці успіхів, супер старт!

Надіслав конект в LinkedIn, коли буду подаватись в Amazon, зареференсіть будь ласка :-)

Вони в Люксембург пропонують при чому методами жорстких продажів : «Унікальна остання пропозиція, встигніть на позавчора, більше такого унікального шансу ніколи не буде».
Так що вартує сильно подумати. Якщо звісно є французька, і влаштовує їх вже легендарна робоча культура, чому ні ? Просто проходьте задачі на літкоді і вони самі набьються в усі привати.
Після 15 років в e-commerce інших рівнів, я особисто від такого би тримався по далі. Хоча AWS усе ще краще і дешевше GCP.

Хто пропонує?

Рекрутер чи оффер?

Їх рекрутери, навідміну від Google та META одразу кажуть в яку команду та на яку позицію кличуть. Goggle навіть не каже в якій країні офіс. Фіксити баги і писати тести, а не скажімо писати Chrome — як на мене, що в Google, що де небуть (а колеги в трьох поїхали, це був Цюріх, один потім перевівся в Долину зараз там але давно вже в стартапі. Двоє досі ніби там є, вже понад 15 років один)
META в моєму випадку кликали в Лондон, туди пішов менеджер з яким я працював на аутсорсі (типу на власній мові клоні PHP щось робити, той менеджер через місіці 3 повернувся назад як я знаю).
В Лондон без чітких 200+ на рік в бейсі при ціні квартири від 2.5 мільйонів фунтів, та чіткої візи — сорян я пас.
Тут якби момент, з одної точки зору це круто з точки зору розкрученого бренду работодавця. З іншого — це робота в наймі а не мрії, без іллюзій треба відноситись.

Мабуть все ж не варто плутати запрошення скинути CV і сам оффер.
Те, що CV потрапить до рекрутера взагалі не означає, що буде хоча б phone screen

++
С — таки одна з найважливіших мов програмування сьогодні

Насправді на третьому місці. Безаперечним і абсолютним лідером із кількості написаного коду, є JavaScript. Звітсно це не той код який живе десятки років (тобто ефнкт схожий на LAMP навіть в нллодні роки є роблта на ринку, хоч і дешева). Потім це код на Java (тут Індія тому усе вже дуже погано)
А код на С та C++ на третьому місці, і при чому він часто не міняється по 5 чи більше років. Тобто з комерціної точки зору, це мова для : Big Tech із High performance, Embedded, та Gamedev.
Вилетіти за скороченням з BigTech як ми вже знаємо — елементарно, в один день, а найнятись і тим більше на хороших ринкових умовах доволі складно.

С — мова, яка дуже добре структурує мислення і розуміння. Знаючи С легко перейти на rust, c++, java, etc.
Знаючи js легко перейти на нову версію того ж фреймворку.
І ніт. Залежить від локації й контракту. В США — так. В ЄС — сумнівно.

Я це чув в універі коли мені казали, що якщо програмуєш на Borland C++ 3.11 то за два тижні запросто прейдеш на Windows та Visual C++ і тому подібну ахінею (чесно сказали що просто фінансування на новітні комп’ютери не було для студентів молодших курсів).
Різниця в методах підходах і способах створення ПО колосальна. Навіть просто вивести в консоль із коліром — два рішуче різних підходи, не може бути прямого доступу до відеопам’яті як вінді так і пристойній ОС. Між Delphi і Web розробкою клієнт-сервер теж практична прірва і так далі по кар’єрі. Клауди і моноліти і т.д. SPA та REST NoSQL контейнери та Kubernetes. Усе це величезний багаж знань якій відрізняє сучасні практичні підходи ІТ розробці від історичних.
З оцим усім «правильним логічним» мисленням і без реальних практичних навичків і підходів запотребуваних на ринку праці, величезна комерційні різниця.
Так сучасний С і новітні стандарти мови які її підтягують до більш сучасних мов як то Rust чи Go lang. Так само С++ 26 і С++ 98 і до нього, це різні мови програмування. Та в них є конкретні практичні галузі і підходи до застосування в сучасному ІТ.

С — одна з найпростіших мов, що там її вчити? Там, де робота на С, платять не за знання С, а за досвід в сфері (скажімо, драйвери для Linux або розширення ядра, і так далі)

Запросто, Пентагон пішов війною на С. Типу в якості альтернативи Rust пропонують для найтіву і то як проміжне рішення. Їм Oracle і Java подобаються. Як і датацентри для ШІ, та федеральної департаменту медицини які теж буде поставляти Oracle дядьку Сему.
Go lang щоправда в переліку дозволених мов бо Google головний постачальник софту і самого AI. Тоді як саме С в жорсткому бані. Воно би було як із Ada, але в них трільойн долларів бюджету на рік, що робить Пентагон і оброн пром найбільшим ІТ ринком світу сучасності.
Коли створювався С в надрах AT&T, то вони були монстром, що був альтернативою Пентагону, замість них і Bell Labs зараз саме Google.

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

Так а чому? Abseil виглядає дивнувато у порівнянні з іншими бібліотеками. Багато хто не любить його стиль. Чому «тут віддають перевагу саме цим рішенням»?

Саме в цьому параграфі мала на думці ось цю структуру: github.com/...​container/flat_hash_map.h

Власне на курсі був кейс, котрий привів до ідеї цієї структури.

Дуже рада бачити на DOU такий цінний матеріал. Knowledge sharing вийшов надзвичайно вичерпний та практичний. Шлях Олі до офферу — це не просто особиста перемога, це мотивація для сотень людей, які зараз готуються до своїх співбесід. Дякую!

дуже круто — радий за вас — дякую що поділилися і удачі)!

Щось всюди хвалять цю CS Osvita, хтось тут проходив якісь серйозні курси на цій платформі? Наскільки вони якісні й чим краще за курси на Coursera від Stanford University і тому подібних?

Проходив курс у Івана Петрушенко (засновника CS Osvita), ще коли він викладав у Projector.

Курсом по алгоритмам прям задоволений, все чітко і по поличках, зрозуміло і доступно.

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

На Coursera та подібних платформах багато хороших курсів. Мабуть одна з найбільших відмінностей — живий формат (зідзвони та чат). Мені трохи таке більше заходить: спілкування + дедлайн + менша ймовірність, що почну хаотично розбирати курс

Про добре це добре. Які негативні сторони в роботі, організації? Було б цікаво. Дякую
Які є perks і особливості?

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

​З мінусів: робота в різних часових зонах (іноді створює довгий feedback loop) та складний процес промоушну. Мало просто добре перформити: треба вміти якісно презентувати свій вплив на фоні інших сильних інженерів. Також у нас багато кастомних технологій: ти не отримуєш досвіду з популярним ринковим стеком. Це не скасовує технічний розвиток, ну але залежить від твоїх цілей.

​З perks: круті офіси з безкоштовним харчуванням, бюджет на навчання та можливість внутрішнього трансферу між командами чи продуктами. Плюс багато івентів, які гуглери організовують самі суто для фану.

Цікаво дізнатись про стеки технологій? Бо на зовні враження, що якраз Google і задає тренди. Kubernetes, Node на V8, Go lang, Angular та Vue, GCP, із Claud Spaner Big Table тощо, Android і т.д. і т.п.
В переважній кількості сучасних ІТ проектів які не закончене легасі, так чи інакше є технологія або прямий її клон типу DynamoDB чи Hadoobe/HBase або AWS EKS, саме від Google.
Не в перше читаю/чую від гуглерів, що в середні в команд власні зоопарки із велосипедами.

Не те що команда будує кастомні штуки, а скоріш на рівні компанії (хоча є виключення — наприклад, опен-сорс проекти). Мені здається є пару причин.

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

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

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

Вчити алгоритми, щоб писати crud’и та правити кнопочки)))

Авторка пише:

Я займаюся оптимізацією планування та розміщення обчислювальних джоб (scheduling): коли і на яких саме машинах у дата-центрах виділяти ресурси для максимальної ефективності системи

Робота для прикладного математика та программіста, теорія графів і т.д. Ніби ж NP повна задача, типу Bin Packing.

Ну має сенс насправді. Так 80% роботи в проектуванні і розробці IT cистем, це муторна рутина.
Шаблони проектування, готові компоненти, тести, dev ops, SQL чи NoSQL, сценарії тестування. Ще 15% — це уточнення вимог з метою подальшої формалізації. Та залишається така штука як відлака включно із оптимізаціями, сама складна і дорога частина. Тут С++ за 21 день, це звісно мем.

А взагалі, сучасний аналог мабуть має звучати «...щоб писати промпти» :)

Так ще треба мати відповідну кваліфікацію валідувати вихлоп. Я між іншим на минулому проекті генерував юзер сторі та acceptance criteria по промптам, потім ходив і прибирав зайве і додавав те, що вважав за потрібне, тобто навпаки замінючав типову рутину ленійного бізнес аналіста за допомогою ШІ.
BTW Сам Gemini каже, що в компаніях типу Big Tech посад BA в розумінні аутсорсінгу не існує. BA це спеціалвсти із математичної статистики які обробляють данні в бізнес юнітах. Їх задача оптимізація бізнесу, як то з’ясувати які дії призвели до підвищення прожажу реклами в Євпропі в минулому кварталі. Тобто це Data Since ми називаємо. Тоді як рівень ленійного BA, це SWE тайтл. Ще є посади Product manager, та технічних лідів які цим займаються. В BigTech принципово інша управлінська культура.

Мабуть і так відомо, що на реальних проектах умовні задачки з літкоду майже й не трапляються. Щоправда, насправді мала принамні декілька випадків, коли на проекті виникла leetcode-like задача) звісно, не в такому форматі як на інтерв’ю дають

Знання структур даних та базове розуміння складностей алгоритмів — реально допомагають, принаймні на тих проектах на працювала/працюю.

Тут в мене теж розрив шаблонів :) я проходив першу частину курсу по алгоримам на Coursera (Divide and Conquer, Sorting and Searching, and Randomized Algorithms), й в мене на якісне розуміння матеріалу, включно з вивченням по суті з нуля основ теорії імовірностей, пішло кілька місяців (бо ще є робота). Я розумію, як за 3 тижні можна навчитися розвʼязувати задачки на літкод та вивчити основні характеристики відомих алгоритмів й структур даних. Але розуміння математичного обґрунтування всіх цих алгоритмів, деталі їх реалізації — нереально. Може, звісно, в мене завищені очікування від вимог гугла :)

ну так не з нуля ж — якщо є попередній бекграунд і взагалі хороша математична база — то вже набагато веселіше) — але все-рівно потрібно заклади від пари місяців інтенсивного «копання»

там же іпса в анамнезі, причому дуже свіжа

Ну сображають. Gemini та ШІ є, якщо переходити на інший рівень абстракцій де ключовим стає семе бізнес аналіз, а не вміння обрати проміж сортуванням Тімсорт чи красно чорним деревом або скіп-лістом. От Google робить найм якраз з розумних інтересів бізнесу.
Інша справа що сам Gemini визнає, що витрачає суттєво менше токенів на мови програмування як : Python, PHP або TypeScript, ніж С/С++, Rust, Fortran і т.д. і галюцінації відрізняються в рази. Оптимізація як і раніше задача інженерів.

ключове слово «сі»

Це нормально.
Я теж колись, коли вперше зіткнувся із запрошенням з фаангу поспівбесідуватись, більше як пів року в’їжджав у тему алгоритмів і загалом літкод-стайл задач.
Те, що я прийняв як факт, — що у кожної людини різний рівень її мозкового «hardware», або ж інтелекту, або ж IQ.

Те, на що мені (з моїм далеко не видатним IQ 119–125, залежить, яким тестом міряти), може знадобитися півроку, абстрактна дівчина із IQ 135+ опанує за три тижні.
Ну а абстрактний чувак із IQ 72 — алгоритми і структури даних на фаанг-рівні в принципі опанувати не зможе ні за який час.

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

Загалом, це цікава тема, IQ та все, похідне від нього, дуже табуйовані на «заході», бо може виявитися, що середній рівень IQ євреїв-ашкеназі близько 115, а середній рівень IQ жителів Сомалі, Нігеру, Судану та інших країн регіону буде коливатися в діапазоні 67–72.
Загальносвітовий рівень коливається близько 100, якщо брати криву нормального розподілу.
Але найцікавіше починається, коли виявляється, що більш як на 80% IQ є спадковим і майже не змінюється протягом життя, незалежно від того, в якому середовищі росте людина.
Кому цікаво — роботи Артура Дженсена.

Загальносвітовий рівень коливається близько 100, якщо брати криву нормального розподілу.

Це як сказати: «100°C температура кипіння води (за певного тиску)»

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

Про нормальний розподіл розказують на 1 курсі. 100 iq як середній показник — це нормована шкала, це як 2+2=4, інакше й бути не може, це закладають в саму методику нормування (і тести постійно правлять, щоб середнє не зсовувалося)

IQ вище 100 лише у 2% людей. 120 це вважається геній. Переважна кількість народу в приділах 95-100. Сам по собі коефіцієнт інтелекту просто тестами ви не поміряєте, особливоо якщо ви на них тренуєтесь, то буде фект олімпіадника, це не інтелект це натренованість. Навіть громсейстри в шахи, часто не є геніями і не підійдуть скажімо для роботи в космосі.
Ключова ознака інтелекту — це здатність діяти в неясних ситуаціях в різних обставинах. Тобто попереднього досвіду нема, і треба діяти.
Без команди профессіоналів це не поміряти. У КДБ і радянської космічної программи дуже виміряні тести і співбесіди були з цього. При чому там завдання з розряду елементарних на перший погляд.
А так, на співбесіді можуть спитати спроектуавати веб браузер і ти малюєш їм FireFox прямо по пам’яті, а по середені прервати і швидко спитати назву столиці Австралії — або Канади.

Буквально кожне речення в твоєму коментарі помилкове або не точне.

Бекграуд бекграундом, але не всі можуть дозволити собі розв’язувати по 5+ задач на день. Тут вже не те що IQ, тут треба мати дещо краще — дисципліну та чітку ціль. Тому респект авторці, супер крута.

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

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

Іншим просто легше сказати, що це «високий інтелект», щоб це не так сильно било по їхньому власному его. Бо інакше доведеться визнати, що виявляється, досягти цього може майже кожен, просто треба щось для цього робити))

Не претендую на істинність, просто висловлюю свої суб’єктивні думки, які склалися на основі прочитання і переглядання багатьох тематичних ресурсів.

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

Так, в одному із досліджень я бачив посилання на те, що люди з більшим IQ рідше потрапляють в ДТП, але не через те, що вони мають кращу реакцію, а через свідоме уникання небезпечних ситуацій (п’яна їзда, обгін в недозволених місцях, road rage і т.д.)
Є навіть кореляція із тривалістю життя, люди з вищим IQ статистично живуть довше. Знову ж таки через уникання невиправданої небезпеки, розуміння, що треба йти до лікаря як хворий, а не «само пройде» і т. д.

Тому припускаю, що вміння правильно поставити ціль, розпланувати день, зрозуміти, коли час на задачки, а коли на сім’ю, і те, що задачки таки треба робити, а не валятися п’яним на канапі — це все будуть прямі та опосередковані ознаки високого IQ, завдяки чому люди досягають успіху.

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