GitHub – крупнейшая библиотека, созданная разработчиками для разработчиков. Главная прелесть хостинга в его идеологии: отдавать также легко, как и получать. Здесь можно найти самые разные IT-проекты как легальные, так и не совсем. Пользуясь открытостью, кто-то роется в исходниках в корыстных целях – чтобы потом использовать их уязвимости для банального шантажа, а кто-то с помощью репозиториев прокачивает свои профессиональные скилы. Давайте разберемся, как не закопаться в миллионах источников и какие перки можно заполучить.

То, что знания не принадлежат лишь узкому кругу избранных, уже признают и транснациональные корпорации. На основе одного исходного кода вырастает несколько новых – так и развиваются технологии, которыми в итоге начинает пользоваться весь мир. Такие гиганты, как Apple, Google, Facebook, Microsoft – разместили и продолжают постоянно обновлять свои репозитории на GitHub. Да что уж, если даже Министерство обороны США заводит хранилище на хостинге https://github.com/Code-dot-mil/code.mil с лозунгом «Помогите нам стать лучше». И каждое новое предложенное полезное решение – это очередной выученный урок в карьере разработчика.

Формат open-source проектов хорош тем, что позволяет участникам общаться также, как мы делаем это в социальных сетях. Помните про принцип соревновательности! К примеру, некто постит вариант реализации идеи. Другие участники, на интересе, либо желая покуражиться предлагают хаки. В итоге – сообщество плюсует авторам лучших решений.

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

В ноябре 2018-го GitHub отчитался, что количество созданных репозиториев на хостинге превысило 100 миллионов. Чтобы не запутаться в этом многообразии и научиться находить нужную информацию, в первую очередь точно формулируйте запрос в строке поиска. Например, желая узнать о том, как заставить систему быть самостоятельнее в разработке решений, так и пишите: «machine learning».

Копаться в репозиториях определенно стоит. Хотя бы для того, чтобы быть в курсе последних тенденций и понимать, почему те, или иные библиотеки, или подходы становятся популярными. Понятно, что каждая специализация – это отдельный клондайк знаний. Но есть разделы, на которые стоит обратить внимание каждому разработчику. Сейчас в топе front-end и back-end JavaScript, создание ПО для машинного обучения и мобильных приложений. Среди лучших open-source проектов – тех, в которых участвуют наибольшее количество разработчиков – то, что облегчает жизнь программиста путём редактирования кода, автоматизации, контейнеризации или документации. Среди них Visual Studio Code (19 тыс. контрибьюторов), React Native (10 тыс.) и TensorFlow (9,3 тыс.).

На GitHub можно найти интересные, или вернее сказать – красивые – реализации криптографических решений. Кроме того, хостинг помогает разобраться в работе с Solidity – руководства пользования и подробная документация этого языка доступна в том числе и на русском. Плюс – полезно было ознакомиться с примерами смарт-контрактов, чтобы понять, как это выглядит на практике. «Подсмотрев» что-то у коллег, и, вдохновившись несколькими проектами, ваш мозг наверняка сможет родить собственную оригинальную идею.

Преподаватели школы HackerU подобрали исходники, изучение которых положительно скажется на вашей карме:
https://github.com/infoslack/awesome-web-hacking – Этот репозиторий предназначен для желающих разобраться в веб-безопасности, но не знает, с чего начать. Здесь вы найдёте не только ссылки на документацию, лабы и книги по теме, но и достойный набор инструментов: методологию аудита приложений, пентестеры и сканеры уязвимостей. Материал познакомит вас с распространенными типами атак на веб-системы, такими как XSS, SQL инъекции, DNS-спуфинг.

https://github.com/FabioBaroni/awesome-exploit-development/blob/master/README.md – Библиотека по разработке эксплойтов. В собранных ресурсах содержится разбор бинарных уязвимостей, а также советы, как найти слабые места в ПО и сделать код защищённее. Например, избежать страшного сна для каждого программиста – переполнения буфера. Незаменимый материал для специалистов по безопасности. Ведь чтобы выстроить неприступную стену, нужно знать, какими лазейками злоумышленники пользовались до этого.

https://github.com/nebgnahz/awesome-iot-hacks – По сути это сборник хаков обо всём, что подпадает под определение «интернет вещей». Истории о том, как легко можно взломать практически всё в современном мире: от наручного браслета и переносной колонки, до автомобиля и «умного дома». Здесь вы найдёте описания bluetooth-атак, которые получили распространение как раз из-за возросшей популярности носимых IoT-устройств. Кстати, на заметку поклонникам подобных гаджетов – с их помощью хакеры могут собрать неплохое досье на владельцев. Авторы репозитория надеются, что он послужит во благо, и производители техники, ознакомившись с материалом, начнут устранять уязвимости.

