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

Одна из распространённых ошибок — попытка работодателя отфильтровать кандидатов по профилям GitHub. Многие по-прежнему думают, что можно оценить способности разработчика, взглянув на его вклад в проекты с открытым исходным кодом. Например, в последнем списке вакансий на Hacker News куча объявлений с просьбой указать профиль GitHub в своём заявлении о приёме на работу.

Есть несколько правильных статей, почему нельзя требовать от кандидатов профили GitHub. Особенно рекомендую «Этика неоплачиваемого труда и сообщество Open Source» и «Почему GitHub — не резюме». Обе статьи отлично объясняют причины, почему при найме не следует спрашивать о вкладе в свободные проекты. Но я не о том, что это неэтично или что GitHub не слишком подходит для демонстрации проектов.

Я о том, почему эти профили просто малополезны.

Разреженность данных


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



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

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

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

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

Для примера взгляните на график по проценту разработчиков на GitHub с определённым количеством фоловеров:



Получить количество коммитов из GitHub API сложно [1], так что я привожу количество фоловеров, у которых похожее распределение. Если вы введёте свой userid на странице статьи, то получите мини-отчёт, на какой позиции находитесь.

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

Минус в том, что если у подавляющего числа разработчиков нет данных в публичных профилях, то эти профили нельзя использовать для фильтрации кандидатов на работу. У 83% нет коммитов за прошлый год, а у 88% нет фоловеров. Это не значит, что они плохие разработчики. Просто у них нет нет вклада в проекты open source, чтобы похвастаться.

GitHub показывает только вклад в open source


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

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

Я всегда считал, что требовать предоставить примеры коммитов open source при поиске разработчиков в проект с проприетарным кодом — это верх лицемерия. Это напоминает компании, которые требуют рекомендации, но сами запрещают выдавать рекомендации бывшим сотрудникам. Если вы не разрешите человеку писать проекты с открытым исходным кодом, то нет смысла требовать наличия таких проектов для получения работы.

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

Большинство проектов GitHub не впечатляют


Даже у той малой части разработчиков c проектами на GitHub большинство проектов не слишком впечатляют.

В наше время на многих курсах по программированию и в университетах от студентов требуют создавать репозитории GitHub в рамках учебной программы. Хотя я полностью поддерживаю обучение новых программистов навыкам управления версиями, но проекты, которые при этом создаются, не говорят мне ничего кроме того, что они закончили курс. К примеру, на GitHub около 190 000 репозиториев с названием "datasciencecoursera".

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

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


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

В качестве примера взгляните на Github-профиль Stichpunk:



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

Но это профиль не настоящего человека. Он создан авторами сериала «Кремниевая долина» для эпизода «Табы против пробелов»:


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

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

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

Интервьюеры не проверяют профили GitHub


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

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

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

«Несмотря на шумиху о том, как open source помогает вашей карьере и что github==резюме, у меня только в 2 из 50 интервью кто-то смотрел мой код» — Дэн Луу

Дэн Луу входит в топ-1000 по количеству фоловеров на GitHub. По крайней мере, мой опыт не объясняется только относительно скромным портфолио на GitHub.

Или вот на hftguy.com один разработчик изучал аналитику GitHub после прохождения множества собеседований — и обнаружил, что его проекты зашёл посмотреть только 1 человек (и это может быть он сам во время проверки):

«После дюжины телефонных собеседований (1 разработчик за звонок) и нескольких очных (от 4 до 7 интервьюеров) мой профиль посмотрели только один раз. Вывод: никого не волнует GitHub. Никто не будет его смотреть»

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

