Руководство
по 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.
Тадааам!

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


13.11.2019