Две недели назад мы на «Моём круге» ввели рейтинги участников «Хабра» и «Тостера», о чём рассказали в нашей прошлой публикации. А сегодня рады сообщить о добавлении рейтингов участия ещё в двух сообществах: GitHub и StackOverflow.

На профиле пользователя это выглядит следующим образом:

image

На поиске кандидатов или на откликах к вакансии — так:

image

Добавление двух мощнейших международных ИТ-сообществ позволит разработчикам раскрыть свой профиль ещё лучше, и ещё более эффективно взаимодействовать с потенциальными работодателями. Да и вообще, на наш взгляд, это круто: наверное, впервые можно увидеть сразу в одном месте и в одном формате все свои заслуги участия в ИТ-сообществах!

Чтобы вывести свои рейтинги нужно привязать учетные записи соответствующих сообществ к своему профилю на «Моём круге». Делается это в кабинете своего профиля, в «Ключнице»

Далее расскажем, какие данные мы выводим из GitHub и StackOverflow и что они означают.

Итак, блок участника GitHub или StackOverflow появляется на профиле пользователя «Моего круга», если у него есть хотя бы 1 репозиторий или 1 ответ соотвественно. Из блока участника можно перейти в профиль пользователя в данном сообществе и посмотреть подробней, какие именно репозитории и на каких языках он поддерживает, на какие темы и как именно отвечает.

GitHub


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

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

StackOverflow


В блоке StackOverflow мы показываем число вопросов и ответов пользователя в этом сообществе.

Далее мы выводим 10 тем, в которых пользователь внес наибольший вклад, с сортировкой о наибольшего вклада к наименьшему. Если в сообществе StackOverflow пользователь заработал золотой, серебряный или бронзовый бэйдж по данной теме, то мы обозначаем это звёздочкой соответствующего цвета. При наведении на звёздочку видна статистика пользователя по данной теме. Подробней о бэйджах на SO (смотри секцию Tag Badges). По каждой теме можно перейти и просмотреть список ответов пользователя по ней.



Напоминалочка


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

Блоки участника ИТ-сообществ подключаются и отключаются в кабинете своего профиля на «Моём круге», в разделе «Ключница».
Поделиться с друзьями
-->

