Как leetcode изменил coding собеседования в FAANG?
FAANG/BigTech компании используют алгоритмические задачи на coding-собеседованиях уже более 20-30 лет. Этот тренд был задан Microsoft в 90х годах. Потом его подхватили новые интернет-компании вроде Google, Amazon, Facebook и т.д. Вначале, единственный способ пройти такого рода собеседование - быть топовым олимпиадником, заботать книги вроде: "Искусство программирования" Д. Кнут, "Алгоритмы: построение и анализ" Т. Кормен, "The Algorithm Design Manual" Скиена.
В 2008 году появилась книга - "Cracking the coding interview", которая сделала подготовку проще и более доступной для бОльшего числа людей. Но все равно, вы скорее тренировались решать типовые задачи. Общее число задач, которые предлагались на собеседованиях, было сильно больше. Книга помогала освоить принципы решения, но не конкретные задачи.
В 2015 году появился Leetcode, который изначально состоял из задач из книги Cracking the coding interview. Далее туда стали добавлять сливы задач с реальных собеседований. И к 2018-2020 база задач уже не сильно отличается от баз задач внутри FAANG/BigTech компаний.
Во время собеседования интервьюер может спрашивать задачи только из официальной внутренней базы. Число задач в ней ограничено и задачи меняются в ней очень медленно.
По мере роста компаний, выросло и число собеседований, а как следствие и число сливов задач на leetcode. Поэтому на leetcode есть существенная часть задач, которые спрашивают на реальном собеседовании.
Это привело к кому, что такого рода задачами уже практически никого не удивить. А большинство кандидатов, которые успешно проходят собеседование - просто знают все задачи наизусть. Достаточно знать наизусть 50 первых по частоте задач для конкретной компании, чтобы с большой вероятностью получить эти задачи на собесе и просто воспроизводить их из памяти.
Проведя более 100 кодинг собеседований, я уверен, что почти все, кто его прошел успешно, просто, воспроизводил решение из памяти.
FAANG/BigTech компании используют алгоритмические задачи на coding-собеседованиях уже более 20-30 лет. Этот тренд был задан Microsoft в 90х годах. Потом его подхватили новые интернет-компании вроде Google, Amazon, Facebook и т.д. Вначале, единственный способ пройти такого рода собеседование - быть топовым олимпиадником, заботать книги вроде: "Искусство программирования" Д. Кнут, "Алгоритмы: построение и анализ" Т. Кормен, "The Algorithm Design Manual" Скиена.
В 2008 году появилась книга - "Cracking the coding interview", которая сделала подготовку проще и более доступной для бОльшего числа людей. Но все равно, вы скорее тренировались решать типовые задачи. Общее число задач, которые предлагались на собеседованиях, было сильно больше. Книга помогала освоить принципы решения, но не конкретные задачи.
В 2015 году появился Leetcode, который изначально состоял из задач из книги Cracking the coding interview. Далее туда стали добавлять сливы задач с реальных собеседований. И к 2018-2020 база задач уже не сильно отличается от баз задач внутри FAANG/BigTech компаний.
Во время собеседования интервьюер может спрашивать задачи только из официальной внутренней базы. Число задач в ней ограничено и задачи меняются в ней очень медленно.
По мере роста компаний, выросло и число собеседований, а как следствие и число сливов задач на leetcode. Поэтому на leetcode есть существенная часть задач, которые спрашивают на реальном собеседовании.
Это привело к кому, что такого рода задачами уже практически никого не удивить. А большинство кандидатов, которые успешно проходят собеседование - просто знают все задачи наизусть. Достаточно знать наизусть 50 первых по частоте задач для конкретной компании, чтобы с большой вероятностью получить эти задачи на собесе и просто воспроизводить их из памяти.
Проведя более 100 кодинг собеседований, я уверен, что почти все, кто его прошел успешно, просто, воспроизводил решение из памяти.
👍31❤1
Как решать алгоритмические задачи так, чтобы не забывать решение
1) Сначала попробуйте решить самостоятельно. Не используйте подсказки, не смотри решение, разбор. Подумайте 0.5-2 часа. После этого посмотрите решение/разбор, даже если решили самострятельно и оптимально. Самостоятельное обдумывание прокачает ваши problem solving скилы, а также позволит вам глубже погрузиться в задачу, ее нюансы, сложности именно для вас, подсветит ваши пробелы. Когда будете смотреть разбор, вы поймете, чего не хватило именно вам для оптимального решения. Это сделает процесс обучения более персонализированным, а также из-за эмоционального отклика позволит запомнить решение и его сложности именно для вас.
2) Воспроизведите решение. Попробуйте, после самостоятельного решения и разбора решения - воспроизвести его так, как будто вы его обьясняете с нуля кому-то. Можете рассказать сами себе, можете жене, мужу, другу, коллеге. Лично я рассказывал решение сам себе и писал код на листе A4. Это поможет отложить решение в долгосрочную память, а также еще раз может подсветить пробелы в ваших знаниях. Вы можете считать, что разобрались в задаче, а когда начнете ее обьяснять, могут возникнуть дополнительные неясности и пробелы в понимании. Также можете делать это сразу на английском, потренируете одновременно и разговорный английский.
3) Периодически повторяйте решения важных задач. Это может быть и просто проговаривание вслух идеи решения, но также желательно быстро по памяти написать код. Важно также то, что вначале решения забываются быстрее. Поэтому повторите задачу в тот же день, потом через неделю, потом через месяц, потом через полгода, потом через пару лет. Например, это может быть так - решаете в течении недели задачи - повторяете их в тот же день методом воспроизведения. В конце недели повторяете задачи, решенные в течении недели. В конце месяца - решенные в течении месяца. Само повторение из памяти, обычно, быстрое - 5-15 минут на задачу. За выходные можно задач 50 повторить. Через полгода можно повторить 100 самых важных задач. Повторение займет ~неделю. С течением времени, задачи будут в вашей долгосрочной памяти и часто повторять их не обязательно. Например, можно через 2 года, а потом перед следующим собеседованием.
1) Сначала попробуйте решить самостоятельно. Не используйте подсказки, не смотри решение, разбор. Подумайте 0.5-2 часа. После этого посмотрите решение/разбор, даже если решили самострятельно и оптимально. Самостоятельное обдумывание прокачает ваши problem solving скилы, а также позволит вам глубже погрузиться в задачу, ее нюансы, сложности именно для вас, подсветит ваши пробелы. Когда будете смотреть разбор, вы поймете, чего не хватило именно вам для оптимального решения. Это сделает процесс обучения более персонализированным, а также из-за эмоционального отклика позволит запомнить решение и его сложности именно для вас.
2) Воспроизведите решение. Попробуйте, после самостоятельного решения и разбора решения - воспроизвести его так, как будто вы его обьясняете с нуля кому-то. Можете рассказать сами себе, можете жене, мужу, другу, коллеге. Лично я рассказывал решение сам себе и писал код на листе A4. Это поможет отложить решение в долгосрочную память, а также еще раз может подсветить пробелы в ваших знаниях. Вы можете считать, что разобрались в задаче, а когда начнете ее обьяснять, могут возникнуть дополнительные неясности и пробелы в понимании. Также можете делать это сразу на английском, потренируете одновременно и разговорный английский.
3) Периодически повторяйте решения важных задач. Это может быть и просто проговаривание вслух идеи решения, но также желательно быстро по памяти написать код. Важно также то, что вначале решения забываются быстрее. Поэтому повторите задачу в тот же день, потом через неделю, потом через месяц, потом через полгода, потом через пару лет. Например, это может быть так - решаете в течении недели задачи - повторяете их в тот же день методом воспроизведения. В конце недели повторяете задачи, решенные в течении недели. В конце месяца - решенные в течении месяца. Само повторение из памяти, обычно, быстрое - 5-15 минут на задачу. За выходные можно задач 50 повторить. Через полгода можно повторить 100 самых важных задач. Повторение займет ~неделю. С течением времени, задачи будут в вашей долгосрочной памяти и часто повторять их не обязательно. Например, можно через 2 года, а потом перед следующим собеседованием.
👍34❤12🔥9
Накрутка опыта и закрытие пробела в опыте
Собеседовал кандидата в офис в Индии.
Открыл резюме, последние несколько лет у него позиция - Senior, но компании не указано и написано self employment. В качестве проектов и достижений - пет-проекты и ссылки на github и youtube видео с демо.
При этом до этого у него не было опыта Senior. Т.е. он не работал, но на первый взгляд у него нет пробела в опыте и позиция синьера.
Не знал, что такое бывает...
Собеседовал кандидата в офис в Индии.
Открыл резюме, последние несколько лет у него позиция - Senior, но компании не указано и написано self employment. В качестве проектов и достижений - пет-проекты и ссылки на github и youtube видео с демо.
При этом до этого у него не было опыта Senior. Т.е. он не работал, но на первый взгляд у него нет пробела в опыте и позиция синьера.
Не знал, что такое бывает...
😁27✍4👍1
Bret Taylor
Обычно, на слуху люди вроде Цукерберга, Маска, Безоса, Гейтса. Многие из них основали свои компании будучи еще студентами или как одна из своих первых работ.
Решил привести пример человека с успешной карьерой, который не на слуху и не создал сверхуспешный бизнес в 20 лет.
Bret Taylor, родился в 1980 году. Закончил Стэнфорд в 2003.
В том же году устроился в Google, где работал в команде Google Maps.
В 2007 вместе с бывшими коллегами из Google основал стартап FriendFeed.
В 2009 этот стартап купил Facebook. Facebook оттуда взял кнопку Like.
В 2010 Bret стал CTO Facebook.
В 2012 Bret ушел из Facebook и основал компанию Quip.
В 2016 его компанию купил Salesforce, где в 2017 он занял позицию CPO, а в 2019 позицию COO. В рамках работы в Salesforce он занимался покупкой компании Slack.
На данный момент он также chairman в Open AI и Shopify.
В 2023 основал AI компанию Sierra.
Обычно, на слуху люди вроде Цукерберга, Маска, Безоса, Гейтса. Многие из них основали свои компании будучи еще студентами или как одна из своих первых работ.
Решил привести пример человека с успешной карьерой, который не на слуху и не создал сверхуспешный бизнес в 20 лет.
Bret Taylor, родился в 1980 году. Закончил Стэнфорд в 2003.
В том же году устроился в Google, где работал в команде Google Maps.
В 2007 вместе с бывшими коллегами из Google основал стартап FriendFeed.
В 2009 этот стартап купил Facebook. Facebook оттуда взял кнопку Like.
В 2010 Bret стал CTO Facebook.
В 2012 Bret ушел из Facebook и основал компанию Quip.
В 2016 его компанию купил Salesforce, где в 2017 он занял позицию CPO, а в 2019 позицию COO. В рамках работы в Salesforce он занимался покупкой компании Slack.
На данный момент он также chairman в Open AI и Shopify.
В 2023 основал AI компанию Sierra.
👍29❤4🔥2🥱2🤣1🗿1
На сколько можно увеличить свои сбережения, работая в FAANG?
Не смотря на то, что зп программиста сильно больше средней зп, обычно, чем больше ты зарабатываешь, тем больше тратишь. Большинство программистов могут откладывать деньги на отпуск, покупку электроники и т.д. В лучшем случае на первоначальный взнос по ипотеке. А также платить не за аренду, а за ипотеку и за кредит по машине. Купить квартиру и машину (дороже 3-5 миллионов рублей) на сбережения может далеко не каждый.
Работая в FAANG, у вас будет выше будет базовая зп, но основное финансовое преимущество FAANG-компаний - стоки. Практически всегда, для поддержания хорошего уровня жизни вам будет достаточно базовой зп. В это входит: аренда или оплата ипотеки, коммуналка, транспорт, еда, одежда, отпуск, электроника, мебель, развлечения. А стоки можно использовать в качестве основного источника сбережений.
Например, на позиции Staff Software Engineer (E6) в Facebook, вам дадут ~$1.6M долларов на 4 года. После налогов это примерно $0.8M. Но доп преимущество стоков - они могут расти. В 2010-2020, типичный сценарий был, когда твои акции вырастали в 4 раза за 4 года. В 2020-2025 более типично это в 2 раза за 4 года. Т.е. с большой вероятностью мы можете получить ~$1.6M за 4 года на руки в виде чистых сбережений. Эта цифра для США и для позиции Staff в Facebook. В зависимости от компании, позиции и локации это цифра будет другой.
Не смотря на то, что зп программиста сильно больше средней зп, обычно, чем больше ты зарабатываешь, тем больше тратишь. Большинство программистов могут откладывать деньги на отпуск, покупку электроники и т.д. В лучшем случае на первоначальный взнос по ипотеке. А также платить не за аренду, а за ипотеку и за кредит по машине. Купить квартиру и машину (дороже 3-5 миллионов рублей) на сбережения может далеко не каждый.
Работая в FAANG, у вас будет выше будет базовая зп, но основное финансовое преимущество FAANG-компаний - стоки. Практически всегда, для поддержания хорошего уровня жизни вам будет достаточно базовой зп. В это входит: аренда или оплата ипотеки, коммуналка, транспорт, еда, одежда, отпуск, электроника, мебель, развлечения. А стоки можно использовать в качестве основного источника сбережений.
Например, на позиции Staff Software Engineer (E6) в Facebook, вам дадут ~$1.6M долларов на 4 года. После налогов это примерно $0.8M. Но доп преимущество стоков - они могут расти. В 2010-2020, типичный сценарий был, когда твои акции вырастали в 4 раза за 4 года. В 2020-2025 более типично это в 2 раза за 4 года. Т.е. с большой вероятностью мы можете получить ~$1.6M за 4 года на руки в виде чистых сбережений. Эта цифра для США и для позиции Staff в Facebook. В зависимости от компании, позиции и локации это цифра будет другой.
👍30🔥3
Свежее интервью Yann LeCun
Yann LeCun - главный по AI в Meta. Чем известен - один из создателей Deep Learning. Его также называют отцом/крестным отцом AI. Получил премию Тьюринга за 2018 (аналог нобелевской в Computer Science). Создал CNN (Convolutional neural network), а также формат DjVu.
https://www.youtube.com/watch?v=RUnFgu8kH-4
Yann LeCun - главный по AI в Meta. Чем известен - один из создателей Deep Learning. Его также называют отцом/крестным отцом AI. Получил премию Тьюринга за 2018 (аналог нобелевской в Computer Science). Создал CNN (Convolutional neural network), а также формат DjVu.
https://www.youtube.com/watch?v=RUnFgu8kH-4
YouTube
Father of AI: AI Needs PHYSICS to EVOLVE | prof. Yann LeCun
Yann LeCun is a French computer scientist regarded as one of the fathers of modern deep learning. In 2018, he received the Turing Award, often called the “Nobel Prize of Computing.” He is currently a professor at New York University and Chief AI Scientist…
❤12
В продолжение темы стоков...
Я храню часть сбережений в акциях. За последний месяц мои сбережения уменьшились на почти $50k из-за заявлений Трампа и падения фондового рынка...
Кроме того, это повлияло на стоимость акций, которые я только планирую получить, там падение уже на сотни тысяч...
Но это было уже не раз и всегда поднималось обратно и выше. Надеюсь тут будет также.
Я храню часть сбережений в акциях. За последний месяц мои сбережения уменьшились на почти $50k из-за заявлений Трампа и падения фондового рынка...
Кроме того, это повлияло на стоимость акций, которые я только планирую получить, там падение уже на сотни тысяч...
Но это было уже не раз и всегда поднималось обратно и выше. Надеюсь тут будет также.
👍21💔5🤷♂2
Сложно ли работать в FAANG-компаниях с технической точки зрения
Под технической точкой зрения я имею ввиду техническую сложность задач. Насколько сложные задачи с точки зрения кодинга.
Мое мнение - нет.
Это обычная работа. Хоть масштаб задач и другой, вам не надо многие вещи решать с нуля. Тут уже много готовых технологий, библиотек, фреймворков, которые разработаны внутри компании и заточенны под ее нужды. В большинстве случаев достаточно соединить несколько готовых частей, следовать внутренним практикам и все будет работать. Просто, как соединенить несколько деталей Lego.
Есть, конечно, новая и сложная работа, но желающих ей заняться, обычно, много, поэтому далеко не факт, что вам придется с нуля что-то придумывать с технической точки зрения.
Деревья вертеть вам не нужно, а если будет нужно, то делать вы это уже умеете, т.к. прошли собес.
Несмотря на это, в работе много организационных и не технических сложностей. Об этом будет в отдельном посте.
Но все же есть технические особенности:
1) Внутренние тулы/технологии. Очень много всего разработанно внутри компании, поэтому вам придется осваивать их с нуля. Какие-то из них удобные, какие-то нет. У большинства очень скудная документация. Также не получится загуглить ответ по этой технологии, т.к. комьюнити очень маленькое и находится внутри компании. Приходится искать ответ на внутренних ресурсах, задавать вопросы, пинговать людей, копать код самому.
2) Приходится писать на нескольких языках или на не вашем сильном языке. В Амазоне, часто, видел людей, которые писали на Java, но до этого ее не знали. В Meta приходится писать на нескольких языках: Hack, Python, C++, JS, хотя до этого эти языки или не знал или знал очень поверхностно.
3) Могут быть высокие требования к коду. В Meta это не так, но в нашей команде в Amazon это было так. Поэтому потребуется какое-то время на адаптацию, чтобы заалайниться по читаемости, фоматированию, тестам и т.д. Обычно 3-6 месяцев достаточно, если вы обучаемый человек.
4) Придется адаптироваться к новым способам получения информации. Гуглом, stackoverflow, за 8 лет, по рабочим вопросам я мало пользовался. Нужно искать на внутренних ресурсах, группах и т.д. Особенно, большой слом, в этом смысле, это Meta. Тут используется Workplace и не используются письма. LLM пока тоже слабо помогают.
5) Придется адаптироваться к новым процессам. Процесс написания и ревью дизайна, oncall, планирования, управления проектами отличается от других компаний. Поэтому у вас уйдет какое-то время на адаптацию (6-12 месяцев).
Под технической точкой зрения я имею ввиду техническую сложность задач. Насколько сложные задачи с точки зрения кодинга.
Мое мнение - нет.
Это обычная работа. Хоть масштаб задач и другой, вам не надо многие вещи решать с нуля. Тут уже много готовых технологий, библиотек, фреймворков, которые разработаны внутри компании и заточенны под ее нужды. В большинстве случаев достаточно соединить несколько готовых частей, следовать внутренним практикам и все будет работать. Просто, как соединенить несколько деталей Lego.
Есть, конечно, новая и сложная работа, но желающих ей заняться, обычно, много, поэтому далеко не факт, что вам придется с нуля что-то придумывать с технической точки зрения.
Деревья вертеть вам не нужно, а если будет нужно, то делать вы это уже умеете, т.к. прошли собес.
Несмотря на это, в работе много организационных и не технических сложностей. Об этом будет в отдельном посте.
Но все же есть технические особенности:
1) Внутренние тулы/технологии. Очень много всего разработанно внутри компании, поэтому вам придется осваивать их с нуля. Какие-то из них удобные, какие-то нет. У большинства очень скудная документация. Также не получится загуглить ответ по этой технологии, т.к. комьюнити очень маленькое и находится внутри компании. Приходится искать ответ на внутренних ресурсах, задавать вопросы, пинговать людей, копать код самому.
2) Приходится писать на нескольких языках или на не вашем сильном языке. В Амазоне, часто, видел людей, которые писали на Java, но до этого ее не знали. В Meta приходится писать на нескольких языках: Hack, Python, C++, JS, хотя до этого эти языки или не знал или знал очень поверхностно.
3) Могут быть высокие требования к коду. В Meta это не так, но в нашей команде в Amazon это было так. Поэтому потребуется какое-то время на адаптацию, чтобы заалайниться по читаемости, фоматированию, тестам и т.д. Обычно 3-6 месяцев достаточно, если вы обучаемый человек.
4) Придется адаптироваться к новым способам получения информации. Гуглом, stackoverflow, за 8 лет, по рабочим вопросам я мало пользовался. Нужно искать на внутренних ресурсах, группах и т.д. Особенно, большой слом, в этом смысле, это Meta. Тут используется Workplace и не используются письма. LLM пока тоже слабо помогают.
5) Придется адаптироваться к новым процессам. Процесс написания и ревью дизайна, oncall, планирования, управления проектами отличается от других компаний. Поэтому у вас уйдет какое-то время на адаптацию (6-12 месяцев).
👍22❤4💯2
Интервью Demis Hassabis
Интересное интервью с Demis Hassabis.
Чем известен - работает в Google, основатель DeepMind, создал AlphaFold за что получил нобелевскую премию по химии за 2024 год. Играет в шахматы, пиковый рейтинг - 2300. DeepMind создал AlphaGo, AlphaZero, которые играют в Go и шахматы лучше всех людей и движков.
Интервью про AI: https://www.youtube.com/watch?v=yr0GiSgUvPU
Интересное интервью с Demis Hassabis.
Чем известен - работает в Google, основатель DeepMind, создал AlphaFold за что получил нобелевскую премию по химии за 2024 год. Играет в шахматы, пиковый рейтинг - 2300. DeepMind создал AlphaGo, AlphaZero, которые играют в Go и шахматы лучше всех людей и движков.
Интервью про AI: https://www.youtube.com/watch?v=yr0GiSgUvPU
YouTube
Google DeepMind CEO Demis Hassabis: The Path To AGI, Deceptive AIs, Building a Virtual Cell
Demis Hassabis is the CEO of Google DeepMind. He joins Big Technology Podcast to discuss the cutting edge of AI and where the research is heading. In this conversation, we cover the path to artificial general intelligence, how long it will take to get there…
👍7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Когда у тебя просят референс в твою текущую компанию.
😁23👍2
Минутка ностальгии: первый опыт программирования, книга, среда разработки
Впервые я познакомился с программированием в 1999 году. Ни дома, ни в школе компьютера не было. Поэтому я ходил в какой-то кружок. Абсолютно ничего не понимал. Просто перепечатывал код, который рассказывал преподаватель. Первый язык, на котором я написал программу, был Pascal. Первые программы были стандартными: "Hello World", сумма чисел с вводом из командной строки и т.д. Писали это в среде разработки Borland Turbo Pascal. Компьютеры были 486 с MS-DOS и 5-ти дюймовым дисководом. В компьютерном классе был главный крутой компьютер с Windows 95 и Pentium 1. Но на нем не довелось поработать, только посмотреть издалека на графический интерфейс.
Первую программу на Java я написал в начале 2006 года. Это было в среде разработки Intellij Idea. Первая книга по Java у меня была: "Как программировать на Java" Дейтел. Дейтел. Выглядела она примерно так: https://www.labirint.ru/books/221364/
Мои первый приложения были с UI на Swing. Всякие калькуляторы, потом написал настольную игру и даже мессенджер по типу аськи с клиентами на Swing и сервером.
Пишите в комментариях, как вы познакомились с программированием.
Впервые я познакомился с программированием в 1999 году. Ни дома, ни в школе компьютера не было. Поэтому я ходил в какой-то кружок. Абсолютно ничего не понимал. Просто перепечатывал код, который рассказывал преподаватель. Первый язык, на котором я написал программу, был Pascal. Первые программы были стандартными: "Hello World", сумма чисел с вводом из командной строки и т.д. Писали это в среде разработки Borland Turbo Pascal. Компьютеры были 486 с MS-DOS и 5-ти дюймовым дисководом. В компьютерном классе был главный крутой компьютер с Windows 95 и Pentium 1. Но на нем не довелось поработать, только посмотреть издалека на графический интерфейс.
Первую программу на Java я написал в начале 2006 года. Это было в среде разработки Intellij Idea. Первая книга по Java у меня была: "Как программировать на Java" Дейтел. Дейтел. Выглядела она примерно так: https://www.labirint.ru/books/221364/
Мои первый приложения были с UI на Swing. Всякие калькуляторы, потом написал настольную игру и даже мессенджер по типу аськи с клиентами на Swing и сервером.
Пишите в комментариях, как вы познакомились с программированием.
www.labirint.ru
Книга: Как программировать на Java. Файлы, сети, базы данных - Дейтел, Дейтел. Купить книгу, читать рецензии | Лабиринт
Книга: Как программировать на Java. Файлы, сети, базы данных (Java. How to program. Fifth edition).📙 Автор: Дейтел, Дейтел. Аннотация, 🔝 отзывы читателей, иллюстрации. Купить книгу по привлекательной цене среди миллиона книг "Лабиринта" | ISBN 978-5-9518…
👍20🔥5
Сверхпродуктивные джуны
В FAANG-компаниях это явление достаточно частое. Это программисты, которые только что закончили университет и попали в FAANG. До этого они зачастую проходили 1–2 стажировки в этих же компаниях.
Многие из них очень замотивированы, любят соревноваться с другими программистами — как отличники-перфекционисты среди студентов. У них нет какого-либо опыта вне FAANG. Они быстро адаптируются к корпоративной культуре и понимают, как работает система промоушенов. Многие из них уже через три года занимают позицию Senior.
Часто они производят огромное количество кода, который работает, но всё ещё выглядит как код джуна. Из-за его объёма такой код нередко не комментируется и просто апрувится — иначе на ревью ушло бы всё время.
Также их джуновость проявляется в принятии решений, построении долгосрочной архитектуры, понимании продукта в целом.
Такие "джуно-синьеры" часто находятся бок о бок с людьми, у которых 10+ лет опыта на той же должности. И зачастую выглядят выгоднее — они сверхоптимизированы под метрики и промоушены внутри конкретной компании.
В FAANG-компаниях это явление достаточно частое. Это программисты, которые только что закончили университет и попали в FAANG. До этого они зачастую проходили 1–2 стажировки в этих же компаниях.
Многие из них очень замотивированы, любят соревноваться с другими программистами — как отличники-перфекционисты среди студентов. У них нет какого-либо опыта вне FAANG. Они быстро адаптируются к корпоративной культуре и понимают, как работает система промоушенов. Многие из них уже через три года занимают позицию Senior.
Часто они производят огромное количество кода, который работает, но всё ещё выглядит как код джуна. Из-за его объёма такой код нередко не комментируется и просто апрувится — иначе на ревью ушло бы всё время.
Также их джуновость проявляется в принятии решений, построении долгосрочной архитектуры, понимании продукта в целом.
Такие "джуно-синьеры" часто находятся бок о бок с людьми, у которых 10+ лет опыта на той же должности. И зачастую выглядят выгоднее — они сверхоптимизированы под метрики и промоушены внутри конкретной компании.
👍28✍2🤔1
Начал спрашивать более редкие задачи и отличающиеся по условию от Leetcode
Решил зайти на leetcode, посмотрел на топовые задачи по популярности. Увидел в топ 30 задачи, которые я обычно спрашиваю. Нашел в нашей базе задачи, которые в топ 50-100 или нет в топе, а также условие на литкоде другое от того, что у нас в базе задач.
Первые наблюдения - процент прохождения снизился, но еще более снизился перфоманс. Те кто проходит - решают задачу дольше, итеративно, с большим числом ошибок. При этом сложность задач такая же или даже проще.
Т.е. это еще больше подтверждает гипотезу, что большинство просто воспроизводят задачи из памяти: https://t.me/faangmaster/570
Смотрите мой пост как запоминать задачи: https://t.me/faangmaster/571
Решил зайти на leetcode, посмотрел на топовые задачи по популярности. Увидел в топ 30 задачи, которые я обычно спрашиваю. Нашел в нашей базе задачи, которые в топ 50-100 или нет в топе, а также условие на литкоде другое от того, что у нас в базе задач.
Первые наблюдения - процент прохождения снизился, но еще более снизился перфоманс. Те кто проходит - решают задачу дольше, итеративно, с большим числом ошибок. При этом сложность задач такая же или даже проще.
Т.е. это еще больше подтверждает гипотезу, что большинство просто воспроизводят задачи из памяти: https://t.me/faangmaster/570
Смотрите мой пост как запоминать задачи: https://t.me/faangmaster/571
Telegram
FAANG Master
Как leetcode изменил coding собеседования в FAANG?
FAANG/BigTech компании используют алгоритмические задачи на coding-собеседованиях уже более 20-30 лет. Этот тренд был задан Microsoft в 90х годах. Потом его подхватили новые интернет-компании вроде Google…
FAANG/BigTech компании используют алгоритмические задачи на coding-собеседованиях уже более 20-30 лет. Этот тренд был задан Microsoft в 90х годах. Потом его подхватили новые интернет-компании вроде Google…
👍30🤔3
Сложности начала работы в FAANG с позиции Senior
Очень многие приходят в FAANG уже имея существенный опыт за плечами. Большинство из них приходят на позицию Senior.
Какие особенности, по сравнению с другими компаниями, вас ожидают:
1) Знание библиотек, фреймворков, технологий, тулов обнуляется. В других компаниях вы скорее всего работали с известными open source или коммерческими технологиями, тулами, библиотеками, фреймворками и т.д. За годы опыта вы стали в них экспертами. Но когда вы приходите в FAANG это становится не релевантно, т.к. тут все разработано внутри компании. Поэтому вам надо будет это изучать с нуля, и ваш опыт и знания других тулов на прямую не пригодится.
2) Domain knowledge в существенно проценте случаев обнуляется. Многие стремятся попасть в FAANG-компанию, а не в конкретную команду. Да и не всегда есть возможность выбирать. Я, например, когда пришел в Facebook - пришел в компанию. Команду я себе искал в первые 3 месяца работы. Но выбор только из тех команд, которые в вашей локации и нанимают сейчас людей вашего уровня. Сейчас это уже не так. Сейчас есть team matching до прихода в компанию, но он тоже не из всего. А только их тех команд, которые сейчас нанимают в вашей локации и человека вашего уровня. Поэтому большинство приходит в команды, не зная предметной области. Поэтому приходится изучать все с нуля.
3) Пройдет какое-то время, пока вы поймете принцип performance review и как работают промоушены. То, как работают промоушены в FAANG, может сильно отличаться от того, к чему вы привыкли. У вас уже выработался определенный стиль работы и привычки. Вам придется адаптироваться к новому стилю работу, подстраиваться под местный performance review.
4) Сильная конкуренция со стороны разрабов, кто в FAANG с самого начала карьеры. Многие ваши сильные стороны и годы опыта обнуляются (domain knowledge, знание технологий). У вас другие привычки и стиль работы. А те, кто пришел в FAANG с универа, нигде больше не работал, очень хорошо адаптированы под промоушены (там есть требования по первым 1-2 промоушенам). Знают хорошо местный стек технологий, тематику и что важно и что не важно для хорошего performance review и для промоушена. Промоушен Senior->Staff сам по себе не простой, но все эти факторы, что я перечислил делают его еще сложнее для людей, кто пришел на позицию Senior не из FAANG имея 10+ лет опыта за плечами.
Очень многие приходят в FAANG уже имея существенный опыт за плечами. Большинство из них приходят на позицию Senior.
Какие особенности, по сравнению с другими компаниями, вас ожидают:
1) Знание библиотек, фреймворков, технологий, тулов обнуляется. В других компаниях вы скорее всего работали с известными open source или коммерческими технологиями, тулами, библиотеками, фреймворками и т.д. За годы опыта вы стали в них экспертами. Но когда вы приходите в FAANG это становится не релевантно, т.к. тут все разработано внутри компании. Поэтому вам надо будет это изучать с нуля, и ваш опыт и знания других тулов на прямую не пригодится.
2) Domain knowledge в существенно проценте случаев обнуляется. Многие стремятся попасть в FAANG-компанию, а не в конкретную команду. Да и не всегда есть возможность выбирать. Я, например, когда пришел в Facebook - пришел в компанию. Команду я себе искал в первые 3 месяца работы. Но выбор только из тех команд, которые в вашей локации и нанимают сейчас людей вашего уровня. Сейчас это уже не так. Сейчас есть team matching до прихода в компанию, но он тоже не из всего. А только их тех команд, которые сейчас нанимают в вашей локации и человека вашего уровня. Поэтому большинство приходит в команды, не зная предметной области. Поэтому приходится изучать все с нуля.
3) Пройдет какое-то время, пока вы поймете принцип performance review и как работают промоушены. То, как работают промоушены в FAANG, может сильно отличаться от того, к чему вы привыкли. У вас уже выработался определенный стиль работы и привычки. Вам придется адаптироваться к новому стилю работу, подстраиваться под местный performance review.
4) Сильная конкуренция со стороны разрабов, кто в FAANG с самого начала карьеры. Многие ваши сильные стороны и годы опыта обнуляются (domain knowledge, знание технологий). У вас другие привычки и стиль работы. А те, кто пришел в FAANG с универа, нигде больше не работал, очень хорошо адаптированы под промоушены (там есть требования по первым 1-2 промоушенам). Знают хорошо местный стек технологий, тематику и что важно и что не важно для хорошего performance review и для промоушена. Промоушен Senior->Staff сам по себе не простой, но все эти факторы, что я перечислил делают его еще сложнее для людей, кто пришел на позицию Senior не из FAANG имея 10+ лет опыта за плечами.
👍27✍1
Собеседовал кандидата, который меня пытался впечатлить знанием C++
Кандидат очень опытный, опыта больше чем у меня. Во время решения задач больше внимания уделял тому, как можно напихать больше крутых фич из C++ в решение задачи. Отвлекался на все подряд и постоянно отходил от основной цели - придумать алгоритм и его написать. В итоге не смог решить ни одну задачу. При написании кода глубоко уходил во второстепенные вещи и не смог никак продвинуться.
На таких собеседованиях не проверяется знание всех прикольных фич в языке. Проверяется, в первую очередь, способность конвертировать идеи в работающий код. Этого не произошло. Дальше простейшего цикла человек не продвинулся.
Кандидат очень опытный, опыта больше чем у меня. Во время решения задач больше внимания уделял тому, как можно напихать больше крутых фич из C++ в решение задачи. Отвлекался на все подряд и постоянно отходил от основной цели - придумать алгоритм и его написать. В итоге не смог решить ни одну задачу. При написании кода глубоко уходил во второстепенные вещи и не смог никак продвинуться.
На таких собеседованиях не проверяется знание всех прикольных фич в языке. Проверяется, в первую очередь, способность конвертировать идеи в работающий код. Этого не произошло. Дальше простейшего цикла человек не продвинулся.
😢34😁17👍5
Почему сотрудники Google и Meta получают на порядок больше, чем в Amazon?
Если зайти на https://www.levels.fyi/?compare=Google,Amazon,Facebook&track=Software%20Engineer
то складывается впечатление, что разница между Amazon и Google/Meta для одного и того же уровня небольшая.
Но дело в том, что это стартовые оферы, которые вы получаете при найме на работу. Дальше Google и Meta каждый год дает своим сотрудникам refreshers. Это дополнительные акции, которые рассчитаны на 4 года с момента получения.
Например, ваш изначальные офер был: base: $216k, bonus: $32k, RSU на 4 года: $880k.
Дальше после первого года работы вам дадут еще $200k * performance. Например, ваш перфоманс был EE (exceed expectation). Тогда вы получите еще $200k * 1.25 = $250k на следующие 4 года к уже имеющимся $880k. Т.е. у вас уже будет $880k+$250K.
Аналогично после второго, третьего и т.д. года работы.
Итого за 4 года только акций вы получите: $880k + $250k * (3/4) + $250 * (2/4) + $250k * (1/4) = $1.255M если акции за 4 года не изменяются в цене. Обычно они еще растут в 2-4 раза за 4 года. Итого, можно получить очень много денег. В Amazon или Microsoft рефрешеры несравнимо хуже, чем в Google или Meta.
Например, в моем случае, мой изначальный офер был $360k акций на 4 года. По факту, я получил $1.2M за 4 года в виде только акций (не считая зп и бонусы). Одна из причин - рост акций после получения рефрешера в начале 2023 года.
Если зайти на https://www.levels.fyi/?compare=Google,Amazon,Facebook&track=Software%20Engineer
то складывается впечатление, что разница между Amazon и Google/Meta для одного и того же уровня небольшая.
Но дело в том, что это стартовые оферы, которые вы получаете при найме на работу. Дальше Google и Meta каждый год дает своим сотрудникам refreshers. Это дополнительные акции, которые рассчитаны на 4 года с момента получения.
Например, ваш изначальные офер был: base: $216k, bonus: $32k, RSU на 4 года: $880k.
Дальше после первого года работы вам дадут еще $200k * performance. Например, ваш перфоманс был EE (exceed expectation). Тогда вы получите еще $200k * 1.25 = $250k на следующие 4 года к уже имеющимся $880k. Т.е. у вас уже будет $880k+$250K.
Аналогично после второго, третьего и т.д. года работы.
Итого за 4 года только акций вы получите: $880k + $250k * (3/4) + $250 * (2/4) + $250k * (1/4) = $1.255M если акции за 4 года не изменяются в цене. Обычно они еще растут в 2-4 раза за 4 года. Итого, можно получить очень много денег. В Amazon или Microsoft рефрешеры несравнимо хуже, чем в Google или Meta.
Например, в моем случае, мой изначальный офер был $360k акций на 4 года. По факту, я получил $1.2M за 4 года в виде только акций (не считая зп и бонусы). Одна из причин - рост акций после получения рефрешера в начале 2023 года.
Levels.fyi
Levels.fyi | Salaries & Tools to Level Up Your Career
Search 300k+ salaries for different companies, job titles, career levels, and locations. Explore our tools to help you get paid more!
✍10👍8