惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
T
Threat Research - Cisco Blogs
美团技术团队
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
Engineering at Meta
Engineering at Meta
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
The Register - Security
The Register - Security
Cyberwarzone
Cyberwarzone
F
Fortinet All Blogs
L
LINUX DO - 热门话题
C
Check Point Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Know Your Adversary
Know Your Adversary
S
Security Affairs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
V2EX - 技术
V2EX - 技术
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Martin Fowler
Martin Fowler
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
I
InfoQ
Cisco Talos Blog
Cisco Talos Blog
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
C
CERT Recently Published Vulnerability Notes
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
L
Lohrmann on Cybersecurity
T
Threatpost
腾讯CDC
Security Latest
Security Latest
K
Kaspersky official blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
Help Net Security
Help Net Security
Forbes - Security
Forbes - Security

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Мы нанимаем только самых модных
PatientZero · 2026-05-08 · via Все публикации подряд на Хабре

Мы нанимаем только самых модных

Простой

14 мин

7.7K

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

Когда я спрашивал о причинах отказа, обычно мне отвечали так:

  1. Опыт работы с неактуальными для нас технологиями

  2. «Слишком разнообразный опыт: платёжные системы, мобильные платформы, аналитика данных и UX»

  3. Работающие до договору обычно не особо сильны с технической точки зрения

Этот ответ рекрутёра был передан мне разработчиком; сам разработчик скептически отнёсся к этому ответу. Давайте назовём эту компанию TrendCo. Это одна из тысяч компаний, утверждающих, что на неё работают разработчики мирового уровня, что она нанимает только лучших и так далее. Мы говорим о конкретной компании, но её можно считать представительницей большого класса компаний, отказавших Майку в работе.

Пункт 1 можно расшифровать как «Майк — .NET-разработчик, а мы не любим людей с опытом разработки для Windows».

Мне знаком технологический стек TrendCo, который многие её сотрудники называют «велосипедом из костылей». Её базовые системы обеспечивают не больше тысячи запросов в секунду, из-за чего они зависали при больших нагрузках. Майк работал над системами, способными справляться с на несколько порядков большими нагрузками, но, очевидно, его опыт неприменим в компании.

Пункт 2 мне вообще сложно понять. Я проходил собеседование в TrendCo, и среди привлекательных черт компании рекрутёр назвал то, что она стартап, а значит, в ней можно выполнять множество разных задач. TrendCo почти без исключений нанимает специалистов широкого профиля, но Майк для них, похоже, слишком уж «широк».

Пункт 3 в сочетании с пунктом 1 позволяет понять, чем же на самом деле Майк не устроил TrendCo. Он «не её тип». Медианный сотрудник TrendCo — недавний выпускник одного из примерно пяти «лучших» вузов с 0-2 годами опыта. В компании есть несколько опытных разработчиков, но их не так много, и у большинства из этих опытных людей указано в резюме что-то модное, а не скучные старые компании наподобие Microsoft.

Можно по-разному относиться к тому, что компания имеет предпочтения в типах разработчиков и отказывает тем, кто не подходит под этот тип, но, как отметил Томас Птачек, если ваш тип совпадает с тем, за который конкурируют все, то «вы конкурируете за людей с самыми дорогими (или с самыми перегруженными финансированием) технологическими компаниями на рынке».

Судя по данным о найме выпускников без опыта, то видно, что Facebook* предлагает людям без опыта работы зарплату свыше 100 тысяч долларов, подъёмные в 100 тысяч и 150 тысяч в RSU (акциях с ограничениями), что в среднем даёт совокупную компенсацию более 160 тысяч долларов в год, включая 240 тысяч в первый год. Пакет от Google включает зарплату свыше 100 тысяч, подъёмные порядка 10 тысяч и 187 тысяч долларов в RSU. Это немного меньше, чем у Facebook*, но всё равно намного больше, чем готовы платить большинству выпускников компании, заявляющие, что нанимают только лучших. Имейте в виду, что компенсация может быть значительно выше для кандидатов, за которых идёт конкуренция между компаниями, а компенсация опытных кандидатов, вероятно, выше, чем вы ожидаете — если только вы не менеджер по найму, который видел, как сегодня выглядят конкурентные офферы.

Решив искать людей с самыми востребованными навыками, TrendCo сузила список своих варианты до двух: либо переплачивать за сотрудников, либо предлагать неконкурентоспособные компенсационные пакеты. TrendCo выбрала второй вариант, что частично объясняет, почему у неё так непропорционально мало разработчиков-сеньоров — разрыв в компенсации растёт по мере увеличения опыта, поэтому нужно сделать действительно очень убедительное предложение, чтобы человек выбрал TrendCo, когда вы предлагаете на 150 тысяч долларов в год меньше, чем конкуренты. И по мере того как люди набираются опыта, они всё меньше склонны верить словам о том, сколько «на самом деле стоят» опционы на акции.

