Почему Github Не Поможет Вам Нанять Разработчика

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

Например, в последний список вакансий в хакерских новостях куча реклама С запрос указывать профиль GitHub в вашем заявлении о приеме на работу .

Есть несколько хороших статей о том, почему не следует требовать от кандидатов профили GitHub. Я особенно рекомендую «Тик неоплачиваемого труда и сообщество открытого исходного кода» И «Почему GitHub — это не резюме» .

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

Но я не говорю, что это неэтично или что GitHub не подходит для демонстрации проектов.

Я говорю о том, почему от этих профилей просто мало толку.

Разреженность данных Если вы посмотрите общедоступный профиль лучшего инженера-программиста, с которым я когда-либо работал, вы увидите что-то вроде этого:

Почему GitHub не поможет вам нанять разработчика

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

У него очень мало последователей.

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

С его относительно неактивным профилем на GitHub он не одинок: у подавляющего большинства пользователей GitHub похожая картина.

Чтобы количественно оценить это, я собрал публичные коммиты от всех пользователей из Архив GitHub и получил эти цифры:

  • В прошлом году только 17% пользователей добавили какой-либо код
  • Только 7,4% пользователей сделали это более 10 раз.

  • Только 1,4% пользователей сделали это более 100 раз.

  • Только 0,15% пользователей сделали это более 500 раз.

Это распределение примерно соответствует сила закона (или по крайней мере что-то похожее ).

Это означает, что большинство пользователей относительно неактивны, но небольшое количество аккаунтов имеет сотни тысяч коммитов в год. В качестве примера взгляните на график процента разработчиков на GitHub с определенным количеством подписчиков:

Почему GitHub не поможет вам нанять разработчика

Получить количество коммитов из API GitHub сложно.

[1] , поэтому я указываю количество подписчиков с аналогичным распределением.

Если вы введете свой идентификатор пользователя на странице статьи , то вы получите мини-отчет о том, на какой позиции вы находитесь.

Преимущество в том, что даже имея 10 подписчиков, вы можете смело сказать, что входите в 1% лучших разработчиков.

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

У 83% нет коммитов за прошлый год, а у 88% нет подписчиков.

Это не значит, что они плохие разработчики.

У них просто нет никакого вклада в проекты с открытым исходным кодом, которым можно было бы похвастаться.

GitHub показывает только вклады с открытым исходным кодом.

Это очевидно: общедоступные профили GitHub действительно показывают только людей, которые создают программное обеспечение с открытым исходным кодом.

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

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

Например, в Линус Торвальдс большинство подписчиков на GitHub. Это имеет смысл, поскольку он является создателем нескольких невероятно успешных проектов с открытым исходным кодом, таких как Linux и git. С другой стороны, иметь Джон Кармак или Джефф Дин профилей на GitHub вообще нет, хотя они оба хорошо известны своей работой над одинаково успешными проектами с закрытым исходным кодом, такими как Doom и Google. Я всегда считал, что требование примеров коммитов с открытым исходным кодом при поиске разработчиков для работы над проектом проприетарного кода — это верх лицемерия.

Это напоминает компании, которые требуют справки, но сами запрещают выдачу справок бывшим сотрудникам.

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

Если отбросить лицемерие, оценка профиля GitHub выглядит сомнительной, если исключить из нее большинство разработчиков, в том числе таких, как Джон Кармак и Джефф Дин.

Я думаю, что при приеме на работу должен быть своего рода «тест Джеффа Дина»: если ваши требования к работе разработчика исключают кого-то вроде Джеффа Дина, вы, вероятно, делаете что-то неправильно.

Большинство проектов GitHub не впечатляют Даже для той небольшой части разработчиков, чьи проекты на GitHub, большинство проектов не слишком впечатляют. Сегодня многие курсы по программированию и университеты требуют от студентов создания репозиториев GitHub в рамках учебной программы.

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

Например, на GitHub около 190 000 репозиториев с названием « курс по науке о данных ".

Кроме того, из более чем 78 миллионов репозиториев в Архив GitHub около 1,1 миллиона называются «hello-world» и 1 миллион называются «тестовыми».

Количество подписчиков показывает популярность, а не талант Поскольку на GitHub очень много посредственных проектов, было бы логично рассматривать только проекты с большим количеством звезд или профилями с большим количеством подписчиков.

Даже не принимая во внимание тот факт, что это еще больше ограничивает круг кандидатов, это все равно далеко не эффективный способ оценки разработчика, поскольку он показывает лишь популярность, а не талант. В качестве примера взгляните на профиль Github. Стичпанк :

Почему GitHub не поможет вам нанять разработчика

У этого профиля около 1560 подписчиков, что ставит девушку в топ-0,002% лучших разработчиков на GitHub. У нее также есть несколько относительно популярных репозиториев, и, судя по всему, она работает в крупной ИТ-компании.

На первый взгляд, это достаточно солидный застройщик.

Но это не профиль реального человека.

Его создали авторы сериала "Кремниевая долина" для эпизода «Табуляции против пробелов»: Всякий раз, когда вы серьезно рассматриваете количество подписчиков на GitHub как значимый показатель, просто помните, что фейковый профиль персонажа из одного эпизода шоу имеет больше подписчиков, чем 99,998% разработчиков, и занимает примерно 670-е место в мире.

Аналогично, если вы посмотрите на самые популярные репозитории по количеству звезд, многие из них списки или шутки .

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

Многие популярные проекты на самом деле очень впечатляют. Я не пытаюсь предположить, что популярность и качество не коррелируют хотя бы незначительно.

Проблема в том, что сделать проект популярным — совсем другая задача, требующая совсем другого набора навыков, чем просто написание качественного кода.

Интервьюеры не проверяют профили GitHub Профили GitHub не только малопригодны для найма разработчиков, но и мало что дают разработчикам, ищущим работу.

За последнее десятилетие у меня было не так уж много собеседований, но, насколько я могу судить, никто из интервьюеров не проверял перед собеседованием мой профиль на GitHub. Более того, один даже заявил, что не читал моего краткое содержание , не говоря уже о профиле GitHub, который показался мне привлекательно честным заявлением.

Судя по рассказам, это довольно распространенная практика.

Например, Дэн Луу написал в Твиттере:

«Несмотря на шумиху вокруг того, как открытый исходный код помогает вашей карьере, и на это github==резюме, у меня было только 2 из 50 собеседований, на которых кто-то смотрел мой код» — Дэн Луу
Дэн Луу входит в топ-1000 по количеству подписчиков на GitHub. По крайней мере, мой опыт связан не только с относительно скромным портфолио на GitHub. Или здесь на hftguy.com Один разработчик просматривал аналитику GitHub после нескольких собеседований и обнаружил, что только один человек пришёл посмотреть его проекты (и это мог быть он сам во время обзора):
«После дюжины телефонных собеседований (1 разработчик на звонок) и нескольких личных собеседований (от 4 до 7 интервьюеров) мой профиль был просмотрен только один раз.

Итог: никого не волнует GitHub. Никто это смотреть не будет»

Хотя профили GitHub сложно использовать в качестве источника данных, я все же планирую использовать их для будущего проекта.

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

Сноска 1 На GitHub нет API для получения статистики активности за последний год. Как кажется, отображается временная шкала в SVG (например, такой ), который можно разобрать.

Я почти придумал этот хак для этой статьи, но столкнулся с некоторыми ограничениями CORS при загрузке его в браузер.

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

Теги: #hr #поиск сотрудников #найм разработчиков #резюме #собеседование #github #open source #github #управление персоналом #Карьера в IT-индустрии

Вместе с данным постом часто просматривают: