Известную историю про Max Howell, автора Homebrew, которого не взяли в гугл, часто приводят в качестве обоснования мнению "разработчиков собеседуют неправильно, не надо заставлять писать код на доске, ведь мы так в жизни не делаем". Смотрите, мол, даже такого крутана не взяли, значит всё и правда плохо (и мы правы). Дайте мешок денег и не задавайте вопросов.
Если разобраться и почитать его ответ, всё становится более-менее понятно.
Чувак написал Homebrew, как он сам выражается, дерьмово ("it's shit frankly"). Его пакетный менеджер стал популярным, но не потому, что он достиг инженерного совершенства, а потому что написал нормальную программу для нормальных пользователей, которые хотят решить задачу и получить внятные сообщения об ошибках и рекомендации по их устранению, если что-то пошло не так. Да, программисты — тоже пользователи.
Ключевой аргумент Макса: "what the fuck does comp-sci have to do with modern app development?". И ответ на это: ничего, особенно когда речь идёт про потребительский, в сущности несложный софт, а не замороченные алгоритмы нахождения консенсуса в распределённых системах и подобную эквилибристику.
То есть Макс, по моему мнению, в равной степени предприниматель и разработчик. Он не только написал какую-то поделку (как много моих или ваших проектов стали настолько популярными?), но ещё и нашёл проблему многих людей (как ставить софт на мак без GUI), достойную решения и, вероятно, интересную ему. Решил её правильно — так, как ожидали пользователи, потом каким-то образом раскрутил своё решение.
Я не знаю истории Homebrew и очень много додумываю. Но из его поста на Quora следует примерно это. А ещё после написания предыдущего абзаца я открыл его сайт, а там первой строчкой фраза "I'm an entrepreneur". Сходится.
Полезные ли это навыки? Безусловно. Крутой ли он разработчик? Да офигенный просто. Подходит ли он гуглу? Вот тут возникают вопросы.
Мой весьма ограниченный опыт работы в Фейсбуке подсказывает, что требования техногигантов в корне отличаются от, например, мелких продуктовых компаний и стартапов. В маленькой компании надо делать быстро и с заботой о пользователе, а на чистоту и производительность кода часто наплевать, а в корпорации — быть идеальным винтиком, который ещё и без проблем меняет технологии и проекты.
Смог бы так Макс? Не знаю, может быть. Но я так не могу и, главное, не хочу. Вероятно, и он испытывает что-то подобное. Стоило ли гуглу делать исключение для него? Не уверен. Их найм настроен определённым образом. С чего вдруг делать скидки авторам популярных библиотек?
Значит ли это, что всем нужны собеседования, как у гугла или фейсбука? Да нет конечно! Но из этого не следует и вывода "писать код на собеседовании не надо", который притягивают за уши к истории с Максом.
Стоит ли всем разработчикам стремиться в самые дорогие компании мира? Нет.
Ну а те, кто по-настоящему стремится попасть в FAANG, найдут в себе силы и время (и, безусловно, мозги), чтобы научиться вращать деревья на собеседованиях.