Здесь следует сказать, что я ничего не имею против людей с «модным» опытом. Я знаю многих таких людей, обладающих потрясающими навыками прохождения собеседований и получивших пять-десять привлекательных офферов при последнем поиске работы. Я работал с одним из подобных людей: он только что выпустился из вуза, его полный компенсационный пакет был больше 200 тысяч долларов в год, но он оправдывал каждый цент. Но давайте подумаем: у него были серьёзные офферы от шести компаний, из которых он мог принять только один. В среднем компании тратят на собеседование с ним суммарно около восьми часов. А поскольку они так сильно хотели его нанять, серьёзно настроенные компании потратили в среднем ещё пять часов времени разработчиков, пытаясь убедить его принять их оффер. В среднем компании имели вероятность его найма, равную ⅙, поэтому как минимум потратили (8+5) * 6 = 78 часов времени разработчиков1. Люди с отличным опытом в среднем выполняют отличную работу, но их очень сложно нанять. Гораздо проще нанять недооценённых людей, особенно если ты платишь меньше рынка.

Я наблюдал этот гиперфокус на найме людей с «модным» опытом и со стороны кандидата, и со стороны работодателя; с обеих сторон он выглядит смехотворно.

На стороне найма я, работая в стартапе, пытался пригласить самого интересного и творческого программиста из известных мне, которого долгие годы никто не нанимал из-за низких баллов в колледже. Стартап отказался его нанимать, а мне сказали, что он вряд ли очень умный, если у него плохие оценки. Спустя годы его рискнула нанять Google, и с тех пор его карьера пошла в гору. На самом деле, это он убедил меня пойти в Google, где я попытался нанять одного из самых продуктивных знакомых программистов, но рекрутёр сразу отказал ему из-за того, что он недостаточно «технический».

Когда я был кандидатом, то на меня имелся спрос, и в то же время меня почти невозможно было нанять. Так как я заканчивал Висконсинский университет, один из 25 вузов, заявляющих, что находятся в десятке лучших по CS/разработке, то сразу после выпуска рекрутёры начали стучать в мою дверь. Но это было глупо — посещение Висконсинского университета ничего не говорило обо мне, просто так получилось, что я рос в этом штате. Если бы я рос Юте, то, вероятно, оказался бы в вузе Юты. Когда я сравнивал себя с людьми, посещавшими вузы Юты и Бойсе, то оказывалось, что их образование практически такое же, как у меня. Рейтинг Висконсина высок, потому что его профессора проводят отличные исследования, что в лучшем случае слабо коррелирует с эффективностью обучения студентов. Несмотря на то, что я получил то же самое инженерное образование, которое можно получить в сотнях других вузов, мне было очень легко попадать на собеседования и найти отличную работу.

На этой отличной должности в Centaur я проработал семь с половиной лет. Centaur обладала довольно хорошей репутацией среди аппаратных компаний Остина, поэтому мне просто было выбирать местную работу в аппаратных компаниях. Но я не знаю ни одного человека из сферы разработки ПО, кто бы слышал о Centaur, поэтому мне не удавалось добиться собеседования в большинстве компаний, занимающихся ПО. В паре случаев у меня были очень хорошие внутренние рекомендации, но рекрутёры всё равно не хотели общаться со мной, что я находил забавным, а мои друзья — раздражающим.

А когда дело доходило до собеседований, то часто они завершались плохо. Обычно причина отказа была примерно такой: «наша компания обрабатывает миллионы транзакций в день, и нам нужен кто-то с более релевантным опытом, способный справляться с подобными вещами, не тратя дополнительно время на обучение». А потом меня решила нанять Google, и я стал вторым человеком в проекте, серьёзно занявшимся производительностью глубокого обучения. Когда я только пришёл, этому проекту уделялось всего 20% времени. Мы написали самую быструю в мире систему глубокого обучения. Насколько я знаю, сейчас они создают N-ное поколение этого проекта, но первое поколение, написанное нами, долгие годы обладало наилучшим показателем производительности на одну стойку и на доллар по сравнению с любыми другими продакшен-системами (разумеется, за исключением следующих поколений этого же проекта).