Комментарии (71)


  1. nerudo
    25.07.2017 17:25
    +3

    Ждем статьи «Как накрутить рейтинг на Круге»


    1. karaboz
      25.07.2017 17:28
      +2

      Ну я бы тогда разбил на 4 части:
      1) Как накрутить на Хабре
      2) Как накрутить на Тостере
      3) Как накрутить на GitHub
      4) Как накрутить на StackOverflow

      (=


    1. KvanTTT
      26.07.2017 02:49
      +1

      накружить :)


  1. Suvitruf
    25.07.2017 17:37
    +12

    C GitHub'ом плохо сделали. Там выводится список языков, на которых я якобы пишу. А по факту — это список языков из самых популярных реп, которые я форкнул, хотя туда даже ни разу не контрибьютил.


    1. karaboz
      25.07.2017 18:45

      Хм… А возможно ли вообще с Гитхаба получить информацию о языках, которыми контрибьютил?


    1. karaboz
      25.07.2017 19:25

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


      1. Suvitruf
        25.07.2017 19:51
        +1

        У меня там на первом месте язык Haxe, я про него вообще впервые слышу.


        1. Borz
          25.07.2017 20:07
          +1

          но тем не менее, форкнули репу с таким языком


          1. Suvitruf
            25.07.2017 22:17

            Ну да. Но я на этом языке не пишу. Точно также, как я форкаю не мало проектов на тех же python или elrnang, чтобы сбилдить и потестировать сборки, которые ещё не ушли в релиз. При этом, я на этих языках не пишу.


            1. Borz
              25.07.2017 23:55
              +8

              а зачем их форкать? разве не достаточно просто склонировать необходимую ветку?


            1. KvanTTT
              26.07.2017 02:50
              +1

              Можно потом этот форк и удалить.


        1. 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)


          1. Suvitruf
            25.07.2017 22:12

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


            1. karaboz
              26.07.2017 12:09
              +1

              Ага, понял про звёзды, спасибо. А скажите, как на Гитхабе вы смотрите вклад разработчика в проекты, куда заходите, на какие вещи смотрите?


    1. karaboz
      03.08.2017 12:59

      Подправили логику вывода статистики по гитхабу. Теперь мы считаем только то число репозиториев, в которых у вас есть вклады. А затем выводим список языков этих репозиториев: чем больше репозиториев, в которых вы делади вклады, тем раньше выводится язык этого репозитория. Ок?

      https://moikrug.ru/Suvitruf

      Suvitruf: 201 вклад в 9 репозиториев, связан с языками:
      Java • JavaScript • C • C# • Ruby


      Похоже на вас? (=


      1. Suvitruf
        03.08.2017 14:46

        Да, теперь похоже.

        А затем выводим список языков этих репозиториев: чем больше репозиториев, в которых вы делади вклады, тем раньше выводится язык этого репозитория.
        То есть, к примеру, если у меня 3 репы на js, у которых по 1 звезды, и 1 репа на Java с 1000 звёзд, то на первом месте в списке будет js? =\


        1. karaboz
          03.08.2017 18:56

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

          Звёзды мы решили пока не учитывать из-за их противоречивого восприятия. А оценить, в какие языки было больше всего вкладов мы тоже не можем из-за ограниченности АПИ у гитхаба. Мы можем определить только репозитории, в которых был ваш вклад, узнать языки этих репозиториев, и посчитать число репозиториев. А ваш вклад можем посчитать только суммарно по всем репозиториям сразу.

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


          1. Suvitruf
            03.08.2017 19:06

            Вполне логично. Вот только какие языки из реп берутся? К примеру, если я контрибьючу в проект на Java, а там какие-то скрипты используются для сборки или ещё чего-то на Ruby или Python. В списке языков репозитория они отображаются. Следовательно, когда вы подсчёт ведёте, то тоже их учитываете, хотя я на этих языках даже не пишу? Или вы берёте языки с репы по большему проценту?


            1. karaboz
              03.08.2017 19:08
              +1

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


  1. bustEXZ
    25.07.2017 17:57
    +8

    А если к примеру человек отвечает только на ru.stackoverflow, это никак не попадет в статистику?


    1. TexElless
      25.07.2017 18:45
      +1

      Очевидный пиар тостера. Хотите отвечать на русском и получать плюшки в статистику на моем круге — сделайте правильный выбор.


    1. karaboz
      25.07.2017 18:49
      +2

      Да, пока не будем делать другие сообщества SO. Пока технически это не очень понятно. Да и нужно пока разобраться с тем, что сделали, будет ли оно востребовано разработчиками и эйчарами. Ну и конечно нам не очень хочется продвигать русский SO, когда у нас есть свой собственный «Тостер» (=


      1. TheDeadOne
        26.07.2017 09:33
        +1

        Если человек админ и отвечает на serverfault, например, он тоже пролетит. Лучше брать данные со всей сети stackexchange.


        1. karaboz
          26.07.2017 12:19
          +1

          Там у них засада с АПИ. Чтобы получить данные по каждому из подсообщесв, нужно авторизоваться внутри этого подсообщества отдельно. Таким образом, если мы хотим вывести еще десяток подсообществ из SO нам нужно для каждого делать свою кнопку привязки. Пока такое решение представляется неуклюжим и громоздким.


          1. minamoto
            26.07.2017 13:02
            +1

            Сделайте хотя бы выбор. У меня тоже основной рейтинг на ru.stackoverflow, 2 ответа и 111 рейтинг на stackoverflow.com — это совсем не то, что я бы хотел добавить в список.


            1. karaboz
              26.07.2017 14:24

              Как предлагаете сделать: нажимаешь на кнопку SO, после чего тебя спрашивают, в какое именно сообщество хотите привязать, выбираешь сообщество, и тебя привязывает именно к нему?


              1. minamoto
                26.07.2017 15:42
                +1

                Тут вопрос — какие возможности у вас есть по API.
                Если есть возможность сделать так, как вы предлагаете — вполне хороший вариант, если только там не будет список всех возможных сообществ (очень их много уже).
                Или если вы можете после привязки к SO получить список всех аккаунтов пользователя — то после привязки можно показывать список таких аккаунтов (как этот список выглядит в интерфейсе — ниже на скриншоте) и предлагать один из них выбрать.


                1. karaboz
                  27.07.2017 13:44
                  +1

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


    1. akzhan
      25.07.2017 21:40

      Не попадет, я проверил. И соревнования тоже не попадут :)


  1. Year
    25.07.2017 18:15
    -9

    Отличная задумка. Теперь будущий работодатель видит не только то, что Слава Фомин работал в компании BestSoftEver с февраля 2014го года по март 2016го года, но и то, что он сидел на StackOverflow в рабочее время, отвечая на вопросы интернет-пользователей, хотя наверно мог бы помогать коллегам.


    1. Borz
      25.07.2017 18:25
      +1

      а тот, кому надо это и так увидит. А собирают они информацию, судя по всему, из открытых источников


    1. alexey-m-ukolov
      26.07.2017 07:58
      +3

      Работодатель это видит только если сам Слава разрешил и настроил. И для многих работодателей такое поведение (желание и возможность помогать другим) является плюсом.


  1. ZEEGIN
    25.07.2017 18:20
    +4

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


    1. karaboz
      25.07.2017 18:47

      Вы форкнули проект, сделали исправление и отправили автору проекта? Он принял вашу правку и вы удалили форк? Так происходит?


      1. ZEEGIN
        25.07.2017 19:01
        +11

        Ну да, зачем мне бессмысленный форк, исправление по которому уже закомичено в мастер? При принятии пулреквеста будет выполнен мердж и сами патч файлы останутся для истории в том репозитории, в который вносится исправление.


        1. karaboz
          25.07.2017 19:27
          -11

          Да, в таком случае АПИ Гитхаба нам не отдаст вашего удаленного вклада. Но по-моему, никто как правилло не удаляет форки после внесения правок и отправки их автору репозитория.


          1. akzhan
            25.07.2017 21:41
            +8

            Я удаляю, как минимум.


            И да, форкнув репу, и закоммитив в нее бинарный код (результат компиляции под Darwin всего лишь), я у вас получил метку TypeScript, приятно, но незаслуженно :)


            И еще — у вас не учитываются репозитории, которые я поддерживаю от имени организаций...


          1. humbug
            25.07.2017 22:58
            +7

            И я удаляю. У кого вы взяли это правилло?


          1. ZEEGIN
            26.07.2017 03:36
            +5

            Ну на самом гитхабе можно нажать «Customize your pinned repositories» и выбрать «Repositories you contribute to» который покажет в том числе и проекты, форки которых были удалены.

            Так что как минимум эта информация у них есть, хотя, возможно через API напрямую она не доступна.

            Ну вот эти же ребята сделали :)
            https://opensourcecontributo.rs/


            1. akzhan
              26.07.2017 16:18
              +1

              Их данные очень хорошо отражают реальность. И главное, это open source, и Мой Круг может ими оперировать аналогично.


              Спасибо и от меня :)


            1. karaboz
              03.08.2017 13:05

              Спасибо за ссылку. Поизучали этот сервис, но не увидели пока в нём надежный источник информации, к сожалению. Как минимум, не нашли там некоторых пользователей, у которых точно есть вклад на гитхабе.


  1. ZEEGIN
    25.07.2017 18:24

    А Вы сделаете синхронизацию с hh.ru?
    Я понимаю, что это конкурирующие площадки, но копипастом переносить из одного в другое правда не удобно :)


    1. karaboz
      25.07.2017 18:46

      Вы имеете в виду возможность авторизоваться на МК через HH и подгружать все первичные сведения?


      1. ZEEGIN
        25.07.2017 19:02

        Либо так либо загрузить профиль по публичной ссылке (где-то для hh я это видел, но вот где не вспомню сразу).


  1. vedenin1980
    25.07.2017 18:55
    +1

    То есть не показываются ни звезды гитхаба (хотя бы его личных репозиториев), ни фоловеры гитхаба, ни ранк у SO? Или это планируется сделать в будущем?


    1. karaboz
      25.07.2017 19:32

      Было интересно по этому поводу узнать ваше мнение, а также других разработчиков. Пообщавшись немного, я понял, что звёздами Гитхаба особенно никто не пользуется, точнее не понимает или считает, что они мало чего сообщают о разработчике. Вы как считаете?

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

      Если понимаем, что в этом направлении можно показать, то и делаем.


      1. ReklatsMasters
        25.07.2017 20:49
        +2

        Количество звёзд гитхаба показывает количество лайков у репа, количество других разработчиков, которые оценили вклад и которым понравился этот реп / модуль / etc. С другой стороны это не помогает оценить качество кода, т.к. реп может набрать 100+ звёзд и не развиваться несколько лет.


        Может просто показывать Pinned repositories из профиля? Или ещё популярные репы, в которые слал PR. Например, есть есть коммиты в ядро линукса, этом стоит поделиться


      1. vedenin1980
        26.07.2017 11:35
        +6

        Вы как считаете?

        Я не могу судить адекватно, так как у меня 3k звезд и 17k рейтинга на SO :), но на мой взгляд как первый показатель о вовлеченности разработчика в OpenSource и SO. На моей текущей работе (крупная международная фирма в Германии) несколько человек подходило и спрашивало "это ты тот новый русский чувак с большим рейтингов в SO?" при том что в офисе тысяча человек, то есть на репутацию и звезды часто смотрят и очень внимательно.


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


        А вот такой показатель как вклад может не очень хорошо отражать реальную работу в OpenSource, так как был у меня мелкий проект где я делал много десятков push'eй ежедневно (требовался сильный рефакторинг и т.п.), а в другом куда более важном проекте делал один большой и важный коммит в месяц.


        Под ранком SO вы подразумеваете общую репутацию пользователя? Но ведь во внешнем мире она мало что скажет, разве нет?

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


        Потом, нам не нужны агрегированные показатели, нам важен рейтинг именно как разработчика в тех или иных технологиях

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


        На мой взгляд, рейтинг SO и звезды github'а тоже были бы полезны для первой оценки программиста (для второй все равно надо идти и смотреть профайлы)


        1. karaboz
          26.07.2017 12:28
          +1

          Благодарю за развернутый ответ!


        1. apro
          27.07.2017 02:49
          +1

          но на мой взгляд как первый показатель о вовлеченности разработчика в OpenSource и SO

          Рейтинг на SO нивелируется элементарными ответами на элементарные вопросы в самом начале "хайпа" той или иной технологии. Типа такого вопроса и ответов.


          Поэтому для SO важнее сколько ответов и по каким темам, чем его попугаи.


      1. minamoto
        26.07.2017 13:12
        +1

        У SO есть еще общие оценки, которые показывают понятные данные, а не ранк в SO-шных попугаях. Например: «Влияние: ~123k людей затронул», «репутация: в лучших 9% за всё время». Но репутация сайтозависима, т.е. быть в 10% лучших на ru.stackoverflow и на stackoverflow.com — это две большие разницы, так что, наверное, не очень показательный параметр.


        1. vedenin1980
          26.07.2017 14:15
          +2

          «Влияние: ~123k людей затронул»

          С влиянием там другая проблема, у меня сейчас влияние на SO: 4.5m, потому что я написал ответ на очень популярный вопрос, которому много много лет, в котором было 4.5 миллиона визитов. Естественно, мой ответ висел не так долго и прочитало его намного, намного меньше людей. Там конечно есть ограничение, что влияние учитывается только после нескольких плюсов за ответ, но все равно влияние очень сильно зависит от древности вопроса на который отвечаешь и очень легко "накручивается", так как ты получаешь в плюс все просмотры вопроса на который отвечаешь за все время.


          1. minamoto
            26.07.2017 15:47
            +1

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


  1. griganton
    25.07.2017 19:21
    +3

    Ну ра такая пьянка, то и Kaggle прикрутите :)


    1. karaboz
      03.08.2017 13:06

      Записали в список потенциальных сервисов на подключение, спаисбо!


  1. Labadabadubdub
    26.07.2017 13:54

    Возраст и стаж: 8 лет и 6 месяцев опыта работы

    С первого класса на JS!


  1. raiym
    26.07.2017 14:32
    +1

    Спасибо за работу) выглядит круто
    С успехом приявзал SO и Github. Но гитхаб не отображается на странице. Как сделать чтобы отобразилось?


    1. karaboz
      27.07.2017 13:53

      У вас на GitHub 0 репозиториев: https://github.com/raiym. А мы отображаем блок гитхаба только если есть хотя бы один репозиторий. Почему у вас так? Вкладов-то у вас много, а репозиториев ни одного. Удалили их все или как? Мы можем понять по АПИ, к каким языкам вы имеете отношение только через ваши репозитории (собственные или форкнутые). Напрямую через ваши вклады (contributions) АПИ не позволяет смотреть.


      1. 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


        Это репозитории, которые я создавал сам (ничего не удалял). Я создал организации на гитхабе и перенес репо туда. (мне кажется, вполне стандартная ситуация).


        1. raiym
          27.07.2017 14:07

          Видимо можно получить список организаций в которых участвует юзер и потом получить список репо этих организаций. (https://developer.github.com/v3/orgs/)


          1. karaboz
            27.07.2017 15:34
            +2

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


            1. raiym
              27.07.2017 15:39

              Супер!


              1. karaboz
                03.08.2017 13:11

                Кажется, у нас получилось, смогли учитывать вклады как в свои репозитории, так и в те, которые находятся в организациях пользователя. Проверьте, пожалуйста, этот человек похож на вас? (=

                https://github.com/raiym

                raiym: 610 вкладов в 10 репозиториев, связан с языками:
                PHP • Dart • HTML • JavaScript • Java


                1. raiym
                  03.08.2017 13:55

                  karaboz
                  Да, это я) Спасибо!
                  А как сортируется языки? Я думаю, что у меня больше всего вклада в Java (в том числе Android) и PHP. А Dart только один репозиторий, но он на втором месте.


                  1. karaboz
                    03.08.2017 19:00

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

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


  1. neosapient
    26.07.2017 17:17
    +2

    Жду статьи, как вывести рейтинг с рутрекера и линкедина на Круге без vpn и загранкомандировок.


  1. alhimik45
    26.07.2017 18:12

    Что-то ключница у вас сломалась. В профиле данные с хабра и тостера показываются.


    Скрин

    image


    1. karaboz
      27.07.2017 13:55

      Хм. Сейчас проверил, всё ок и у остальных, и у вас лично. Наверное какая-то проблема со связью просто была. Мы ничего не выкатывали нового с момента анонса.


      1. alhimik45
        27.07.2017 18:31

        Разобрался, у меня uBlock блокировал блоки из-за наличия social в названиях классов


  1. blackst0ne
    02.08.2017 11:17

    Есть ли планы добаления GitLab?
    У меня больше активности на gitlab.com, чем на github.com

    Спасибо.


    1. karaboz
      02.08.2017 14:25

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