Сноска 1
На GitHub нет API, чтобы получить статистику по активности за последний год. Судя по всему, выдаётся временная шкала в SVG (вроде такой), которую можно распарсить. Я почти справился с этим хаком для данной статьи, но упёрся в некоторые ограничения CORS по загрузке этого в браузере. Можно было написать прокси для запросов, но это уже превращалось в маразм, так что я выбрал вариант с фоловерами. ^

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


  1. x512
    11.03.2018 20:44

    Забавно, что статья так подробно описывает количественные характеристики (и вполне логично находит их бесполезными) и обходит молчанием качественные. К примеру, всего один, но весомый PR в репозиторий с серьезным code review позволит многое сказать о кандидате, начиная от умения разобраться в чужом коде до способности взаимодействовать с другими разработчиками.


    1. PastorGL
      11.03.2018 21:06

      А этот самый «весомый PR» в профиле довольно непросто найти. Только если специально заморочиться, но в статье же прямо указано, что профили и так никто не смотрит.

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


      1. Gemorroj
        11.03.2018 21:54

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


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


        1. igor_suhorukov
          12.03.2018 09:51

          Согласен, что это скорее исключение, когда изучают твой профиль на github. Но есть автоматизированные HR системы типа amazinghiring и они раздражают. Делаешь крупный pull request и к тебе в почтовый ящик начинают валиться десятки писем спама. Причем проекты такие, что даже если бы был безработный не пошел бы туда.

          Еще показателен социальный эксперимент мой профиль имеет всего 16 followers за 5 лет хотя у меня много проектов и являюсь контрибьютором даже в spring/spring-boot, а профиль моей девушки собрал 3 подписчика за неделю при минимальном вкладе.


      1. Areso
        11.03.2018 22:05

        Нанимая людей, смотрел профили всех кандидатов (если они были предоставлены). Если ЯП незнаком, пытался понять, что программа делает и какую задачу она решает. Это было неплохим подспорьем, чтобы завязать беседу.
        Сам предоставляю профиль, чтобы показать, какими технологиями и на каком (примерно) уровне владею, но в общем-то уже свыкся с мыслью, что это лишь пункт в чек-листе (наличие непустого профиля на GH — есть, высшее — есть, опыт работы — есть...) и не более того.
        Но да, большинство из того, что лично у меня выложено не имеет никакого отношения к моей работе (разве что к фрилансу), а текущая работа хоть и без NDA, зато с передачей смежных прав компании и ком.тайной (хотя где не указано, что это ком.тайна, значит это не ком.тайна). Предыдущая работа тоже не позволяла что-либо выкладывать на GH — другой стек, бинарные форматы, никакой версионности, в общем страшный сон и малопопулярный язык, а код прибит гвоздями к модели данных, без которой он представляет мало смысла и практически 0 ценности.


      1. Alex_ME
        11.03.2018 22:14

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


      1. lany
        12.03.2018 07:29

        Я бы в резюме явно написал «контрибутил в такие-то и такие-то проекты, список моих коммитов в этих проектах вот по ссылке». Разумеется, выбрав только наиболее значительные и релевантные планируемому месту работы, чтобы сэкономить время потенциальному работодателю.


    1. Yavanosta
      12.03.2018 14:57

      позволит многое сказать о кандидате

      Но никто его не посмотрит.


  1. Areso
    11.03.2018 22:12

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


  1. Moxa
    11.03.2018 22:42

    найс, я оказывается вхожу в топ 0,15%, но с поиском работы это никак не помогло, кажется только один раз хедхантер заинтересовался, что у меня коммиты на гитхаб каждый день


    1. TimsTims
      12.03.2018 09:54
      -1

      заинтересовался, что у меня коммиты на гитхаб каждый день
      И сделал вывод: он каждый день сидя на работе занимается другими проектами open-source…


      1. 0xd34df00d
        12.03.2018 14:01

        Почему сидя на работе, а не дома после работы?


        1. tyomitch
          12.03.2018 15:18

          Да даже если и на работе после работы?


          1. 0xd34df00d
            12.03.2018 15:34

            Так если дома после работы, то в чём вопрос?


        1. TimsTims
          12.03.2018 19:18

          Почему сидя на работе, а не дома после работы?

          Потому-что чтобы понимать HR'ов, одной логики мало.


          1. 0xd34df00d
            12.03.2018 19:33

            Ну и хорошо, сразу нелогичные эйчары отсеются.


            1. TimsTims
              13.03.2018 16:51

              Вы же будете работать не в отделе кадров с нелогичными HR. Их просто нужно пройти «на их условиях», чтобы наконец-то добраться до тех, с кем вам предстоит работать. А то так натягивая сову на глобус можно и на уборщиц жаловаться, что они не логичные и не читали Канта.


              1. 0xd34df00d
                13.03.2018 17:00

                Эйчары чуть больше влияют на нанимаемых работников, чем уборщицы.


  1. Samouvazhektra
    12.03.2018 02:06

    Странная статья… прежде всего наличие реп на гит(хаб|лаб)|битбакет говорит о том что чел хотябы знает что такое гит. Во-вторых — можно посмотреть его код. Если есть свои репо которые развиваются, это +, есть PR, еще +. Количество фолловеров и даже звездочек действительно не самый показательный критерий, можно просто вести репу типа awesome_xxx_list и нахайпить звёзд, можно зашарить какой-нить финтиперистый патч для драйвера специфической штуки, который нужен паре десятков человек из специфической отрасли.


    1. wladyspb
      12.03.2018 12:39
      +2

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


      1. alix_ginger
        12.03.2018 17:23
        +1

        Что Вы готовы бесплатно работать не по специальности в свободное время!


        1. 0xd34df00d
          12.03.2018 19:33

          А если в свободное время я серьёзно увлекаюсь, не знаю, авиамоделированием, работодатель такой же вывод случайно не сделает?


          1. VulvarisMagistralis
            12.03.2018 21:11

            А если в свободное время я серьёзно увлекаюсь, не знаю, авиамоделированием

            А авиа-компьютер (или как там этот модуль называется) вы ставите в свои модельки?
            А вы сами его программируйте?


            1. 0xd34df00d
              12.03.2018 21:39

              Нет, я только в SolidWorks модельки считаю, с пониманием дела и гидродинамики, для примера. Такое вот моделирование.


  1. apapacy
    12.03.2018 05:00

    Уже второй раз за сегодня читаю мысль о том что создать репозитарий для обучения на github это что-то вроде преступления. Репозитарий на github при оценке сотрудника вполне заслуживает внимания как один из факторов т.к. 1) это реальный код 2) это история коммитов.


    1. VolCh
      12.03.2018 08:24

      Это может быть учебный пример или тестовое задание с искусственными ограничениями типа «не использовать сторонние библиотеки/фреймворки».


    1. Druu
      12.03.2018 14:06

      > заслуживает внимания как один из факторов т.к. 1) это реальный код

      А вот и нет. Код на гитхабе — это код, написанный человеком для интересной ему задачи вне ограничений временных рамок. Или, наоборот — это может быть просто тяп-ляп из разряда пощупать какую-нибудь библиотеку/фреймворк/технологию. Совершенно сферическая в вакууме ситуация, не имеющая отношения к реальным, рабочим условиям. А потому и код, который человек будет писать на работе, скорее всего, от кода на гитхабе будет отличаться кардинально. Особенно если на гитхабе репозиторий с кодом на хаскеле, а на работе будет php.


      1. VulvarisMagistralis
        12.03.2018 14:36

        А вот и нет. Код на гитхабе — это код, написанный человеком для интересной ему задачи вне ограничений временных рамок. Или, наоборот — это может быть просто тяп-ляп из разряда пощупать какую-нибудь библиотеку/фреймворк/технологию. Совершенно сферическая в вакууме ситуация, не имеющая отношения к реальным, рабочим условиям.


        Разумеется, рабочим условиям не соответствует. Но выводы все же сделать можно.

        Если это тяп-ляп и человек его не стесняется показывать работодателю потенциальному — это говорит о недостаточной адекватности (или чрезмерной романтичности; безалаберности) такого человека.

        Если код вылизанный — это говорит о том что человек способен вылизать код. Понимает как это делать. Способен вылизать код далеко не каждый.


        1. Druu
          12.03.2018 15:05

          > Но выводы все же сделать можно.

          Почему бы не делать их по навыкам вышивания крестиком тогда?

          > Если код вылизанный — это говорит о том что человек способен вылизать код. Понимает как это делать. Способен вылизать код далеко не каждый.

          Ой, да ладно вам. 90% «невылизанного кода» не вылизано либо по причинам лени, либо по причине «дедлайн вчера», но никак не из-за того, что программист не понимал, как нужно вылизать код.


          1. 0xd34df00d
            12.03.2018 15:11
            +1

            90% «невылизанного кода» не вылизано либо по причинам лени, либо по причине «дедлайн вчера», но никак не из-за того, что программист не понимал, как нужно вылизать код.

            Citation needed.

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


          1. VulvarisMagistralis
            12.03.2018 15:13

            Почему бы не делать их по навыкам вышивания крестиком тогда?


            Гитхаб будет прекрасным дополнением к собеседованию.

            не вылизано либо по причинам лени


            Вы хотите сказать лень не влияет на оценку рабочих качеств человека?

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


            Не соглашусь.
            Принципы SOLID взять хотя бы. Не каждый понимает их пользу и умеет применять.

            Нельзя в одночасье научиться.
            Ты или практикуешься в хорошем коде. Или не умеешь его писать.


            1. Druu
              12.03.2018 15:21

              > Принципы SOLID взять хотя бы. Не каждый понимает их пользу и умеет применять.

              Это как раз хороший пример — принципы элементарны, объясняются за 5 минут. Не исполнять их можно _исключительно_ из-за лени и нехватки времени. Других причин просто нет (ну еще отсутствие необходимости, в определенных случаях).

              > Вы хотите сказать это не влияет на его рабочие качества?

              Это говорит о том, что вылизанный на гитхабе код никакой полезной информации не дает. Невылизанный, впрочем, тоже.


              1. VulvarisMagistralis
                12.03.2018 15:35

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


                Эти принципы не просто же красивый код ради красоты.

                Если твой код не одноразовый, если тебе с ним самому еще работать, то SOLID — это экономия твоего же собственного времени.

                Без практики ты не сможешь декомозицию своего кода в SOLID провести вот так запросто на раз плюнуть.

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

                Ты то — что ты пишешь здесь и сейчас.
                Практика — это и есть способ повышения квалификации. Единственный способ. Другого способа как практиковаться — человечество в обучении и не придумало до сих пор.

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


                1. Druu
                  12.03.2018 18:52

                  > Если твой код не одноразовый, если тебе с ним самому еще работать, то SOLID — это экономия твоего же собственного времени.

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

                  > Я не верю, что человек не крутой программист только потому, что ему некогда.

                  А зря. Человек вообще практически всегда не крутой Х, потому что лень/некогда.


                  1. VulvarisMagistralis
                    12.03.2018 19:01

                    А зря. Человек вообще практически всегда не крутой Х, потому что лень/некогда.


                    Сформулируем иначе.
                    Человек не меняется в одночасье.
                    И если у него до меня хороший код, то есть надежда что после того как я его найму — код останется все таким же хорошим.
                    Если у него до меня плохой код, то надежда на то, что его код мгновенно станет крутым — глупа.


                    1. Druu
                      12.03.2018 19:18

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

                      Было сегодня время/желание написать хороший код — написал. Не было — не написал. И человек не менялся при этом никак.

                      Люди, код которых _преимущественно_ хороший (чаще пишут хороший код, чем другие, при прочих равных) — просто более старательные и с более сильной волей, в первую очередь.

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


                      1. VulvarisMagistralis
                        12.03.2018 19:25

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


                        Хороших программистов (как и хороших специалистов в любой сфере) — меньше, чем плохих (посредственных).

                        Это совершенно нормально.

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

                        Но не становятся фактически. Почему то у большинства чего-то не хватает. Усидчивости. Абстрактности ли мышления. Не знаю.

                        Что именно мешает — лень или пиво или девушка бросила или он больше любит туризм, чем работу — работодателю не интересно.


                        1. Druu
                          13.03.2018 03:17

                          > Хороших программистов (как и хороших специалистов в любой сфере) — меньше, чем плохих (посредственных).

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


                      1. 0xd34df00d
                        12.03.2018 19:39

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

                        Да.

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

                        Нет, передёргиваете.

                        Было сегодня время/желание написать хороший код — написал. Не было — не написал. И человек не менялся при этом никак.

                        А если человек никогда не писал хороший код? У него просто никогда нет времени, или он просто не умеет? И важно ли это различие?

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


                        1. Druu
                          13.03.2018 03:22

                          > А если человек никогда не писал хороший код? У него просто никогда нет времени, или он просто не умеет? И важно ли это различие?

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

                          > у кого есть и навык, и время

                          У практически любого человека с опытом в несколько лет есть и то и другое.


                          1. VulvarisMagistralis
                            13.03.2018 05:56

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


                            Я видал людей и с семилетним опытом, фактически являющихся джунами.


                          1. 0xd34df00d
                            13.03.2018 07:03

                            Вы живёте в очень радужном и счастливом мире, я искренне вам завидую.


              1. Naglec
                12.03.2018 15:44

                Это как раз хороший пример — принципы элементарны, объясняются за 5 минут. Не исполнять их можно _исключительно_ из-за лени и нехватки времени. Других причин просто нет (ну еще отсутствие необходимости, в определенных случаях).


                Принципы элементарны, а грамотно применять их весьма сложно.


      1. apapacy
        12.03.2018 17:56

        Ну я надеюсь что человек которы будет смотреть на репозитарий вполне разбереться с этим всем. Если код в репозитарии плохой то 1) претендент может его не показывать это же не как раньше есть ли у Вас родственники за границей и нужно отвечать правдут т.к. все равно будет проверяться 2) я лично не верю в эти оегенды что тут у меня код плозой т.к. я торопился и все такое а вообще то у меня код белый и пушистый. Да и стиль работы он не меняется от языка к языку, от работы к работе.


  1. saboteur_kiev
    12.03.2018 05:40

    Одна из распространённых ошибок — попытка работодателя отфильтровать кандидатов по профилям GitHub.


    «Несмотря на шумиху о том, как open source помогает вашей карьере и что github==резюме, у меня только в 2 из 50 интервью кто-то смотрел мой код» — Дэн Луу

    Так я не понял — проблема есть или ее нет?
    Ведь судя по данным из этой же статьи — ни разработчики ни работодателями не смотрят на профили в github, за крайне редким исключением.


    1. ftretyakov
      12.03.2018 13:54

      Может интервьюеры, которые собеседовали Дэна Луу, не совершали распространенных ошибок?


    1. somethingSomethingSomethi
      12.03.2018 17:09

      Думаю имеется ввиду фильтрование по наличию профиля в GitHub.


  1. 0xd34df00d
    12.03.2018 05:59
    -1

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

    А почему? Он эту тонну кода по работе и по выходным пилил?

    Это подмена понятий. Разговор о том, что из двух человек, у одного из которых примерно такое, а у другого — развитый гитхаб, скорее выберут второго.

    С другой стороны, у Джона Кармака или Джеффа Дина вообще нет профилей GitHub, хотя они оба хорошо известны своей работой в одинаково успешных проектах с закрытым исходным кодом, таких как Doom и Google.

    А у Билла Гейтса и Стива Джобса не было высшего образования. Должно ли это опрадывать каждого 17-летнего лба, который вместо упарывания фундаментального матана идёт ваять сайты?

    Кстати, у id Software куча их старых наработок почему-то выложена в опенсорс.


    1. siziyman
      12.03.2018 10:16

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


      1. Crafter2012
        12.03.2018 11:18

        Обычно так считают, только те кто что-то выкладывает на гитхаб. Остальным пофиг. Наверно здесь замешано какое-то когнитивное искажение.


      1. 0xd34df00d
        12.03.2018 14:02

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


        1. siziyman
          12.03.2018 14:07

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


          1. 0xd34df00d
            12.03.2018 14:16
            +2

            Если бы мне нужно было выбирать юриста, я бы выбрал того, который в свободное время поддерживает свои знания в актуальном состоянии в том или ином виде.
            Если бы мне нужно было выбирать хирурга или иного подобного специалиста, я бы выбрал того, который в свободное время читает релеватные журналы или ходит на plos/biorxiv. Кстати, не только я, это мнение достаточно распространено и среди людей вообще, и среди врачей в частности.

            Опять же, от программиста никто не ждёт, что он придёт в свободное время в вашу компанию и будет писать код продакшен-качества с продакшен-ответственностью за просто так.


            1. siziyman
              12.03.2018 14:21

              Так программист может читать множество публикаций в свободное время. Вот только читать и практиковать — разные вещи. Да, для программиста (как, кстати, и для юриста, и для хирурга) практиковать — гораздо полезнее, чем просто читать, и понятно, что для последних практиковать скорее всего куда сложнее (и результаты не так публичны как правило), чем для программиста. Вот только от программиста есть именно вот это ожидание «он практикует и выкладывает результаты на публику», которое довольно беспочвенно, на мой взгляд.


              1. 0xd34df00d
                12.03.2018 14:23

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


                1. siziyman
                  12.03.2018 14:27

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


                  1. 0xd34df00d
                    12.03.2018 14:28

                    Потому что другой уровень ответственности.

                    Если бы у юристов был аналог stackoverflow, я бы туда зашёл перед выбором юриста.


                    1. siziyman
                      12.03.2018 14:30

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

                      Опять же, откуда мнение, что человек должен в свободное время заниматься по большому счёту благотворительностью?


                      1. 0xd34df00d
                        12.03.2018 14:34

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

                        Отнюдь, требования те же: развитие в том или ином виде в личное время без обязательств.

                        Опять же, откуда мнение, что человек должен в свободное время заниматься по большому счёту благотворительностью?

                        Выкладывание на гитхаб, возможно, совсем не нужных никому кроме самого автора вещей — так себе благотворительность.


                        1. siziyman
                          12.03.2018 14:39

                          Отнюдь, требования те же: развитие в том или ином виде в личное время без обязательств.

                          Ну так программист ходит себе на митапы и конфы, почитывает хабр. Саморазвитие. Зачем гитхаб?

                          Выкладывание на гитхаб, возможно, совсем не нужных никому кроме самого автора вещей — так себе благотворительность.

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


                          1. 0xd34df00d
                            12.03.2018 14:43

                            Ну так программист ходит себе на митапы и конфы, почитывает хабр. Саморазвитие. Зачем гитхаб?

                            Как практика, потому что на одной теории трудновато.

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

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


                            1. siziyman
                              12.03.2018 14:50

                              Так от юриста вы при этом практики не ждёте, повторяю.

                              Если для вас этот ответ известен (ну или вы уже его нашли и сформулировали достаточно хорошо для себя, т.е. переписывание его в форму «отправить ответ» на SE/SO не будет содержательным челленджем), и вы не ставите целью развивать свою профессиональную репутацию таким образом — это чистой воды альтруизм, да. Чуть более точное слово, чем «благотворительность» в данном контексте. Так вот, альтруизм — прекрасная вещь, которую я в людях в некотором объёме крайне ценю. Но требовать от других альтруизма — очень странная и крайне порочная, на мой вкус, что в личных, что в профессиональных отношениях практика. Особенно требовать его ретроактивно («а почему ты раньше не отвечал на SO?»), а не в будущем.


                              1. 0xd34df00d
                                12.03.2018 14:55

                                Так от юриста вы при этом практики не ждёте, повторяю.

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


                                1. Druu
                                  12.03.2018 15:26

                                  > потому что в ходе гуглежа проблемы наткнусь на его блог или ютуб

                                  Почему вы упорно сравниваете _блог или ютуб_ с _гитхабом_? Это же принципиально разные вещи.


                                  1. 0xd34df00d
                                    12.03.2018 15:35

                                    Потому что это наиболее близкие вещи в рамках аналогии.

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


                                    1. tyomitch
                                      12.03.2018 15:54

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


                                      1. 0xd34df00d
                                        12.03.2018 19:42

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


                                        1. Druu
                                          13.03.2018 03:32

                                          Статья утверждает, что какой там вес (положительный, нулевой, отрицательный) — вопрос сложный. И приводит вполне логичные аргументы в пользу такой точки зрения.

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


                                          1. 0xd34df00d
                                            13.03.2018 07:04

                                            Значит, мы по-разному читаем эту статью. Я её прочитал как утверждающую об околонулевом значении веса.


                                    1. Druu
                                      12.03.2018 18:57

                                      > Потому что это наиболее близкие вещи в рамках аналогии.

                                      Ну как же? Есть гораздо более близкие вещи. Например — сравнивать ютуб/блог с ютубом/богом!


                                      1. 0xd34df00d
                                        12.03.2018 19:40

                                        Ну и останется у вас один Саттер с Ниблером.


                            1. Druu
                              12.03.2018 14:54

                              > То есть, когда я отвечаю на вопрос на SO, я занимаюсь благотворительностью? Или, когда я гуглю решение задачи, которую у меня не получается решить, не нахожу, таки решаю сам за час-полтора и потом трачу 10 минут, чтобы написать решение — это тоже благотворительность?

                              Ну да. А вы не знали? Юристы-консультанты вообще только такими вещами, кстати, и занимаются (платно, конечно).


                          1. VulvarisMagistralis
                            12.03.2018 14:54

                            Ну так программист ходит себе на митапы и конфы, почитывает хабр. Саморазвитие.


                            А кто это знает (если он не пишет и не выступает)?
                            Зачем гитхаб?

                            Чтобы знали.


                            1. 0xd34df00d
                              12.03.2018 14:56

                              На собеседовании видно. Вот спрашивают вас про C++ что-то этакое, а вы вворачиваете, что Саттер на CppCon'15 про это говорил.


                        1. Druu
                          12.03.2018 15:14
                          +1

                          > Отнюдь, требования те же: развитие в том или ином виде в личное время без обязательств.

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

                          Если же человек концентрированно работает весь рабочий день, то никакими гитхабами он просто физически заниматься не сможет (по крайней мере сколько-нибудь значимое время). Мозг — не мышцы, отдыхает медленно.

                          При этом практический выхлоп (в плане саморазвития) у такого человека может быть на порядок выше чем у почесывальщика-яиц с миллионом коммитов.


                          1. 0xd34df00d
                            12.03.2018 15:37

                            Если же человек концентрированно работает весь рабочий день, то никакими гитхабами он просто физически заниматься не сможет (по крайней мере сколько-нибудь значимое время). Мозг — не мышцы, отдыхает медленно.

                            Во-первых, есть выходные.
                            Во-вторых, лично я не могу вечером заниматься гитхабом только тогда, когда на работе весь день я занимался рутинной и важной, но не очень интеллектуальной фигнёй вроде аккуратной выкатки в прод или чего такого. Если я на работе много и продуктивно работал, то почему бы и по приходу домой не поделать что-то? Да, по рабочим дням я вечером больше матана ботаю, чем гитхаб ковыряю, но то такое.


                            1. tyomitch
                              12.03.2018 15:57

                              А представьте, у некоторых людей бывают семья, дети и друзья ИРЛ.


                              1. VulvarisMagistralis
                                12.03.2018 16:00

                                у некоторых людей бывают

                                Скорее наоборот — только у некоторых и не бывает всего этого.


                              1. 0xd34df00d
                                12.03.2018 19:44

                                Представил. И?


                            1. Druu
                              12.03.2018 19:03

                              > Если я на работе много и продуктивно работал, то почему бы и по приходу домой не поделать что-то?

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

                              > Во-первых, есть выходные.

                              Так выходные для отдыха и нужны.


                              1. 0xd34df00d
                                12.03.2018 19:47

                                Мне трудно (похоже, даже труднее, чем среднему человеку) удерживать концентрацию, если задача скучная, неинтересная или по паре других причин для прокрастинации. В тот же выходной я могу с утра встать, потупить часик и сесть за что-нибудь интересное на добрую часть оставшегося дня. Ну там, часов шесть поботать матан, часа три поковырять какой-нибудь идрис, ещё часа три пописать код на плюсах. Изредка прерываясь на еду и прочие потребности, да. Результат, сравнивая с менее нагруженными днями, вполне нормальный.


                                1. Druu
                                  13.03.2018 03:27

                                  Вы путаете причину и следствие ;)

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

                                  Задача же, которая ощущается интересной и веселой — просто и не требует от вас существенного напряжения (потому таковой и ощущается). И после 8 часов расслабления за подобными задачами, конечно, можно и на гитхаб.


                                  1. 0xd34df00d
                                    13.03.2018 07:11

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


                                    1. Druu
                                      13.03.2018 07:32

                                      А с чего вы взяли, что игра с тайпчекером или обмазывание темплейтами, дает большую нагрузку на мозг, чем механический рефакторинг или траблшутинг левых библиотек? Как раз меньшую. Штука в том, что в задачах первого класса вы можете легко выбирать комфортный для себя уровень нагрузки, а в задачах первого — нет (именно в силу механистичности и определенной детерменированности процесса). Траблшутинг библиотеки вынуждает вас концентрироваться по максимуму, так как есть механические отсечки. Ботать же матан любой сложности можно свободно почесывая яйца и витая в облаках (как это и происходит в 99% случаев, если человек не сидит на экзамене по этому матану, более того, в случае матана это «витание в облаках» является даже необходимой частью процесса, в определенном смысле).

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

                                      Про перелет — длительные перелеты это просто физически утомительно.


                                      1. 0xd34df00d
                                        13.03.2018 17:06

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

                                        А про матан — по студентам судите, что ли :)

                                        А перелёт утомляет даже на пару часов. Вчера региональный вот был, и всё равно утомляет.


            1. Druu
              12.03.2018 14:26

              > Если бы мне нужно было выбирать хирурга или иного подобного специалиста, я бы выбрал того, который в свободное время читает релеватные журналы или ходит на plos/biorxiv.

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


              1. 0xd34df00d
                12.03.2018 14:27

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

                Почему?

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


                1. siziyman
                  12.03.2018 14:36

                  Например, потому, что хороший врач-специалист ценит своё время и силы, и сможет получить более чем достаточный объём практики на работе (не важно, self-employed он или в какой-то клинике/больнице/whatever).
                  А если он подрабатывает неформально на стороне — возникают вопросы, а какие проблемы у него есть, что он не может эту практику получать внутри своей работы?


                  1. 0xd34df00d
                    12.03.2018 14:39

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

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


                    1. siziyman
                      12.03.2018 14:42

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


                      1. 0xd34df00d
                        12.03.2018 14:44

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


                1. Druu
                  12.03.2018 14:36

                  > Почему?

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


                  1. 0xd34df00d
                    12.03.2018 14:38

                    Я не врач, но практика не является одним из вариантов саморазвития?

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


                    1. Druu
                      12.03.2018 14:42

                      > Я не врач, но практика не является одним из вариантов саморазвития?

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


                      1. 0xd34df00d
                        12.03.2018 14:44

                        Именно!


              1. TheIseAse
                12.03.2018 14:38

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


              1. extempl
                14.03.2018 08:09

                У нас же тут речь о внерабочей врачебной практике.

                Чего это вдруг?
                Гитхаб для меня — это кодовая база third-party библиотек которые я использую. И если там есть ошибка — мне проще исправить её самому, а чуть позже, по времени, запуллить реквест.


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


            1. Am0ralist
              12.03.2018 16:45

              Для этого для хирургов и врачей придуманы курсы повышения квалификации и конференции.
              А перед этим еще лет 5 ординатуру проходят.
              И делают кучу простых операций для набивки руки.
              А не режут в свое свободное время на дому животных.

              А чтение «релевантной литературы» никак не сделает их лучше в плане хирургии, если рука не верно режет.


          1. TheIseAse
            12.03.2018 14:35

            Потому что консультация юриста не масштабируется, ты её дал один раз для одного человека, а время потратил. А программирование масштабируется — написал один раз, запустить может любой из 7 млрд человек сколько угодно раз.

            Юристы и другие творческие люди тоже делятся своими знаниями — пишут книжки (не очень бесплатно, но довольно дешево), ведут блоги, записывают видео на ютуб.

            А у ученых вообще принято все свои наработки сразу выкладывать в «опен-сорс».


        1. Druu
          12.03.2018 14:11

          > А те, кому это интересно, иногда могут и по выходным этим заниматься, например.

          Почему бы тогда в выходной не выполнить пару тасок по текущей работе? С пользой и (возможно) денежным возмещением?


          1. 0xd34df00d
            12.03.2018 14:18

            Потому что не всегда в рамках этой пары тасок можно изучить и освоить что-то новое.


            1. Druu
              12.03.2018 14:21

              Но давайте тогда уж явно скажем: у нас есть два совершенно разных процесса, назовем их условно «программирование-на-работе» и «программирование-на-гитхабе». Эти процессы похожи лишь внешне, кардинальным образом отличаясь по своей сути. И делать выводы о том, как человек будет справляться с одним из них, исходя из успеха в другом — никакой возможности нет. Возможно там вовсе антикорреляция.


              1. 0xd34df00d
                12.03.2018 14:25
                +1

                Ну так кто считает, что там корреляция — просит гитхаб, кто считает, что нет корреляции — не просит, кто считает, что антикорреляция — снова просит. И все счастливы.

                Только вот когда начинают обосновывать свои решения anecdotical evidence'ами (один мой знакомый лучший программист не имеет опенсорса, поэтому опенсорс вообще не решает) или, ещё лучше, Джонами Кармаками, вот тогда это выглядит как-то странно.


                1. Druu
                  12.03.2018 14:31

                  > Только вот когда начинают обосновывать свои решения anecdotical evidence'ами

                  Но ведь данном случае это как раз логически корректный аргумент.

                  > Ну так кто считает, что там корреляция — просит гитхаб, кто считает, что нет корреляции — не просит, кто считает, что антикорреляция — снова просит. И все счастливы.

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


                  1. 0xd34df00d
                    12.03.2018 14:35

                    Но ведь данном случае это как раз логически корректный аргумент.

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

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

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


                    1. Druu
                      12.03.2018 14:49

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

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

                      > Не вижу логики, если честно.

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


                      1. 0xd34df00d
                        12.03.2018 14:58

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

                        Не, если вы идёте в tweag.io писать на хаскеле, а в гитхабе у вас один пхп, то вряд ли это будет релевантно. Обратная ситуация, кстати, тоже.

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

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


                        1. Areso
                          12.03.2018 17:56

                          Вот именно. На работе я пишу на скриптовом языке, наглухо прибитом к модели данных, а сами файлы с кодом — о ужас — в бинарном формате. Поэтому на гитхабе у меня все, что угодно, кроме работы


              1. KivApple
                12.03.2018 17:22

                Мне кажется, следует рассматривать это иначе. Это всё независимые навыки:
                1) Навык написания кода
                2) Навык вышивания крестиком
                3) Навык самоорганизации для выполнения задач, которые тебе недостаточно интересны
                Написание кода для гитхаба требует только первый навык, написание кода на работе требует сразу первый и третий навык (справедливости ради, третий навык нужен практически на любой работе). Не следует выдавать комбинацию двух навыков за какой-то особый новый навык.

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

                Умение писать хороший код — тоже талант. Если взять случайного человека с улицы без опыта программирования, то скорее всего он не станет тут же писать хороший код ни под угрозами расправы, ни под обещаниями выплаты миллиарда долларов (ну или какой-то более индивидуальный вариант, как создать максимальный уровень мотивации), хотя и будет искренне стараться. Хорошими программистами обычно становятся люди определённого склада ума и после наработки определённого опыта. Профиль на GitHub может дать гарантию, что хоть при каких-то условиях человек может писать хороший код (кто-то не может ни при каких вообще и таких большинство — у них другие таланты). Достаточно ли человек организован, чтобы писать такой код не для удовольствия — уже совсем другой вопрос и к программированию имеет весьма посредственное отношение. Точно такой же навык нужен для практически любой работы.


                1. Druu
                  12.03.2018 19:13

                  > 1) Навык написания кода

                  Вы тут тоже не учитываете, что есть два отдельных, практически не связанных друг с другом навыка: «написание кода на гитхаб» и «написание рабочего кода». Если один из этих двух навыков сильно развит, то это мало что говорит о том, насколько развит другой.

                  > Умение писать хороший код — тоже талант.

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

                  Ну вот возьмем банальный нейминг — абсолютно все программисты знают, что хорошие, годные имена лучше, чем x/y/z, но что на практике? Вы видите кучу говнокода с x,y,z. Трудно ли придумать нормальные имена? Совсем нет. Надо лишь сесть и немного подумать — но нету времени/лень.

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


                  1. Am0ralist
                    12.03.2018 19:23

                    Ну вот возьмем банальный нейминг — абсолютно все программисты знают, что хорошие, годные имена лучше, чем x/y/z, но что на практике? Вы видите кучу говнокода с x,y,z. Трудно ли придумать нормальные имена? Совсем нет. Надо лишь сесть и немного подумать — но нету времени/лень.
                    Вспомнил нейминг в исполнении одного нехорошего человека: i1, i2, i3, i7, i12, i14, i15 и тоже самое для j, k и прочих. Причем часть из них — глобальные, часть локальные (иногда совпадающие с глобальными), часть объявлена и не разу не объявлялась, причем нужно понимать, что некоторые из них использовались в качестве счетчиков в циклах… и нужно понять еще будет она после того, как выйдет из цикла, использоваться или нет.
                    Вот я подозреваю, что если б этот код писался для демонстрации — такой хрени бы не было. А если никто не видит, ага…


                  1. VulvarisMagistralis
                    12.03.2018 19:30

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


                    Разумеется, это разные вещи. Но они связаны одним автором.

                    Если человек может показать шедевр — значит он в принципе способен его сделать. Это плюс.

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

                    Никто не говорит, что только на основании Гитхаба нужно делать вывод о специалисте. Это просто дополнительный плюс.


                    1. Druu
                      13.03.2018 03:37

                      > Если человек может показать шедевр — значит он в принципе способен его сделать. Это плюс.

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


                      1. VulvarisMagistralis
                        13.03.2018 06:02

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


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

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

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

                        Например, сейчас полно «войти-в-айти» окончивших курсы. Но с хорошо подвешенным языком. Лишняя (причем простая) проверка не помешает.

                        Людей с годами опыта, которые пишут только жуткий говнокод и уже настолько к этому привыкли что не могут иначе — тоже полно.


                        1. Druu
                          13.03.2018 07:01

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

                          А кто говорит про «в одночасье»? Вот человек работал 5 лет, допустим. Этого вполне достаточно, чтобы прекрасно понимать, как писать хороший код.

                          > Людей с годами опыта, которые пишут только жуткий говнокод и уже настолько к этому привыкли что не могут иначе — тоже полно.

                          Так еще раз, они пишут говнокод не потому, что не знают, как писать хороший. Вопрос в мотивации, а не в умении.


                          1. VulvarisMagistralis
                            13.03.2018 07:38

                            Так еще раз, они пишут говнокод не потому, что не знают, как писать хороший. Вопрос в мотивации, а не в умении.


                            Первопричина — мотивация.
                            А по факту — не делает и не сделает без навыка.

                            Никого не интересует что у него не так — это его личные проблемы. Индустрия — мотивирует достаточно. Огромнейший спрос на специалистов, хорошие зарплаты.

                            А кто говорит про «в одночасье»? Вот человек работал 5 лет, допустим. Этого вполне достаточно, чтобы прекрасно понимать, как писать хороший код.


                            Видал и с семью годами опыта — пишут говнокод на уровне джунов. Возраст не гарантия.

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


                          1. Neikist
                            13.03.2018 07:43

                            Хаха, видел немало людей с 5-ю годами опыта которые в принципе про принципы написания хорошего кода не слышали, просто как начали писать всю логику портянками на 1к+ строк в событиях UI элементов, так и продолжили. И нет, они так пишут не из за того что ленивые, просто даже не представляют что можно по другому. А уж «страшные» аббревиатуры DRY, KISS, SOLID и т.п. даже не слышали.


                            1. Druu
                              13.03.2018 08:28

                              Я все же склоняюсь к тому, что все они прекрасно понимают. Просто считают, что нафиг не нужны эти ваши DRY с SOLID'ами, и что портянка на 1к+ строк «и так сойдет», вот и все.


                              1. VulvarisMagistralis
                                13.03.2018 08:41

                                нафиг не нужны эти ваши


                                Вопрос-то о навыках.

                                Навык приобретается только с практикой.

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


                                1. Druu
                                  13.03.2018 08:49

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

                                  Вы серьезно считаете, что сесть и придумать нормальное имя для переменной — требует какого-то особого навыка?


                              1. Neikist
                                13.03.2018 08:47

                                Не уверен. По крайней мере про понятия эти они точно не слышали, ну и если они считают что «и так сойдет» — то получается что они считают портянку на 1к+ строк с кучей перемешанной логики, глобальными переменными, смесью кучи уровней абстракции, десятками дублированных кусков хорошим кодом. Вы с ними согласны? Сомневаюсь. И как люди поймут что можно лучше если они другого кода даже не видели и не писали?


                  1. 0xd34df00d
                    12.03.2018 19:50

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

                    Что же так резко меняется между работой и гитхабом, что для гитхаба мотивация есть (что навевает определённые мысли о внутренней мотивации и удовольствии от процесса самого по себе), а для работы она кончается?


                    1. Druu
                      13.03.2018 03:42

                      > Что же так резко меняется между работой и гитхабом

                      Чуть выше по диалогу же:

                      > Почему бы тогда в выходной не выполнить пару тасок по текущей работе? С пользой и (возможно) денежным возмещением?

                      > Потому что не всегда в рамках этой пары тасок можно изучить и освоить что-то новое.

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


                      1. 0xd34df00d
                        13.03.2018 07:12

                        Только здесь вопрос о смене внутренней мотивации к написанию хорошего кода, а там — в классе задач.


                        1. Druu
                          13.03.2018 07:40

                          Так смена класса задач — и есть причина смены внутренней мотивации. В рассматриваемом случае, если бы не поменялась задача, то не поменялась бы и мотивация


                          1. 0xd34df00d
                            13.03.2018 17:07

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


            1. siziyman
              12.03.2018 14:25

              В 6-7 случаях из 10 программисту на работе, на которую он устраивается, не потребуется «что-то новое», ему придётся заниматься унылым и однообразным трудом, который, конечно, интеллектуальный, но вовсе не требует инноваций. Или чего-то нового. Потому изучение и освоение чего-то нового (которое, если что, с наличием кода на гитхабе слабо коррелирует — туда можно выкладывать только унылый CRUD и одноклеточные утилиты) кажется странным требованием при устройстве на работу в этих самых 6-7 случаях из 10.


              1. 0xd34df00d
                12.03.2018 14:30

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


      1. fiftin
        12.03.2018 20:51

        Cейчас абсолютно каждый программист пользуется open source библиотеками в процессе работы. Получается он бесплатно пользуется результатами чьего-то труда и зарабатывает на этом деньги. Поэтому я считаю что каждый программист (если он не конченый жлоб) должен выделить время и внести свой вклад в развитие Open Source. И работодатель должен его в этом поддерживать.


        1. siziyman
          12.03.2018 21:10

          Нет, не должен, и конченым жлобом он от этого не станет.
          Если альтруизм (сюда же опенсорс, благотворительность, всё прочее) начинает подразумевать, формально или неформально, требование от выгодополучателя этого альтруизма тоже проявить альтруизм, притом в той же форме — это уже не альтруизм, а трудовая повинность.


        1. VulvarisMagistralis
          12.03.2018 21:17

          Поэтому я считаю что каждый программист

          У меня есть такой же идейный знакомый. Тоже бьет палкой в грудь за open source
          Когда его начинаешь спрашивать — какой лично он сделал вклад, в ответ: кушать хочется, работать надо, некогда, но вот будет время, то обязательно, мечтаю, хочу помочь.


          1. fiftin
            12.03.2018 21:53

            Значит не такой уж он и идейный


            1. VulvarisMagistralis
              13.03.2018 07:44

              Попробуй ему скажи это — начинает вести себя еще более «идейно». Лично перегрызет глотку Биллу Гейтсу при встрече и молится на икону Линуса Торвальдса.

              И почему то все, кроме него, должны отдать все свои свободные и несвободные ресурсы на дело open source.

              Как доходит до дела — делает такие глаза «я же бедный программист», что хочется ему просто денег дать на пропитание.

              Зайдем с другой стороны. Что сделал для open source лично ты?


              1. fiftin
                13.03.2018 08:56

                Мойкруг говорит что я сделал «2771 вклад в 49 репозиториев» на гитхабе :-D


  1. Blumfontein
    12.03.2018 06:28

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


    Это еще что. github.com/kelseyhightower/nocode Репозиторий без единой строчки кода — 15к звезд.


    1. cl0ne
      12.03.2018 11:19

      Точно так же, если посмотреть на самые популярные репозитории по количеству звёзд, многие из них — это списки или шутки.
      линк на него в этом же предложении на слове «шутки»


    1. tyomitch
      12.03.2018 13:15

      Эта ссылка уже присутствует в статье, и была там с самого начала.


    1. VulvarisMagistralis
      12.03.2018 13:27
      +1

      Это еще что. github.com/kelseyhightower/nocode Репозиторий без единой строчки кода — 15к звезд.

      Уже больше 17к звезд.
      Это так быстро Хабр поднял ему рейтинг?


      1. tyomitch
        12.03.2018 15:44

        Это же перевод.
        Очевидно, что звёзды добавились после написания оригинала, а не после публикации перевода.


        1. VulvarisMagistralis
          12.03.2018 19:38

          Очевидно, что звёзды добавились после написания оригинала, а не после публикации перевода.


          Отнюдь.
          Судя по тому как растут звезды — делаю ставку: завтра будет уже как минимум 18k, к вечеру точно будет.


  1. cheripocker
    12.03.2018 08:18

    Да это обычный хайп, не совсем здоровый, как и все хайпы.
    И обычная ошибка выборки, когда на форумах девелоперов меряются своими репами. Они меряются, да, но наличие репы на гитхабе говорит лишь о наличии репы на гитхабе, ни о чем больше.
    Насчет интервью — всматриваться в чужой код занимает очень много времени, в этом часто нет никакого смысла, тем более делать это самому. Я иногда тыкаю в проект из резюме и прошу кандидата самого рассказать что там было интересного, почему он так считает и т.п. Это куда полезнее имхо.


  1. Telichkin
    12.03.2018 08:58

    Меня очень удивляет, когда работодатель просить показать профиль на Github или выполнить тестовое задание, но при этом сам не имеет публичного Github-аккаунта или отказывается показать свой "закрытый" код. Я понимаю, что есть часть кода, которая содержит уникальные знания, приносящие прибыль. Но также есть инфраструктурная часть, утилиты для разработчиков, тестовые библиотеки, которые не обладают бизнес-ценностью, для меня остается загадкой, почему такой код не выносят на Github или хотя бы не дают с ним ознакомиться во время интервью.


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


    1. un1t
      12.03.2018 11:22

      для меня остается загадкой, почему такой код не выносят на Github

      Это же большой геморой. Ну во первых нужно вытащить код, завязанный на специфику проекта, убрать захардкоженные адреса внутренней инфраструктуры. Привести к такому виду, чтобы проект решал более общую (более абстрактную) задачу. Вынести в библиотеку.
      Во-вторых будут сыпаться всякие issue и пулл-реквесты. Нужно их читать, ревьювить, тестить, рефакторить, мержить. А кто это время будет оплачивать?
      В третьих такой проект уже нельзя будет просто поправить (закостылить), под частные задачи своего проекта. Придется либо писать какое-то общее решение, либо делать форк от своего же проекта.

      хотя бы не дают с ним ознакомиться во время интервью

      Бояться отпугнуть кандидата своим говнокодом. Но это не точно)


      1. greabock
        12.03.2018 11:32

        Бояться отпугнуть кандидата своим говнокодом. Но это не точно)

        Это точно. Я проверял.


        P.S.
        grammar-nazi-mode on
        http://tsya.ru/
        grammar-nazi-mode off


      1. artempikulin
        12.03.2018 15:00

        Как-то Вы однобоко смотрите на ситуацию. Кто-то исходя из своих нужд сделает улучшение в ВАШЕМ проекте или исправит какой-нибудь баг, притом абсолютно БЕСПЛАТНО для Вас. Вам же всего-то надо будет проверить изменения и смержить. Да кстати и мержить Вас никто не заставляет, если Вы считаете что данная фича не нужна. Автор может благополучно оставить ее в своем форке и использовать. Я думаю что review кода все таки занимает куда меньше времени чем его написание и дебаг.


        1. un1t
          12.03.2018 15:35
          +1

          Я смотрю с позиции человека, у которого есть репы на гитхабе. Меня это все порядком утомляло. Если кто-то исправит баг, это редкость, чаще просто зарепортит. А даже если отправит PR, мне не нужно исправление этого бага, т.к. моей системе этот баг не будет вопроизводится. Даже если этот баг будет воспроизводится, то мне это все равно не нужно, т.к. с кодом который завязан на данную репу я уже пару лет не работаю. Даже если это действительно полезный PR, нужно тестить код. Если нет автоматических тестов с настроенной CI, то это муторная работа.

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


          1. KivApple
            12.03.2018 17:29

            Если совсем наплевать на судьбу проекта, то можно просто подтверждать все PR подряд — даже если очередной PR что-то сломает, раз у проекта есть заинтересованные люди, то потом прилетит PR с починкой. Конечно, теряется стабильность, но вы же сами сказали, что вам проект больше не интересен…


            1. un1t
              12.03.2018 20:03

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


  1. Waki
    12.03.2018 09:04

    А как насчет профиля на stackoverflow? Его смотрят?


  1. VulvarisMagistralis
    12.03.2018 09:50
    +2

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

    Я о том, почему эти профили просто малополезны.

    Разреженность данных

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


    Зато это прекрасно работает в обратную сторону.

    Если у человека есть мегакрутой проект с прекрасным исходным кодом — можно оценить его скиллы как отличные. В эту сторону прекрасно работает.

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


    1. un1t
      12.03.2018 11:33
      +1

      Если у человека есть мегакрутой проект с прекрасным исходным кодом — можно оценить его скиллы как отличные. В эту сторону прекрасно работает.


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


      1. tyomitch
        12.03.2018 15:17
        +1

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

        То есть работа у вас может привлечь только такого кандидата, у которого нет ни нынешней работы, ни других оферов?
        Самокритичненько.


        1. VulvarisMagistralis
          12.03.2018 15:29

          То есть работа у вас может привлечь только такого кандидата, у которого нет ни нынешней работы, ни других оферов?
          Самокритичненько.


          Звезды очень мало кому нужны.
          Понятно, что стремно признать, но в 99% случаев нужны обычные рабочие лошадки.

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

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

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


        1. un1t
          12.03.2018 15:45

          То есть работа у вас может привлечь только такого кандидата, у которого нет ни нынешней работы, ни других оферов?


          Как-то вы странно интерпретируете мои слова. Я ничего подобного не говорил.


          1. tyomitch
            12.03.2018 16:13

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


      1. VulvarisMagistralis
        12.03.2018 15:22

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


        Так в этом и смысл хорошего портфолио на Гитхабе
        Значит — портфолио работает на самом деле.


  1. vitos73
    12.03.2018 10:44

    Всегда смотрю Github перед собеседованием, 99% это обычно курсовые работы. Но бывают редкие исключения: случайно обнаружил, что кандидат выложил на Github реальные данные клиента с доступами в БД и админку проекта. Проверил: попал в живой интернет магазин. На работу его конечно не взял, попросил убрать из публичного доступа, но после этого случая Github изучаю детально.


  1. Mabusius
    12.03.2018 11:52

    Гитхаб отлично помогает вырваться из порочного круга «нет работы — нет опыта, нет опыта — нет работы». Сам в свое время правда коммитил в SVN опенсорсной ЦМС, но те успешные модули помогают найти работу до сих пор, даже несмотря на то, что там код был чуть сложнее Hello World.
    Сам считаю, что гитхаб аккаунт обязан как минимум просто быть, потому что иметь опыт разработки и не сталкиваться с гитхабом невозможно. А если не сталкивался, значит и опыт «не очень».


    1. Areso
      12.03.2018 17:58

      Вариант git сервера на своем железе у фирмы не рассматривается?


  1. LODIII
    12.03.2018 13:54
    +1

    Гитхаб это как реклама самого себя (ну как щит на трассе Москва-Рязань где то на 150 км),
    да не каждый посмотрит. Но ежели прятаться серой мышкой — не ходить на конференции, не писать на хабр, не постить на гитхаб — то вполне такая жизнь и сойдет. Но и шансов получить хорошее предложение о работе от этого меньше.
    А выложить на гитхаб какую нибудь примерную копию того то что реально достиг можно уж найти время и в выходные.
    Но кроме гитхаба есть еще codewars, leetcode, hackerrank итп ссылку на которые тоже можно показать в резюме. Там тоже есть история решения задач с кодом.
    Но как уже указали Выше многие особенно hr ни на что из этого не смотрят, как и на резюме и им все приходится рассказывать заново


    1. VulvarisMagistralis
      12.03.2018 14:05

      не ходить на конференции, не писать на хабр, не постить на гитхаб — то вполне такая жизнь и сойдет.


      А когда отдыхать?


      1. Am0ralist
        12.03.2018 14:29
        -1

        А когда отдыхать?
        Работай, негр, солнце еще высоко!


        1. midday
          12.03.2018 15:20
          +1

          Не. Вы не понимаете! Это у некоторых и называется «отдыхать»


          1. 0xd34df00d
            12.03.2018 15:40

            Кажется, в вашем комментарии слышны нотки сарказма и лёгкого стёба.


          1. Am0ralist
            12.03.2018 16:38

            Да без проблем! Главное, не надо настаивать, что это единственный приемлемый способ отдыха у всех IT-ников, в противном случае выставляя людей непрофессионалами какими-то…
            PS. По аналогии, это как на основе того, что у тебя нет девушки, позиционировать это как единственно верным способом жизни. Хотя все аналогии лживы, да.


  1. acmnu
    12.03.2018 16:27

    Мы наняли студента у которого на GitHub был проект собственной 2D игрушки на C. Оказались человеком весьма довольны.


    1. Areso
      12.03.2018 18:02

      И почему я не студент…


  1. greabock
    12.03.2018 16:41

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


    Но вот отсутствие активности в опенсорс — это конечно же не показатель.


    Это как наличие диплома или сертификата.
    Кто-то является, допустим, сертифицированным специалистом zend/oracle/etc, а кто-то нет.
    Наличие сертификата подтверждает навыки.
    Отсутствие сертификата, не говорит ни о чем, кроме того, что сертификата нет )


    Если продолжать сравнение с дипломом, то гитхаб — это как если бы вы могли не только оценки в дипломе посмотреть, но и заглянуть в "логи" всех курсовых и лабораторных работ.


    P.S.
    Написал это и вот теперь думаю… стоишь такой на остановке, а там объявления расклеены:


    В помощь начинающему разработчику:


    • Пулл-реквесты в популярные репозитории (от 5000р)
    • Готовые опенсорс проекты (от 25000р)
    • Профильные посты на хабре (от 1000р)
    • Поднятие профиля на stackoverflow (по договору)

    И "отрывашки" по ветру развеваются...


    1. Areso
      12.03.2018 18:07

      Смешно, но правда
      https://m.habrahabr.ru/post/350842/
      Пока бесплатно (спешите, предложение ограничено!)


  1. BelikovDmitrii
    12.03.2018 17:09

    Тотальная безграмотность: для того, чтобы нанять разработчика нужно поговорить с ним примерно 15 минут. Для квалифицированного специалиста этого времени будет достаточно, чтобы понять «да» или «нет». Все ваши методики по гитхабу, резюме и гадания на кофейной гуще (вы же обычно этим занимаетесь) не работают, если вы не понимаете языка на котором пытаетесь разговаривать. Это работает, а ваши подходы нет и не будут. Надеюсь, когда-нибудь эта бесполезная профессия будет иметь место быть только для найма сотрудников требования к которым можно уложить в 4 простых пункта, написанных в бумажке. Все современные HR подходы не работают. Вы не видите прямо перед носом, потому что не знаете языка на котором пытаетесь разговаривать. Для вас слово php в резюме, это просто слово. Для меня это 100500 часов перед монитором, наизусть вызубренный php.net, и приличное количество проектов, и у меня таких слов более 20 в резюме. Но для вас это пустой звук — буквы какие-то не понятные, дальше пойду.


    1. Areso
      12.03.2018 18:09

      PHP он ведь тоже весьма разный бывает. Может вы и собеседуемый по-разному эти часы тратили?


      1. BelikovDmitrii
        12.03.2018 18:27

        А спросить религия не позволяет?


    1. guai
      12.03.2018 19:50

      Для меня это 100500 часов, которые можно было потратить с большей пользой :)


      1. BelikovDmitrii
        12.03.2018 21:36

        Ты скорее всего мне не поверишь, но нет :D


    1. 0xd34df00d
      12.03.2018 19:53

      А какие у вас 20 слов в резюме?

      У меня-то только modern C++ и Haskell. Можно, конечно, написать C++11, C++14, C++17, но это тупо. Можно написать Boost, но не перечислять же каждую библиотеку.


      1. BelikovDmitrii
        12.03.2018 21:31

        Вы зачем к случайным цифрам привязались?


        1. 0xd34df00d
          12.03.2018 21:40

          Я к оценке снизу привязался, и мне стало интересно, что можно на таком уровне выучить в течение, скажем, лет 20-30.


          1. BelikovDmitrii
            12.03.2018 23:36

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


            1. 0xd34df00d
              13.03.2018 02:40

              Один только C++ у меня занял уйму времени, и я всё ещё не могу сказать, что я его знаю.

              Да, одну и ту же фундаментальную концепцию легко обобщить на использующие её вещи, но это ж не так интересно.


  1. ftdgoodluck
    12.03.2018 17:23

    Заголовок некорректен до ужаса.
    Статья отвечает на вопрос «почему github не должен быть истиной в последней инстанции».

    Из личного опыта: искали в проект Rust-разработчиков, и когда стандартные HR-овские подходы уже ничего не давали – просто запарсили гитхаб и нашли несколько очень достойных людей. Сделали оффер – и вот уже больше года трудятся.


    1. Areso
      12.03.2018 18:11

      А локацию как парсили? Ее там мало кто указывает, особенно, если это не столицы.


      1. barabanus
        13.03.2018 18:48

        Нашли по комментариям кириллицей =)


        1. Areso
          13.03.2018 19:25

          Кириллица, конечно, повышает шансы, но нужен был человек в стране или в городе? Страна большая, а с соседями — так вообще))


  1. Methos
    12.03.2018 23:23

    И это правда.

    В 99% случаев моё резюме не смотрели.

    Почти всем HR или тех-директорам пофиг на то, что сделал человек в прошлом.

    Стандартная фраза сейчас в моде такая — «выполните тестовое задание».

    Всё.


    1. VulvarisMagistralis
      13.03.2018 06:09

      Для джунов — да, так и есть.
      Резюме становится важнее только по мере повышения квалификации.

      Еще вариант:
      Вы ходите на вакансии, куда запросто залетают «войти-в-айти», умеющие болтать языком и придумывать резюме, и их нужно как-нибудь отсеивать. Отсюда и тестовое.


      1. Methos
        13.03.2018 20:57

        Ага, а ещё они умеют делать видимость работы и работать на результат?

        И они это всё придумали?


  1. michael_vostrikov
    13.03.2018 11:29

    Почему наличие Гитхаба это обязательно работа в свободное время в других проектах? Почему обязательно кто-то должен смотреть на звезды и фолловеров?

    Вот сделал ты тестовое задание, возьми и выложи. Часто это даже в требованиях есть — выложите задание на Гитхаб. Если совсем опыта нет, можно лабы с универа выложить. Можно потратить специально несколько часов, чтобы что-то простое сделать. Неужели за N лет опыта не найдется несколько часов, чтобы сделать то, что можно показать другим в качестве доказательства своих навыков?
    Если кому-то из работодателей этого будет недостаточно — ну так может оно и к лучшему.


  1. mortimoro
    13.03.2018 20:07

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

    Была как-то мысль забить гитхаб примерами кода именно в качестве портфолио, но руки так и не дошли. Так что в моем случае, пустой гитхаб — это показатель того, что нет времени на позерство ))


  1. ghost404
    13.03.2018 22:46

    Недавно, на собеседовании в одну очень известную компанию, спросили знаю ли я SOLID.
    И это при том, что я главный контрибьютер проекта Clean Code PHP и автор Русского форка.
    Даже как-то обидно стало на минуточку.


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