Когда я работал в Google, рекрутёры постоянно пинговали меня предложениями вакансий. А теперь, когда я тружусь в скучной старой Microsoft, ко мне и близко нет такого интереса. Я задумывался о поиске работы2 и задавался вопросом, насколько «модным» покажусь, если начну этим заниматься. Опыт работы с нерелевантными технологиями? Ставим галочку! Слишком разнообразный опыт? Галочка! Работаю по договору? Нет. Ну что ж, два из трёх, не так уж плохо.

Но я говорю здесь не о себе, а о том, что человек3 может иметь крайне разные уровни привлекательности для работодателей из-за поверхностных факторов, не особо связанных с реальной продуктивностью. И это очень частая история для людей, которые в конечном итоге оказываются в Google. Если вы нанимали их до работы в Google, то, вероятно, сильно выиграли! Но никто (за исключением Google) не хочет так рисковать. Можно многое сказать в пользу того, чтобы платить больше за «проверенного» кандидата, но компания вроде TrendCo, которая не готова этого делать, сама саботирует процесс найма, охотясь только за людьми с модными резюме. И если вы не наняли бы человека до его работы в Google, а после — наняли бы, то главное, что вы на самом деле узнали о нём, — это то, что он лучше среднего справляется с задачками на алгоритмы на белой доске (или ему просто повезло).

Я не собираюсь критиковать именно стартапы наподобие TrendCo. У скучных старых компаний тоже есть собственное видение того, каким должен быть модный опыт. Мой друг, который находится в отчаянных поисках работника, не может ничего поделать с некоторыми резюме, которые я ему отправляю, потому что его группе не разрешается принимать людей без диплома. Ещё один знакомый находится в похожей ситуации: перед его группой поставлено чёткое правило — отказывать людям, которые в данный момент не работают.

Подобные решения не только неоптимальны для компаний, но и создают зависимость от пройденного пути при найме, из-за чего хорошие (или плохие) события в жизни человека преследуют его в течение десятков лет. О подобном эффекте можно прочитать и в литературе о карьерном пути в широком спектре отраслей4.

Томас Птачек как-то сказал: «Мы собеседуем людей, предыдущий опыт работы которых заключался исключительно в разработке логики предметной области на .NET, а в результате они показывают, как писать эксплойты для атак на эллиптические кривые с частичным смещением nonce, включающие преобразования Фурье и редукцию решёток методом BKZ, выполнение которых занимает 6 часов». Если вы работаете в компании, которая не отказывает людям сразу за их немодность, то услышите множество подобных историй. Лучшие из людей, с которыми я работал, учились в учебных заведениях и работали в компаниях, о которых вы не слышали, пока они не оказались в Google. Некоторые по-прежнему работают в компаниях, о которых вы никогда не слышали.

Если вы читали Зака Холмена, то можете помнить, что когда его уволили, кто-то сказал: «Если работодатель решил уволить тебя, то ты не только не справился с работой, но и оказался некудышным человеком». Многие считают должность и профессиональные успехи неотъемлемым мерилом ценности человека. Но большой составляющей этих показателей успеха, наряду с самим успехом, оказывается удача.

Как можно решить эту проблему?

Я могу понять, почему такое происходит. На уровне личности мы склонны к фундаментальной ошибке атрибуции. На уровне организаций быстрорастущие компании тратят существенную долю своего времени на собеседования, поэтому очевидный способ экономии этого времени — собеседовать людей только с «хорошей» квалификацией. К сожалению, это контрпродуктивно, если вы конкурируете за тот же крошечный пул людей, что и все другие.

У меня есть кое-какие зачатки идей.

Человек, который изменил всё

Билли Бин и Пол Деподеста приобрели Oakland A's — бейсбольную франшизу, бюджет которой несравним с бюджетом рейтинговых команд, и создали лучшую бейсбольную команду, находя и «нанимая» игроков, которые были статистически недооценены по своим показателям. Поражает меня то, что они публично рассказывали об этом, а потом Майкл Льюис написал книгу Moneyball о том, как они это делали. Несмотря на публичность, потребовались годы на то, чтобы стратегию A's освоило такое количество конкурентов, которое не позволило больше команде иметь слишком большой перевес.

Точно такую же ситуацию мы наблюдаем в найме разработчиков ПО. Томас Птачек рассказывал, что они как минимум полдесятка лет нанимали в Matasano неожиданно эффективных людей. Руководство Google регулярно говорит о имеющихся у него данных о найме и о том, что у них не сработало. Насколько помню, много лет назад оно говорило о том, что выбор исключительно выпускников лучших учебных заведений неэффективен, и что такие сотрудники не демонстрируют повышенную продуктивность, но это не мешает TrendCo пытаться в первую очередь нанять выпускников лучших вузов.