https://github.com/sobolevn/awesome-cryptography – Подборка ресурсов для работы с криптографией и организации приложений. Незаменимо для тех, кто постоянно работает с разными языками программирования. Блоги, исследования, руководства и инструкции расскажут, как грамотно выстроить доступ к собственным ресурсам и научат искусству написания оригинальной логики шифрования в проектах. Будет полезно добавить в закладки и ознакомиться, даже если это не совсем ваша специальность. Знания основ криптографии ни для кого лишними не будут.

Кстати, путешествие по репозиториям в GitHub будет интересно и увлекательно не только для «фанатов» и начинающих. Известно, что дети лучше усваивают новую информацию в игровой форме. Думаю, что и разработчики – не исключение. Доказательство тому – вот этот квест для изучения JavaScript – https://alexnisnevich.github.io/untrusted/ – сделанный в формате видеоигры.

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

Но не стоит расценивать этот сервер как священную корову. После того, как в июле сервис купила Microsoft, десятки тысяч особо суеверных разработчиков перевели проекты на другие хостинги: GitLab, BitBucket, SourceForge и другие.

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


  1. tandzan
    05.12.2018 16:36

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


    1. RPG18
      05.12.2018 16:39
      +1

      Смотрят, но буквально единицы.


    1. striver
      05.12.2018 16:43
      +2

      Это как диплом. Если его нет — то очень плохо. А если есть — молодец, отложи в сторону… ибо мы «знаем» как вас там учат.


    1. Neusser
      05.12.2018 16:45

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


      1. HackerU Автор
        05.12.2018 17:00

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


    1. HackerU Автор
      05.12.2018 16:59

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


      1. Neusser
        05.12.2018 17:18

        И расширили частный опыт преподавателя на 90%?


    1. 0xd34df00d
      05.12.2018 18:53

      Смотрят. Меня неоднократно брали на работу, существенно сокращая собеседование из-за моего профиля.

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


    1. sentyaev
      05.12.2018 23:15

      Работодатели не смотрят гитхаб соискателя.

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


  1. Neusser
    05.12.2018 16:51

    Профиль и активность разработчика на GitHub сегодня стали самым наглядным резюме. И в 90 процентах случаев потенциальные работодатели будут смотреть ваши на звёздочки и количество фолловеров на хостинге.

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


    1. jehy
      05.12.2018 19:02

      Скажу про себя — смотрю код соискателя, на звёздочки обращаю мало внимания.


  1. Perlovich
    05.12.2018 17:02

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

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


  1. nexus478
    05.12.2018 17:39

    GitHub – крупнейшая библиотека, созданная разработчиками для разработчиков. Главная прелесть хостинга в его идеологии: отдавать также легко, как и получать.

    Ну вы там определитесь уже. Да и как вообще можно было назвать гитхаб библиотекой?


    1. AstarothAst
      05.12.2018 19:11

      Да и как вообще можно было назвать гитхаб библиотекой?

      Если библиотекой по аналогии с изначальной библиотекой, которая «хранилище книг», то почему бы и нет?


  1. Moxa
    05.12.2018 20:58

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


    1. sentyaev
      05.12.2018 23:17

      Я видел интересный профиль на гитхабе (уже не помню username товарища), у него на таймлайне коммитами было написано «hire me».


      1. Moxa
        05.12.2018 23:40

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


        1. striver
          06.12.2018 00:29

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


          1. Moxa
            06.12.2018 00:38

            Ну а если это чисто бэкеэнд, никаких демо, только документация, примеры и бенчмарки


            1. striver
              06.12.2018 00:41

              ЭйчАра таким не заинтересуешь. Да, технический специалист может оценит, но… разве что кто-то искал решение и нашел, а попутно ему нужен человек с такими способностями и навыками.


        1. RPG18
          06.12.2018 10:42

          Впечатляться должен не HR, а тот тимлид который ищет себе сотрудника.


        1. MaxVetrov
          06.12.2018 15:29

          Ну ваш репозиторий сложно найти. Только такое нашел github.com/Moxa-Linux


          1. Moxa
            06.12.2018 15:55

            не сложно, ссылка есть в линкедине, github.com/wizzardo


            1. MaxVetrov
              06.12.2018 18:04

              Действительно, все зелененькое 3 года было.
              Черт его знает, может HR фильтруют по большему количеству звездочек, форков.
              Либо это вообще на последнем месте в приоритете.


      1. arandomic
        06.12.2018 11:54

        Не знаю как сейчас, а раньше гитхаб строил таймлайн на основе commit time. И не проверял время коммита при пуше. (что логично)
        Соотвтественно можно было сгенерировать репозиторий с заданными датами коммитов и запушить одним движением. Никакой ежедневной работы, просто правильно написанный скрипт. (Мне кажется на хабре был пример)

        UPD:https://habr.com/post/319298/


  1. Sly_tom_cat
    07.12.2018 11:55

    Смех смехом, но мне реально одно предложение по работе пришло на основе того, что люди глянули на мой гитхаб. Это при том что я не ставил на гитхабе галку в Available for hire.