Pull to refresh

Comments 28

Когда я вижу такие статьи, то я чувствую себя старым.

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

Сейчас и конплюхтерщик уже очередная профессия типа юриста/экономиста, и Гугл уже очередная серая корпорация что твой Газпром, и Америка на поверку землей обетованной не оказалась, и у макбучиков клавы полгода-то не живут, и комнаты отдыха с пуфиками что б кверх ногами валяться есть уже в каждой 1С-конторке произвольно взятого Усть-Ухрюпинска.

А так за статью плюс, конечно.

А я себя наоборот слишком зелёным, типа лет 20 назад думал "не боги горшки обжигают, месяца-другого достаточно чтобы освоить всё необходимое для любой позиции программиста, боги — это архитекторы и аналитики", а после подобных статей понимаю, что и джуном в компании с таким подходом к найму не пройду. Годы фуллтайм учёбы нужны

У меня тоже было такое ощущение, которое в статье мы описали как "все вокруг умнее" — оно больше про работу в корпорациях, но и на собеседовании проявляется достаточно чётко. Вокруг и правда много людей умнее или опытнее — и "годы учёбы", которые вы упоминаете, тоже не помешают. Но если вы начинаете не с нуля, у вас есть релевантный опыт и желание подготовиться к собеседованию (а не к "крутости компании", это важно!), всё получится.

Я ни разу не пытался пройти собеседование в Google/Facebook (пытался в компанию с подобными методами набора, но не взяли, недостаточно долго и тщательно готовился, решал задачи около месяца до собеседования, надо было хотя бы за три начинать).


Но пару раз в жизни работал в проектах с людьми, которые успели поработать в одной из таких компаний. Ну и, не боги горшки обжигают.


В одном из проектов код бывшего сотрудника одной из FAANG был… Ну так себе. Не сказать, что плохой, на очень среднем уровне, который сможет показать любой выпускник курсов «Освой технологию NNN за три дня и начни зашибать деньгу!».


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

Вы поднимаете очень интересную тему.


Разумеется, в фейсбуках работают обычные люди. Чаще всего они заинтересованные, целеустремлённые и продуктивные (система мотивации "выживает" других, как мне кажется), но далеко не обязательно лучшие инженеры.


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

Кто-то писал, что в таких компаниях наверняка скрупулезно ведётся и анализируется статистика, кого взяли, по каким параметрам, как показал себя в работе. Просто она не публикуется, так как это конкурентное преимущество.


Если это правда, то наверное в умении решать задачи к таким собеседованиям есть смысл.


Но идеи наверное в основном предлагают не нижние уровни, а менеджмент, причем высокие уровни. Было бы интересно чей-нибудь рассказ об этом послушать.

Можно поискать в интернете — много кто делился тем, как устроен найм в гуглах и прочих амазонах. В основном это engineering managers, которые видят. Может быть на канале Etsy Engineering что-то есть, не помню.

Вот ещё попалась интересная статья на тему:
https://www.overcomingbias.com/2020/11/what-makes-prestige.html


Удивительно совпадает с тем, что еще едва ли не 10 лет рассказывал один русскоязычный сотрудник гугла.


В обсуждении на HN пишут, что тоже сталкивались с выходцами из Google/Facebook, пишущими плохой код.

Фаанги заведомо не отбирают лучших инженеров, потому что они минимизируют немного другую функцию полезности: им важно не взять плохого инженера, даже если это означает, что большинство инженеров выше среднего пройдут мимо них.


Поэтому есть куча фирм, куда интервью сложнее и интереснее, есть куча фирм, где работают люди уровнем куда выше, и, как рядом пишут, люди с фаанговой строчкой в резюме далеко не всегда звёзды. Ну и да, пройти отбор, ИМХО, не то чтобы очень сложно.

Это очень интересная мысль, никогда об этом не задумывался. Спасибо!
И да, я полностью согласен, что пройти отбор не так сложно — в другой компании размером поменьше у меня были подобные собеседования, но куда сложнее.

Согласен с вами, с опытом переезд ради переезда уже не так интересен. Как и работа ради работы. Тем не менее, нам (программистам) очень повезло, что индустрия позволяет по сути без единой сложности переехать почти в любую страну мира, где развит технологический сектор — и иметь это в виду, на мой взгляд, полезно.

Пожалуйста, рад, что вам понравилось. Можете ещё вебинар посмотреть — он получился достаточно живым.

Если есть задание спроектировать Twitter или Instagram, а о них знаешь только что первое для публикации коротких сообщений, а второй для публикации фото, то опишут целевую систему подробно или можно сразу прерывать интервью с фразой типа "извините, но мне нужно какое-то описание системы, которую я проектирую, основные юзкейсы хотя бы. Или время на изучение системы, клон которой надо сделать".


Попадались подобные задачи и долго искали вариант, который был бы известен обоим. Пару раз так Хабр проектировал :)