Обучение/менторство

Почему-то мало говорят про обучение и практику, которые позволяют не «самым лучшим», становится «лучшими».

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

Среди технологических же компаний большинство даже не пытается этого делать. В медианной крупной компании у новичка есть пара дней «ориентации», в основном заключающейся в юридической болтовне и бюрократии, после чего время от времени проводятся «тренинги», обычно состоящие из нескольких видео и тестов, которые предлагаются по требованиям комплаенса, а не для того, чтобы кого-то чему-то научить. Ещё новичку предоставляют ментора, который, скорее всего, не даёт никакого реального менторства. А в стартапах ситуация обычно ещё хуже! Чтобы превзойти эту планку, много труда не нужно.

Учитывая те суммы денег, которые компании тратят на найм и удержание «лучших», можно было бы ожидать, что они будут тратить хотя бы долю (ненулевую) этих денег на обучение. Кроме того, довольно странно, что компании не делают больший упор на обучение и менторство, чем на попытки найма. Конкретные вещи, которым я научился на конкретных должностях, оказались невероятно ценными для меня, но почти всегда это была или счастливая случайность, или то, в чём приходилось разбираться самостоятельно. Большинство компаний не делает на это упор. Да, рекрутёры говорят, что «у нас вы научитесь гораздо большему, чем Google, благодаря чему станете более ценным сотрудником», подразумевая, что это стоит потери 150 тысяч долларов в год в зарплате, но если их конкретно спросить, что они делают, чтобы стать лучшей средой для обучения, чем Google, они никогда не дадут вменяемого ответа.

Процесс/инструменты/культура

Я работал в двух компаниях, по сути, обладавших практически бесконечными ресурсами, которые можно потратить на инструментарий. Одна из них, назовём её ToolCo, крайне серьёзно относится к инструментарию и активно инвестирует в инструменты. Её сотрудники называют инструментарий так: «волшебный», «лучший из тех, что я видел» и «не могу поверить, что это вообще возможно». И я понимаю, почему. Например, если вы хотите собрать проект из миллиона строк кода, то системе сборки этой компании понадобится для этого примерно 5-20 с (если не включать LTO или чего-то другого, что можно распараллелить)5. За свой обычный рабочий день сотрудник пользуется множеством инструментов, которые кажутся волшебными, потому что они настолько совершеннее всего, что доступно во внешнем мире.

Другая компания, назовём её ProdCo, на словах уважает инструментарий, но на самом деле не ценит его. Люди описывают инструменты ProdCo так: «плохое ПО мирового уровня», «я вдвое менее продуктивен, чем в любой другой компании» и «не могу поверить, что это вообще возможно». У ProdCo есть исследование о новой системе сборки; заявленные показатели ускорения посредством распараллеливания/кэширования, времени онбординга и надёжности как минимум на два порядка хуже, чем у эквивалентной системы ToolCo. И по моему опыту, реальные показатели хуже, чем заявляется в исследовании. За свой обычный рабочий день в ProdCo её сотрудник пользуется множеством инструментов, которые по множеству параметров на много порядков хуже, чем их аналоги в ToolCo. Подобные вещи накапливаются и запросто могут оказаться важнее, чем «найм только самых лучших».

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

Хоть я и работал только в одной команде, полностью провалившей тест Джоэла (она набрала 1 из 12 баллов), в каждой команде, где я работал, имелись очевидные изъяны, которые было технически тривиально (но иногда сложно с точки зрения культуры) устранить. Когда я работал в Google, у нас были очень серьёзные проблемы с коммуникацией между двумя половинами команды, находившимися в разных офисах. Я устранил их совершенно тупым образом: начал писать заметки о всех наших локальных совещаниях и обсуждениях, а потом собирал от удалённой команды вопросы о том, что удивило их в моих заметках. Это мог сделать кто угодно, но таким образом мы существенно повысили производительность всей команды. Я в буквальном смысле ни разу не видел рабочей среды, в которой нельзя повысить производительность столь же тривиальным образом. Иногда люди не соглашаются на это (например, понадобились месяцы на то, чтобы убедить команду, не пользующуюся системой управления версиями начать ею пользоваться), но это уже тема для отдельного поста.

В большинстве компаний программистов чрезвычайно неоптимально используют. В чём смысл нанимать «лучших», а затем саботировать их? Можно добиться лучших результатов, нанимая непримечательных сотрудников и обеспечивать их успех; к тому же это гораздо дешевле.

