То, что знания не принадлежат лишь узкому кругу избранных, уже признают и транснациональные корпорации. На основе одного исходного кода вырастает несколько новых – так и развиваются технологии, которыми в итоге начинает пользоваться весь мир. Такие гиганты, как 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)
Neusser
05.12.2018 16:51Профиль и активность разработчика на GitHub сегодня стали самым наглядным резюме. И в 90 процентах случаев потенциальные работодатели будут смотреть ваши на звёздочки и количество фолловеров на хостинге.
Это, видимо, те работодатели, которые берут разработчиков, чтобы те коммитили на гитхаб, а не работодателю. Мне такие не попадались.
Perlovich
05.12.2018 17:02Вести какую-то деятельность на гитхабе есть смысл только тогда, когда есть чем поделиться с миром, или интересно вести какой-то свой проект (пусть даже для себя), или хочется поучаствовать в open source разработке, или {вписать_свое}. В общем, когда это интересно тебе лично.
Заставлять себя этим заниматься ради туманных карьерных перспектив — это, имхо, не путь самурая.
nexus478
05.12.2018 17:39GitHub – крупнейшая библиотека, созданная разработчиками для разработчиков. Главная прелесть хостинга в его идеологии: отдавать также легко, как и получать.
Ну вы там определитесь уже. Да и как вообще можно было назвать гитхаб библиотекой?AstarothAst
05.12.2018 19:11Да и как вообще можно было назвать гитхаб библиотекой?
Если библиотекой по аналогии с изначальной библиотекой, которая «хранилище книг», то почему бы и нет?
Moxa
05.12.2018 20:58Примерно три года коммитил на гитхаб каждый день, без перерывов, без выходных. Хоть бы кого-нибудь это как-нибудь заинтересовало
sentyaev
05.12.2018 23:17Я видел интересный профиль на гитхабе (уже не помню username товарища), у него на таймлайне коммитами было написано «hire me».
Moxa
05.12.2018 23:40Ну так кто угодно может, у меня было три года осмысленных коммитов, и ни один hr не впечатлился
striver
06.12.2018 00:29А hr и не поймет, что там написано. Далее названий мало кто посмотрит. Если бы залить демо на ютуб с готовой прогой и дать ссылку на исходники — это другой вопрос.
Moxa
06.12.2018 00:38Ну а если это чисто бэкеэнд, никаких демо, только документация, примеры и бенчмарки
striver
06.12.2018 00:41ЭйчАра таким не заинтересуешь. Да, технический специалист может оценит, но… разве что кто-то искал решение и нашел, а попутно ему нужен человек с такими способностями и навыками.
MaxVetrov
06.12.2018 15:29Ну ваш репозиторий сложно найти. Только такое нашел github.com/Moxa-Linux
Moxa
06.12.2018 15:55не сложно, ссылка есть в линкедине, github.com/wizzardo
MaxVetrov
06.12.2018 18:04Действительно, все зелененькое 3 года было.
Черт его знает, может HR фильтруют по большему количеству звездочек, форков.
Либо это вообще на последнем месте в приоритете.
arandomic
06.12.2018 11:54Не знаю как сейчас, а раньше гитхаб строил таймлайн на основе commit time. И не проверял время коммита при пуше. (что логично)
Соотвтественно можно было сгенерировать репозиторий с заданными датами коммитов и запушить одним движением. Никакой ежедневной работы, просто правильно написанный скрипт. (Мне кажется на хабре был пример)
UPD:https://habr.com/post/319298/
Sly_tom_cat
07.12.2018 11:55Смех смехом, но мне реально одно предложение по работе пришло на основе того, что люди глянули на мой гитхаб. Это при том что я не ставил на гитхабе галку в Available for hire.
tandzan
Имхо, статья вредная. Работодатели не смотрят гитхаб соискателя. Если кто-то последует советам из статьи, то просто потратит кучу времени впустую.
RPG18
Смотрят, но буквально единицы.
striver
Это как диплом. Если его нет — то очень плохо. А если есть — молодец, отложи в сторону… ибо мы «знаем» как вас там учат.
Neusser
Если в резюме указан акканут на гитхабете/гилабе/итд, то можно и посмотреть. Если не указан, то и смотреть нечего. Если аккаунт пустой, то и указывать не надо.
HackerU Автор
Мы думаем, что каждый может выбирать, но если кто-то однажды столкнулся с такой проблемой и рассказал об этом, то только в плюс
HackerU Автор
У нашего преподавателя был такой случай в жизни, мы рассказали о частном опыте
Neusser
И расширили частный опыт преподавателя на 90%?
0xd34df00d
Смотрят. Меня неоднократно брали на работу, существенно сокращая собеседование из-за моего профиля.
И по другую сторону баррикад я тоже стоял рядышком и видел, как собеседующие открывают ссылки на гитхаба, если они есть в резюме.
sentyaev
Хм… у нас в компании очень даже смотрят. Наличие гитхаба у соискателя конечно не обязательно, но это сильно упрощает интервью.