А ещё мы создали Подбор: платформу, где собраны почти 500 000 профилей разработчиков из 10 открытых источников
Close
Руководство по Github
для гуманитариев
Чтение профилей на Github это как чтение состава чипсов. Кажется сложным, но можно быстро разобраться. Сегодня попробуем разобраться и сделать так, чтобы нахождение профиля разработчика на Github вызывало только "ох, сейчас разработчику в душу прям заглянем".
Разберемся с терминами
Потому что это пугает больше всего.

Git — это распределенная система контроля версий кода. Она помогает разработчикам сохранять все изменения, внесённые в код, отслеживать изменения в файлах и работать совместно с командой.

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

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

Open Source — это прозрачный подход к созданию проектов. Разработчики открывают код продуктов, над которыми работают — над ним можно вместе работать, а ещё — копировать. И всё это на Github.

Коммит (commit) — это публичное сохранение, фиксация (в архиве, репозитории и др.) изменений в коде.

Репозиторий (repo) — это хранилище версий кода какого-то проекта**.** В репозитории есть журнал коммитов, которые были добавлены в него. У репозитория могут быть разные ветки — у каждого своя история и происхождение. По умолчанию основная ветвь называется «мастер». Как правило, весь готовый код объединяется в мастер.

Форк (fork) — клон репозитория. В копии репозитория можно вносить свои собственные изменения, редактировать файлы. Например, вы решили внести изменения в чей-то репозиторий, внесли, а теперь можете поделиться им и отправить автору оригинального репозитория. Это будет считаться запросом на слияние и называться pull request.

Вот, смотрите, справа от Scala иконка форкнутого репозитория.

Issue — это условные карточки-задачи, которые вы можете создавать, чтобы отслеживать работу над багами, внедрение новых функций или других запросов. Как тикеты в Trello.

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

Contribution — это действия пользователя Github, по которым считается его активность на платформе:

  • commit в мастер-ветку;
  • открытие issue;
  • предложение сделать pull request;
  • отправка pull request на проверку.
Что ещё важно знать?

Давайте вернемся к вопросу: что такое Github в принципе. Это платформа, где разработчики и компании (да, в том числе) могут хранить проекты, редактировать их вместе. Но мы видим только часть репозиториев — те, что доступны всем.

Итак, пример. Разработчик, который активен на Github (у него регулярно что-то появляется), является автором или участником крупного проекта с открытым исходным кодом (open source). Делаем вывод, что, скорее всего, у него большой разработки на языке проекта. То есть активность и ценность вклада разработчика в целом рассказывает нам об уровне его навыков.

Но! Не каждый разработчик использует Github, и не каждый может — есть много компаний, которые запрещают ребятам участвовать в open source проектах.

На что обратить внимание в профиле?

1. Стек
Github — идеальный инструмент, чтобы узнать больше про технологический стек. Вы можете просто посмотреть, репозиториев с какой технологией больше всего или над чем он работал в последнее время.
И тут вам пригодятся вот эти инструменты:
Github User Languages

Покажет прямо под фото и контактами диаграмму языков и навыков разработчика. Станет ясно, что он использует чаще всего.
Github Awards

Инструмент, который поможет понять, какое мест о в рейтинге вообще занимает разработчик.
Profile Summary for Github

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

Видите, сколько навыков? Это всё Подбор.
Подбор анализирует технологии, которые разработчики используют в репозиториях (форкнутых и своих) на Github, а ещё — упоминания навыков в профиле и звездность кандидата. Подбор анализирует вес навыка и на основе этих данных (и не только) кандидаты сортируются в выдаче.

Octohunt

Простой инструмент для поиска разработчиков по Github. Вводите навык и локацию, Octohunt показывает профили.
2. Активность
Смотрим на активность кандидата. В зависимости от настроек его профиля здесь будет отображаться его публичная или личная активность. Выглядит это вот так — в какие-то дни разработчик прям много контрибьютил, в какие-то — мало:

Если этот график совсем пустой, то, напоминаем, это не значит, что разработчик ничего не делает и ходит на работу с 9 до 18. Он может скрыть свою личную активность из профиля. Не делайте поспешных выводов по первому взгляду на Github :)
3. Вклад в open source проекты
Очень круто и важно, если разработчик внес/вносит вклад (contribution) в крупные и популярные проекты, вовлечен в работу над репозиториями с хорошей репутацией в сообществе.

Посмотрите на Contribution activity за последние несколько месяцев и оцените, что делал разработчик. Тут же вы увидите, чего было больше: коммитов, issues, pull requests.

Затем зайдите во вкладку "Repositories" и оцените, внес он какой-то вклад в обсуждаемые проекты или нет. Просмотрите форкнутые репозитории, насколько большим был вклад разработчика в проект.

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

Звезда (star) — это способ подписаться на проект и отметить интерес к нему. Так разработчики составляют для себя ленту по интересам, чтобы в будущем видеть больше подобных проектов.

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

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

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

2-10 подписчиков — нормально, 11-25 — хорошо, 26-75 — уже фантастика, а больше 75 подписчиков — это уже товарищ-рок-звезда.
Находим контакты

Инструмент #1
Проверяем логин на Github в Телеграме. По нашему опыту, так часто и бывает.

Инструмент #2
Достаем почту, которая спрятана.
  1. Берем вот эту ссылку: https://api.github.com/users/ВОТСЮДАВСТАВИТЬЛОГИН/events/public

  2. Вставляем логин туда, где крупными буквами это указано.

  3. Включаем поиск по странице по ключевому слову email.

Тадааам!

*статья вдохновлена вот этими материалами:

Github Help Documentation

Reading Github Profiles When You Are Not An Engineer

Ask HN: What do recruiters look for in a GitHub profile?

How to: Use GitHub to Find Super-Talented Developers Recruiting and Sourcing Developers on Github: The Complete Guide
Что думаете?