Заключение

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


  1. Эта оценка консервативна. По расчётам получается 78 часов, только если предположить, что мы никогда не отказываем модному кандидату и что для поиска хороших кандидатов нам не нужно собеседовать кандидатов, которым мы отказываем «обоснованно». Если добавить эти временные расходы, то показатели становятся намного больше. А если вы проводите собеседования для TrendCo и не можете платить сеньор-разработчику 200 тысяч долларов в год, не говоря уже о выпускниках, то вам, вероятно, придётся умножить это число как минимум на 10, чтобы учесть снижение вероятности того, что работник, на которого есть большой спрос, согласится сильно потерять в зарплате, чтобы работать на вас.

    Кстати, если провести подобные расчёты, то можно увидеть, что заявляемое «отсутствие ложноположительных результатов» — это враньё. Единственный способ снижения риска ложноположительных результатов до нуля — это не нанимать никого. Если вы кого-то нанимаете, то ищете баланс между затратами на увольнение плохого сотрудника и тратой времени разработчиков на собеседования.

  2. Я считаю, что в общем случае это хорошая практика, по крайней мере, для тех, кто, как и я, находится на относительно ранних этапах своей карьеры. Хорошо знать, какой у тебя есть выбор, даже если ты им не пользуешься. Когда я работал в Centaur, то примерно раз в год проходил раунд собеседований, и эти собеседования очень чётко показывали, что мне повезло работать в Centaur. У меня было гораздо больше ответственности и разнообразия работы, чем в каком-либо другом месте, мне не приходилось сталкиваться с таким большим количеством чуши, да и платили вполне неплохо. Но я всё равно время от времени проходил собеседования, и вам тоже стоит так поступать! Если вы тревожитесь, что впустую потратите время нанимающей компании, то можете поступать как в моём случае: я всегда очень чётко доносил, что мне нравится моя работа и я вряд ли её сменю; большинство компаний это устраивало, и они всё равно хотели провести собеседование.

  3. На самом деле, дело не конкретно во мне. В то же время, когда я не мог добиться ни от одной компании собеседования, мой друг, гораздо более опытный программист, потратил полгода на поиск работы в штате. В итоге он получил должность в Cloudflare, был одним из двух человек, написавших их DNS, а теперь стал одним из мировых специалистов по борьбе с DDoS в компаниях, не имеющих бесконечных ресурсов. До прихода в Cloudflare он даже не занимался сетями. Он великолепный специалист широкого профиля, при помощи популярной библиотеки JavaScript создавший один из самых крутых экспериментальных системных проектов, которые я видел. Наверно, он мог бы взяться за любую область задач, в которой у вас есть проблемы, и блестяще бы их решил. А, кстати: между написанием постов в блог и чтением докладов он работает одним из самых эффективных рекрутёров Cloudflare. Или можно взять пример Aphyr, одного из самых уважаемых в мире инженеров по верификации цифровых систем, которому не удавалось добиться ответов ни на одно своё резюме, когда он меньше десятка лет назад выпустился из колледжа.

  4. Я не буду писать обзор литературы, потому что есть куча исследований, связывающих карьерные успехи с внешним влиянием, но сошлюсь на показавшийся интересным мне результат из статьи 2010 года Лизы Кан об экономике труда.

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

    Если поискать, можно найти исследования, показывающие, что доходы нормализуются «всего» спустя 15 лет, вызывая существенную, но, по сути, однократную потерю в доходах, и исследования, согласно которым со временем этот эффект усиливается. Строго говоря, результаты в основном не противоречат друг другу, потому что рассматривают разные причины экономического кризиса в момент устройства на первую работу, и есть вероятность, что разница в результатах возникает из-за того, что разные обстоятельства нельзя привести к общему знаменателю. Но даже «хороший» результат заключается в том, что после одного плохого события для нормализации дохода требуется 15 лет. Даже при очень оптимистичном чтении литературы становится понятно, что внешние события могут очень сильно влиять на карьеру людей, и действительно на неё влияют. А если вы хотите узнать пределы оценок «плохого» результата, то изучите, например, статью Гуисо, Сапиенсы и Сингалес, в которой утверждается о наличии связи продуктивности города с тем, имелся ли в этом городе епископ в 1000 году.

  5. Во время ориентации бэкенд системы сборки был неисправен, поэтому я попробовал собрать один из туториалов для начинающих на своей локальной машине. Я сдался спустя час, когда сборка была завершена на 2%. Один мой знакомый пытался собрать реальную крупномасштабную кодовую базу продакшена на своей локальной машине за длинные выходные, но к их концу сборка была ещё далека от завершения.