На профиле пользователя это выглядит следующим образом:
На поиске кандидатов или на откликах к вакансии — так:
Добавление двух мощнейших международных ИТ-сообществ позволит разработчикам раскрыть свой профиль ещё лучше, и ещё более эффективно взаимодействовать с потенциальными работодателями. Да и вообще, на наш взгляд, это круто: наверное, впервые можно увидеть сразу в одном месте и в одном формате все свои заслуги участия в ИТ-сообществах!
Чтобы вывести свои рейтинги нужно привязать учетные записи соответствующих сообществ к своему профилю на «Моём круге». Делается это в кабинете своего профиля, в «Ключнице»
Далее расскажем, какие данные мы выводим из GitHub и StackOverflow и что они означают.
Итак, блок участника GitHub или StackOverflow появляется на профиле пользователя «Моего круга», если у него есть хотя бы 1 репозиторий или 1 ответ соотвественно. Из блока участника можно перейти в профиль пользователя в данном сообществе и посмотреть подробней, какие именно репозитории и на каких языках он поддерживает, на какие темы и как именно отвечает.
GitHub
В блоке GitHub мы показываем число репозиториев пользователя и число его вкладов в них. Учитываются все репозитории, в которые пользователь делал вклады: это могут быть свои собственные или форкнутые репозитории, а также принадлежащие организациям. Вкладами мы назвали то, что на GitHub называется contributions.
Далее мы выводим 10 языков программирования, с помощью которых пользователь вносил вклад в репозитории. Впереди идут языки, которые были использованы в большем числе репозиториев. Каждый язык — ссылка на список всех репозиториев, в которых пользователь этот язык использует.
StackOverflow
В блоке StackOverflow мы показываем число вопросов и ответов пользователя в этом сообществе.
Далее мы выводим 10 тем, в которых пользователь внес наибольший вклад, с сортировкой о наибольшего вклада к наименьшему. Если в сообществе StackOverflow пользователь заработал золотой, серебряный или бронзовый бэйдж по данной теме, то мы обозначаем это звёздочкой соответствующего цвета. При наведении на звёздочку видна статистика пользователя по данной теме. Подробней о бэйджах на SO (смотри секцию Tag Badges). По каждой теме можно перейти и просмотреть список ответов пользователя по ней.
Напоминалочка
Посмотреть всех пользователей, по которым в базе «Моего круга» есть информация об их участии в ИТ-сообществах, можно на поиске по специалистам, выбрав среди фильтров соответствующий пункт «Участник ИТ-сообществ».
Блоки участника ИТ-сообществ подключаются и отключаются в кабинете своего профиля на «Моём круге», в разделе «Ключница».
Комментарии (71)
Suvitruf
25.07.2017 17:37+12C GitHub'ом плохо сделали. Там выводится список языков, на которых я якобы пишу. А по факту — это список языков из самых популярных реп, которые я форкнул, хотя туда даже ни разу не контрибьютил.
karaboz
25.07.2017 18:45Хм… А возможно ли вообще с Гитхаба получить информацию о языках, которыми контрибьютил?
karaboz
25.07.2017 19:25В любом случае, нужно смотреть на два показателя: как на список языков, которые встречаются в репозиториях, так и на число общего вклада. Если пользователь нафоркал репозиториев, но ничего с ними не дела, то мы увидим, что у него 0 вклада.
Suvitruf
25.07.2017 19:51+1У меня там на первом месте язык Haxe, я про него вообще впервые слышу.
Borz
25.07.2017 20:07+1но тем не менее, форкнули репу с таким языком
Suvitruf
25.07.2017 22:17Ну да. Но я на этом языке не пишу. Точно также, как я форкаю не мало проектов на тех же python или elrnang, чтобы сбилдить и потестировать сборки, которые ещё не ушли в релиз. При этом, я на этих языках не пишу.
Borz
25.07.2017 23:55+8а зачем их форкать? разве не достаточно просто склонировать необходимую ветку?
karaboz
25.07.2017 20:10А какие репозитории для вас самые ценные? Те, где вы автор и где есть звёзды? Вот эти?
https://github.com/Suvitruf/libgdx (Java +128 звёзд)
https://github.com/Suvitruf/Android-sdk-examples (Java +24)
https://github.com/Suvitruf/Android-ndk (C&C++ +23)
https://github.com/Suvitruf/docker-grafana-graphite-diamond (JavaScript&Nginx +6)Suvitruf
25.07.2017 22:12Тут зависит от того, с какой стороны смотреть. Как разработчику мне интересны звёзды в моих проектах.
Когда я нанимаю сотрудника, то ещё интересен его вклад в другие проекты. Но при этом количество звёзд проекта, куда он контрибьютил, мало о чём говорит.karaboz
26.07.2017 12:09+1Ага, понял про звёзды, спасибо. А скажите, как на Гитхабе вы смотрите вклад разработчика в проекты, куда заходите, на какие вещи смотрите?
karaboz
03.08.2017 12:59Подправили логику вывода статистики по гитхабу. Теперь мы считаем только то число репозиториев, в которых у вас есть вклады. А затем выводим список языков этих репозиториев: чем больше репозиториев, в которых вы делади вклады, тем раньше выводится язык этого репозитория. Ок?
https://moikrug.ru/Suvitruf
Suvitruf: 201 вклад в 9 репозиториев, связан с языками:
Java • JavaScript • C • C# • Ruby
Похоже на вас? (=Suvitruf
03.08.2017 14:46Да, теперь похоже.
А затем выводим список языков этих репозиториев: чем больше репозиториев, в которых вы делади вклады, тем раньше выводится язык этого репозитория.
То есть, к примеру, если у меня 3 репы на js, у которых по 1 звезды, и 1 репа на Java с 1000 звёзд, то на первом месте в списке будет js? =\karaboz
03.08.2017 18:56Дада, на первом месте будет JS, потому что больше репозиториев с этим языком.
Звёзды мы решили пока не учитывать из-за их противоречивого восприятия. А оценить, в какие языки было больше всего вкладов мы тоже не можем из-за ограниченности АПИ у гитхаба. Мы можем определить только репозитории, в которых был ваш вклад, узнать языки этих репозиториев, и посчитать число репозиториев. А ваш вклад можем посчитать только суммарно по всем репозиториям сразу.
Поэтому, решили сортировать языки по числу репозиториев, в которых они встречаются.Suvitruf
03.08.2017 19:06Вполне логично. Вот только какие языки из реп берутся? К примеру, если я контрибьючу в проект на Java, а там какие-то скрипты используются для сборки или ещё чего-то на Ruby или Python. В списке языков репозитория они отображаются. Следовательно, когда вы подсчёт ведёте, то тоже их учитываете, хотя я на этих языках даже не пишу? Или вы берёте языки с репы по большему проценту?
karaboz
03.08.2017 19:08+1Берем только один язык из репозитория, у которого самый большой процент. Посмотрели, что так делает GitHub, решили далеко не уклоняться от его собственной логики.
bustEXZ
25.07.2017 17:57+8А если к примеру человек отвечает только на ru.stackoverflow, это никак не попадет в статистику?
TexElless
25.07.2017 18:45+1Очевидный пиар тостера. Хотите отвечать на русском и получать плюшки в статистику на моем круге — сделайте правильный выбор.
karaboz
25.07.2017 18:49+2Да, пока не будем делать другие сообщества SO. Пока технически это не очень понятно. Да и нужно пока разобраться с тем, что сделали, будет ли оно востребовано разработчиками и эйчарами. Ну и конечно нам не очень хочется продвигать русский SO, когда у нас есть свой собственный «Тостер» (=
TheDeadOne
26.07.2017 09:33+1Если человек админ и отвечает на serverfault, например, он тоже пролетит. Лучше брать данные со всей сети stackexchange.
karaboz
26.07.2017 12:19+1Там у них засада с АПИ. Чтобы получить данные по каждому из подсообщесв, нужно авторизоваться внутри этого подсообщества отдельно. Таким образом, если мы хотим вывести еще десяток подсообществ из SO нам нужно для каждого делать свою кнопку привязки. Пока такое решение представляется неуклюжим и громоздким.
minamoto
26.07.2017 13:02+1Сделайте хотя бы выбор. У меня тоже основной рейтинг на ru.stackoverflow, 2 ответа и 111 рейтинг на stackoverflow.com — это совсем не то, что я бы хотел добавить в список.
karaboz
26.07.2017 14:24Как предлагаете сделать: нажимаешь на кнопку SO, после чего тебя спрашивают, в какое именно сообщество хотите привязать, выбираешь сообщество, и тебя привязывает именно к нему?
minamoto
26.07.2017 15:42+1Тут вопрос — какие возможности у вас есть по API.
Если есть возможность сделать так, как вы предлагаете — вполне хороший вариант, если только там не будет список всех возможных сообществ (очень их много уже).
Или если вы можете после привязки к SO получить список всех аккаунтов пользователя — то после привязки можно показывать список таких аккаунтов (как этот список выглядит в интерфейсе — ниже на скриншоте) и предлагать один из них выбрать.
karaboz
27.07.2017 13:44+1Попробуем придумать, как предложить выбор нужного SO сообщества. Но не очень быстро получится сделать пока.
Year
25.07.2017 18:15-9Отличная задумка. Теперь будущий работодатель видит не только то, что Слава Фомин работал в компании BestSoftEver с февраля 2014го года по март 2016го года, но и то, что он сидел на StackOverflow в рабочее время, отвечая на вопросы интернет-пользователей, хотя наверно мог бы помогать коллегам.
Borz
25.07.2017 18:25+1а тот, кому надо это и так увидит. А собирают они информацию, судя по всему, из открытых источников
alexey-m-ukolov
26.07.2017 07:58+3Работодатель это видит только если сам Слава разрешил и настроил. И для многих работодателей такое поведение (желание и возможность помогать другим) является плюсом.
ZEEGIN
25.07.2017 18:20+4Если я являюсь контрибутором и при этом после пул реквеста и коммита удаляю форк под исправление, то ваш баннер показывает что я не являюсь контрибутором.
karaboz
25.07.2017 18:47Вы форкнули проект, сделали исправление и отправили автору проекта? Он принял вашу правку и вы удалили форк? Так происходит?
ZEEGIN
25.07.2017 19:01+11Ну да, зачем мне бессмысленный форк, исправление по которому уже закомичено в мастер? При принятии пулреквеста будет выполнен мердж и сами патч файлы останутся для истории в том репозитории, в который вносится исправление.
karaboz
25.07.2017 19:27-11Да, в таком случае АПИ Гитхаба нам не отдаст вашего удаленного вклада. Но по-моему, никто как правилло не удаляет форки после внесения правок и отправки их автору репозитория.
akzhan
25.07.2017 21:41+8Я удаляю, как минимум.
И да, форкнув репу, и закоммитив в нее бинарный код (результат компиляции под Darwin всего лишь), я у вас получил метку TypeScript, приятно, но незаслуженно :)
И еще — у вас не учитываются репозитории, которые я поддерживаю от имени организаций...
ZEEGIN
26.07.2017 03:36+5Ну на самом гитхабе можно нажать «Customize your pinned repositories» и выбрать «Repositories you contribute to» который покажет в том числе и проекты, форки которых были удалены.
Так что как минимум эта информация у них есть, хотя, возможно через API напрямую она не доступна.
Ну вот эти же ребята сделали :)
https://opensourcecontributo.rs/akzhan
26.07.2017 16:18+1Их данные очень хорошо отражают реальность. И главное, это open source, и Мой Круг может ими оперировать аналогично.
Спасибо и от меня :)
karaboz
03.08.2017 13:05Спасибо за ссылку. Поизучали этот сервис, но не увидели пока в нём надежный источник информации, к сожалению. Как минимум, не нашли там некоторых пользователей, у которых точно есть вклад на гитхабе.
ZEEGIN
25.07.2017 18:24А Вы сделаете синхронизацию с hh.ru?
Я понимаю, что это конкурирующие площадки, но копипастом переносить из одного в другое правда не удобно :)
vedenin1980
25.07.2017 18:55+1То есть не показываются ни звезды гитхаба (хотя бы его личных репозиториев), ни фоловеры гитхаба, ни ранк у SO? Или это планируется сделать в будущем?
karaboz
25.07.2017 19:32Было интересно по этому поводу узнать ваше мнение, а также других разработчиков. Пообщавшись немного, я понял, что звёздами Гитхаба особенно никто не пользуется, точнее не понимает или считает, что они мало чего сообщают о разработчике. Вы как считаете?
Под ранком SO вы подразумеваете общую репутацию пользователя? Но ведь во внешнем мире она мало что скажет, разве нет? Точно также с кармой и рейтингом Хабра — они мало понятны непосвящённому. Потом, нам не нужны агрегированные показатели, нам важен рейтинг именно как разработчика в тех или иных технологиях.
Если понимаем, что в этом направлении можно показать, то и делаем.ReklatsMasters
25.07.2017 20:49+2Количество звёзд гитхаба показывает количество лайков у репа, количество других разработчиков, которые оценили вклад и которым понравился этот реп / модуль / etc. С другой стороны это не помогает оценить качество кода, т.к. реп может набрать 100+ звёзд и не развиваться несколько лет.
Может просто показывать
Pinned repositories
из профиля? Или ещё популярные репы, в которые слал PR. Например, есть есть коммиты в ядро линукса, этом стоит поделиться
vedenin1980
26.07.2017 11:35+6Вы как считаете?
Я не могу судить адекватно, так как у меня 3k звезд и 17k рейтинга на SO :), но на мой взгляд как первый показатель о вовлеченности разработчика в OpenSource и SO. На моей текущей работе (крупная международная фирма в Германии) несколько человек подходило и спрашивало "это ты тот новый русский чувак с большим рейтингов в SO?" при том что в офисе тысяча человек, то есть на репутацию и звезды часто смотрят и очень внимательно.
Естественно, звезды и рейтинг не могут быть главным и единственным показателем, я бы при высоком рейтинге/звездах посмотрел бы внимательно профайл на гитхабе и SO, что человек спрашивает и отвечает, какие проекты развивает.
А вот такой показатель как вклад может не очень хорошо отражать реальную работу в OpenSource, так как был у меня мелкий проект где я делал много десятков push'eй ежедневно (требовался сильный рефакторинг и т.п.), а в другом куда более важном проекте делал один большой и важный коммит в месяц.
Под ранком SO вы подразумеваете общую репутацию пользователя? Но ведь во внешнем мире она мало что скажет, разве нет?
Ну не знаю сколько программистов вообще не знают про SO и про его рейтинг, на мой взгляд тех.лиды, которые собеседуют и принимают решение должны знать основы SO и гитхаба. Иначе как они могут оценивать вклад кандидата в OpenSource, если вообще ничего в нем не понимают?
Потом, нам не нужны агрегированные показатели, нам важен рейтинг именно как разработчика в тех или иных технологиях
В гитхабе можно получать данные о языках в которые контрибьютил разработчик, в SO тоже легко можно получить рейтинг разработчика (и кол-во вопросов и ответов) по каждой технологии или языку.
На мой взгляд, рейтинг SO и звезды github'а тоже были бы полезны для первой оценки программиста (для второй все равно надо идти и смотреть профайлы)
apro
27.07.2017 02:49+1но на мой взгляд как первый показатель о вовлеченности разработчика в OpenSource и SO
Рейтинг на SO нивелируется элементарными ответами на элементарные вопросы в самом начале "хайпа" той или иной технологии. Типа такого вопроса и ответов.
Поэтому для SO важнее сколько ответов и по каким темам, чем его попугаи.
minamoto
26.07.2017 13:12+1У SO есть еще общие оценки, которые показывают понятные данные, а не ранк в SO-шных попугаях. Например: «Влияние: ~123k людей затронул», «репутация: в лучших 9% за всё время». Но репутация сайтозависима, т.е. быть в 10% лучших на ru.stackoverflow и на stackoverflow.com — это две большие разницы, так что, наверное, не очень показательный параметр.
vedenin1980
26.07.2017 14:15+2«Влияние: ~123k людей затронул»
С влиянием там другая проблема, у меня сейчас влияние на SO: 4.5m, потому что я написал ответ на очень популярный вопрос, которому много много лет, в котором было 4.5 миллиона визитов. Естественно, мой ответ висел не так долго и прочитало его намного, намного меньше людей. Там конечно есть ограничение, что влияние учитывается только после нескольких плюсов за ответ, но все равно влияние очень сильно зависит от древности вопроса на который отвечаешь и очень легко "накручивается", так как ты получаешь в плюс все просмотры вопроса на который отвечаешь за все время.
minamoto
26.07.2017 15:47+1Согласен, влияние тоже не очень хорошая метрика.
SO-попугаи, имхо, все же лучший вариант, потому что люди, которые знают об SO, понимают, о чем идет речь, а тем, которые не знают, и вся эта плашка не очень интересна будет.
Labadabadubdub
26.07.2017 13:54Возраст и стаж: 8 лет и 6 месяцев опыта работы
С первого класса на JS!
raiym
26.07.2017 14:32+1Спасибо за работу) выглядит круто
С успехом приявзал SO и Github. Но гитхаб не отображается на странице. Как сделать чтобы отобразилось?
karaboz
27.07.2017 13:53У вас на GitHub 0 репозиториев: https://github.com/raiym. А мы отображаем блок гитхаба только если есть хотя бы один репозиторий. Почему у вас так? Вкладов-то у вас много, а репозиториев ни одного. Удалили их все или как? Мы можем понять по АПИ, к каким языкам вы имеете отношение только через ваши репозитории (собственные или форкнутые). Напрямую через ваши вклады (contributions) АПИ не позволяет смотреть.
raiym
27.07.2017 14:01Понял. Например,
https://github.com/postaddictme/instagram-php-scraper
https://github.com/postaddictme/instagram-java-scraper
https://github.com/adhell/android
Это репозитории, которые я создавал сам (ничего не удалял). Я создал организации на гитхабе и перенес репо туда. (мне кажется, вполне стандартная ситуация).
raiym
27.07.2017 14:07Видимо можно получить список организаций в которых участвует юзер и потом получить список репо этих организаций. (https://developer.github.com/v3/orgs/)
karaboz
27.07.2017 15:34+2Благодарю за разъяснения, проблема ясна, попробуем её решить. Попробуем считать все репозитории пользователя, в которых тот делал вклады: будь то его репозитории или репозитории организаций. Может только уткнуться в ограничения по лимиту обращений к АПИ у Гитхаба. Но посмотрим, что получится сделать.
raiym
27.07.2017 15:39Супер!
karaboz
03.08.2017 13:11Кажется, у нас получилось, смогли учитывать вклады как в свои репозитории, так и в те, которые находятся в организациях пользователя. Проверьте, пожалуйста, этот человек похож на вас? (=
https://github.com/raiym
raiym: 610 вкладов в 10 репозиториев, связан с языками:
PHP • Dart • HTML • JavaScript • Javaraiym
03.08.2017 13:55karaboz
Да, это я) Спасибо!
А как сортируется языки? Я думаю, что у меня больше всего вклада в Java (в том числе Android) и PHP. А Dart только один репозиторий, но он на втором месте.karaboz
03.08.2017 19:00Мы берем все репозитории, в которые вы делали вклады, группируем репозитории по основным использованным в них языкам, и дальше в вашем блоке выводим эти языки в том порядке, что вначале идут те, которые применялись в наибольшем числе репозиториев.
То есть у вас должно быть больше всего репозиториев с PHP, и меньше всего с Java. При этом число вкладов легко может быть больше в Java. Но мы не можем сортировать языки по числу вкладов в них, потому что гитхаб отдает информацию только по общему числу ваших вкладов по всем репозиториям сразу.
neosapient
26.07.2017 17:17+2Жду статьи, как вывести рейтинг с рутрекера и линкедина на Круге без vpn и загранкомандировок.
alhimik45
26.07.2017 18:12Что-то ключница у вас сломалась. В профиле данные с хабра и тостера показываются.
Скринblackst0ne
02.08.2017 11:17Есть ли планы добаления GitLab?
У меня больше активности на gitlab.com, чем на github.com
Спасибо.karaboz
02.08.2017 14:25Спасибо за предложение, занесли в список потенциальных подключаемых сервисов, нужная штука, согласен.
nerudo
Ждем статьи «Как накрутить рейтинг на Круге»
karaboz
Ну я бы тогда разбил на 4 части:
1) Как накрутить на Хабре
2) Как накрутить на Тостере
3) Как накрутить на GitHub
4) Как накрутить на StackOverflow
(=
KvanTTT
накружить :)