Как раз от вас они ожидают, что вы будете задавать правильные вопросы интервьюеру, чтобы получить некоторое описание, юзкейсы и т.п.

Это достаточно канонические примеры. Считается, что если вы интересуетесь высоконагруженным вебом, то знаете, что интересного в архитектуре Твитера или Инстаграма — оптимизация БД для чтения или записи, синхронизация и шардирование, кэеширование и так далее, а также всякие приколы из разряда "как разослать уведомление о посте в ленте Канье Уэста всем его подписчикам, которых десятки миллионов".


Конечно, обычный разработчик не сможет фактически написать всю систему с нуля за адекватное время (да и не нужно это), но пройтись по всей архитектуре, определить узкие места и trade-offs, и рассказать в итоге о том, что знаете вы — это обязательно. И этого может оказаться достаточно.

В том-то и дело, что я интересовался архитектурой сервисов, которыми я пользуюсь, о которых у меня возникала мысль "а как они с такими нагрузками справляются, если у меня тысяча уведомлений больше минуты рассылается". Фейсбук (или ВК) — я хотя бы имею (или имел) представлении об юзкейсах и порядке аудитории, что те же уведомления там есть в принципе. Твитер и Инстаграмм для меня какие-то нишевые сервисы, которые чуть ли не генерацией статических файлов можно сделать: публикует кто-то пост или фотку — генерируем страницу его поста/фотки и перегенерируем страницу его ленты. Даже база нужна постольку поскольку для этой функцинальности. Но вот от вас узнал и задумался, что наверное какие-то уведомления там таки есть и раз есть подписчики, то наверное у них есть сводка изменений в лентах у тех, на кого подписаны и, желательно, не просто email слать, а в онлайн режиме автоматически и полуавтоматически перезагружать основной экран или типа того

В Твитере, как минимум, есть не одна лента, а миллионы — и какой-никакой, но real-time в обновлении. Ведь если я подписан на вас, то ваш твит должен и в вашей ленте, и в моей, и у остальных подписчиков.


Вот, например, неплохое видео: https://www.youtube.com/watch?v=J5auCY4ajK8

Вот про что я и говорю: чтобы как-то проектировать архитектуру системы нужно знать её основные понятия и концепции. Ну и масштаб. Сейчас посмотрел вики — у Твиттера аудитория на порядок больше чем были мои самые оптимистичные оценки.


Спасибо, посмотрю перед сном.

Читаешь и жалеешь, что плохо знаешь анлийский.
Учите анлгийский — не прогадаете. А еще за одно — китайский.
Ну и автомат калашникова — на всякий пожарный случай.

Все мы когда-то плохо знали английский, герой статьи (я) — не исключение.
Но это дело наживное :-) Главное, чтобы был стимул. Удачи!

И всё-таки главный вопрос для сотрудника FAANG. В повседневной работе сортировки и алгоритмы на графах с нуля часто пишете?

Понимаю ваш сарказм и, разумеется, сортировки и обходы графов не пишу никогда.
Но! Чтобы понимать, что вообще происходит, алгоритмы знать надо. Я не то чтобы защищаю такой стиль интервью, хоть и понимаю его плюсы для компаний, но всё-таки алгоритмическая подготовка для адекватного разработчика высокого уровня нужна.

Никакого сарказма. Спасибо за ответ. Тематика интервью в первую очередь нацелена на общий технический уровень, где теория один из многих аспектов, но не требование для работы. С точки зрения повседневных обязанностей, насколько теоретическая алгоритмическая база помогает или необходима в решении задач? Как часто возникают ситуации, когда решение в лоб утрированным пузырьком имеет больше шансов пойти в продакшен, нежели корректно реализованная QuickSort с учетом естественности и примотанной сбоку сортировкой вставками для специальных случаев? Достаточно ли для прохождения интервью знать только теоретические основы, или нужно уметь примотать графы и деревья в CRUD приложение?

Это зависит от специфики команды и проекта. У фейсбука, например, одна из самых сложных и больших инфраструктур в мире, одни из лучших алгоритмов AI в рекламы, огромные нагрузки на внешние и внутренние сервисы. Наверняка во многих местах алгоритмы действительно нужны, чтобы, утрированно, делать полный обход правильной структуры данных за окололинейное время, а не квадрат.


Я, к сожалению или счастью, таким не занимаюсь. Но иногда приходится касаться кода, где нужно задуматься о производительности как следует. Это всё-таки не домашняя страничка, а миллиарды пользователей.

Как там с ворк-лайф балансом? После переезда в Испанию я кайфую уже больше года от осознания, насколько нет необходимости «умирать за большое бабло». В шесть часов встал и ушел, в пятницу в пять, в июле-августе тоже в пять.

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


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

Only those users with full accounts are able to leave comments. Log in, please.

Information

Location
Россия
Website
gms.tech
Employees
11–30 employees
Registered