Многие начинающие специалисты не могут найти работу. Часто это связано с тем, что у них нет опыта или его нечем подкрепить. Если у опытного программиста спросят, чем он занимался на предыдущей работе, то он сможет об этом рассказать. Но тем, кто только начинает путь в IT, показать будет нечего.
В последнем случае опыт нужно нарабатывать. Это можно сделать уже во время обучения, а также принимать участие в Open Source. А продемонстрировать практику поможет GitHub.
В этом уроке разберемся, зачем разработчику вести GitHub, как оформлять профиль и вести активность. Еще узнаем, чем заполнять репозиторий, если нет опыта и собственных проектов.
Что такое GitHub и как он помогает
GitHub.com — это веб-сервис, где можно хранить Git-репозитории. Еще там размещают код большинства Open Source проектов. В них может поучаствовать любой желающий разработчик.
GitHub — это еще и социальная сеть для программистов. Здесь у каждого пользователя есть публичный профиль, который помогает в поиске работы.
Чтобы показать свой опыт потенциальному работодателю, нужно оставить в резюме ссылку на профиль. Когда рекрутер или другой специалист перейдут по ней, то увидят информацию о вас.
Код — лучшее доказательство вашей подготовки. В современном мире доходит до того, что некоторые работодатели ищут сотрудников через анализ кода на гитхабе.
В профиле важны следующие составляющие:
- Основная информация о специалисте
- Активность в публичных проектах
- Репозитории
Разберем каждую из них подробнее. Так вы поймете, чем заполнять профиль, и что привлекает работодателей.
Как оформить основную информацию о специалисте
Основная информация профиля — это первое, что видят рекрутеры. Поэтому ее важно оформить так, чтобы она не выглядела пустой.
Вот что должно быть в хорошем профиле:
- Личная фотография. Профиль в GitHub — это не документ, здесь не обязательно ставить серьезную фотографию как на паспорт. Загрузите такое фото, которое будет располагать к себе
- Имя и фамилия. Если вы планируете работать в команде и официально трудоустраиваться, то напишите настоящие имя и фамилию. Так рекрутеры будут знать, что это действительно ваш профиль
- Репозитории. Они нужны, чтобы продемонстрировать опыт работы. Это одна из самых важных составляющих профиля. О репозиториях подробнее поговорим немного позже
Еще в профиле можно указать компанию, в которой работаете, ваше месторасположение, ссылку на личный сайт и на аккаунт в Twitter. Также можете написать краткую биографию.
Если хотите рассказать о себе больше, то это можно сделать в специальном репозитории, в котором размещается текстовый файл README.md.
Как оформлять README
README.md оформляется с помощью языка разметки Markdown и отображается на странице профиля.
Репозиторий, в котором размещается текстовый файл, должен называться так же, как и ник на GitHub: https://github.com/<username>/<username>. Например, если ваш ник Alexxx, то репозиторий должен называться https://github.com/Alexxx/Alexxx.
В этом файле может быть любая информация, которая будет полезна другим. Это можно сравнить с резюме, в котором стоит указать следующую информацию:
-
Образование. Укажите наличие высшего образования, даже неоконченного
-
Дополнительное образование. Укажите курсы, участие в хакатонах, воркшопах и других похожих мероприятиях. Можете рассказать о книгах, которые читали. На Хекслете составлен список рекомендованных книг, важных для любых разработчиков
-
Опыт работы. Указывайте любой опыт, который хотя бы косвенно связан с разработкой. Опыт стоит указывать через достижения — чего удалось добиться на предыдущих проектах. Например, вы автоматизировали какие-то задачи на прошлом рабочем месте, или даже создали сайт для компании
-
О себе. Расскажите немного о себе, чтобы найти точки соприкосновения с работодателем. Сюда можно добавить информацию, которая не вошла ни в один из блоков, но вам важно об этом сказать. Например, можно рассказать о том, какие новые языки программирования вы изучаете, за какими ресурсами следите, какая методика построения рабочих процессов вам ближе
-
Ключевые навыки. Не указывайте слова, про которые вы слышали и примерно представляете, но никогда не работали с ними. Если вы пробовали разные языки, то так и напишите «написал пару скриптов на python». Четко разделяйте хорошо знакомые вам вещи, и те, с которыми вы знакомы только поверхностно. Разделяйте навыки на фундаментальные и прикладные
К фундаментальным относятся:
- Знание операционных систем, владение Linux
- Знание сетей, tcp/ip, http
- Алгоритмы и структуры данных
- Математическая подготовка
- Базы данных. SQL
К прикладным:
- Владение автоматическим тестированием. Если у вас есть этот пункт, то вы уже лучше, чем 99% новичков и многих работающих программистов
- Языки и уровень их владения
- Фреймворки. Особенно актуально для веб-разработки
- Ключевые библиотеки. Этот пункт довольно опасен. Новички пытаются указать все, что они видели в глаза. Но так делать не надо, это подчеркивает ваш уровень. Указывайте только то, что может быть важно работодателям. Например, react или jquery
В среде разработчиков популярны сервисы вопросов-ответов такие, как Stackoverflow или Хабр Q&A. Даже если вы только начинаете свой путь, всегда есть люди, которые знают меньше вас. Зарегистрируйтесь на этих сервисах и начните отслеживать вопросы от новичков. Даже десяток полезных ответов даст вам много плюсов в карму. Работодатели ценят такую активность.
О чем не стоит писать:
- Не указывайте форматы данных, например, json или xml. Форматы никак не характеризуют вас, но создают ненужный шум
- Не добавляйте похожие вещи, например, css2 и css3. Если вы знаете css, то укажите что-то одно
- Не указывайте базовые навыки по работе с компьютером, например, опыт работы с офисными документами. Профессиональное владение компьютером и так подразумевается
Кроме перечисленных блоков, укажите в этом файле ссылки на другие социальные сети и статус занятости. Так работодатель сможет лучше изучить вас и поймет, свободны ли вы сейчас как специалист.
Профиль желательно оформлять на английском языке. Его можно назвать стандартом общения в IT, даже если вы не планируете выходить на международный рынок. Если знаете язык недостаточно хорошо, попросите знакомых перевести текст.
Многие рекрутеры и работодатели только по основной информации о кандидате принимают решение, брать ли его на работу. Поэтому этой составляющей профиля не стоит пренебрегать.
Еще часто обращают внимание на активность программиста. Этот показатель отражает, насколько человек вовлечен в работу, сколько он уделяет этому времени, какие направления ему интересны, где он силен и пробует себя.
Как вести активность в публичных проектах
Любая публичная активность на GitHub отмечается в профиле. Например, коммиты в свои или чужие репозитории, пулл-реквесты. Публичная активность отображается всем, поэтому рекрутеры, работодатели и другие разработчики видят, где вы принимали участие и что делали.
Часто Open Source проектами оказываются те, которыми мы пользуемся. Например, у Хекслета есть несколько Open Source проектов, в которых студенты принимают активное участие. Большинство из них — проекты, которые работают в продакшене. Вокруг них собираются пользователи и люди, которые их разрабатывают. Участвуя в таких проектах, можно получить реальный продакшн-опыт.
Помимо проектов Хекслета есть и другие. Например, можно принять участие в разработке фреймворка или библиотеки. Такую активность обязательно оценят, и опытные разработчики это подтверждают. Подробнее работу с Open Source проектами разберем в следующем уроке.
Публичная активность — это отличный способ заявить о себе. В первую очередь рекрутеры обращают внимание на те проекты, которые вы разрабатываете сами. Они отображаются в репозитории.
Как оформить репозиторий
Репозиторий содержит все файлы проекта и историю их изменений. Он отражает опыт разработчика. Но его нужно хорошо оформить.
Рекомендуемые пункты по оформлению репозитория:
- есть краткое описание проекта
- есть README проекта
- код проекта соответствует общепринятым стандартам, используется GitHub Actions и написаны тесты
- проект работает и выполняет свою задачу
- Git используется по назначению
Разберем эти пункты подробнее.
Описание проекта
Краткое описание проекта отображается на главной странице, если репозиторий прикреплен в профиле. Так специалист, который изучает ваши работы, сможет выбрать нужный ему проект и не заходить в каждый.
README проекта
GitHub по умолчанию отображает файл README.md на странице репозитория. В нем можно указать следующую информацию о проекте:
- Название проекта и его описание
- Команды установки, локального запуска, запуска тестов и линтеров
- Примеры использования — например, ссылка на страницу с веб-демонстрацией, примеры использования в коде или скриншоты
- Информация о том, можно ли поучаствовать в этом проекте, как связаться, ответы на частые вопросы
README.md — это краткая документация. Это первое, что видит человек, который открывает репозиторий. Поэтому здесь важно дать достаточно информации о проекте и рассказать, что он из себя представляет.
Соблюдение стандартов кода и GitHub Actions
Если репозиторий содержит код, то его нужно оформить по современным общепринятым стандартам, он должен соответствовать правилам линтера. Желательно, чтобы в проекте использовалась система сборки Continuous Integration, например, от самого GitHub — GitHub Actions. Такая система позволяет узнавать о том, собирается ли проект, соблюдаются ли правила кодирования, проходят ли тесты. Знания Continuous Integration приветствуются во многих компаниях.
Использование Git
Еще специалисты обращают внимание на то, как пишут коммиты. Так оценивают уровень владения Git. Например, некоторые разработчики не используют Git и загружают свои проекты через форму. Это может оказать негативное впечатление. Рекомендуем пройти курс «Введение в Git» и использовать его хотя бы на базовом уровне.
Если оформить репозиторий по этим правилам, то у рекрутеров вряд ли останутся вопросы по вашим навыкам. Однако программисты без опыта могут столкнуться с проблемой — им нечего показывать. Но это легко исправить. Рассказываем, чем новичкам наполнять репозитории.
Где новичкам взять проекты
Любой программист может разработать свой проект. Их можно придумывать или брать за идею сторонние. Главная цель проектов новичков — показать потенциальным работодателям, что вы умеете разрабатывать.
Например, если вы студент Хекслета, то можете выполнять наши проекты. Каждый учебный проект — это самостоятельное приложение, которое вы разрабатываете. Помимо учебных проектов можно выполнять тестовые задания из различных компаний.
Вот пара полезных ссылок:
- В книгах по программированию часто содержатся задания в конце глав. Создайте под книгу отдельный репозиторий и выкладывайте там код. Для СИКП у нас есть целая инструкция
- На Хекслете собрана большая подборка тестовых заданий на разные позиции от множества компаний. Найдите то, что вам по душе и реализуйте
Также можно участвовать в Open Source проектах, работу с которыми мы подробнее разберем в следующем уроке.
Когда у вас появятся более сложные проекты на GitHub, вы можете ими заменить в профиле те, которые не отражают ваш релевантный опыт или более простые.
Можно принимать участие не только в чужих проектах, но и в своих. Например, пет-проект или личная библиотека могут найти отклик у коммьюнити программистов и стать популярными.
Еще можно заводить репозиторий с мелкими алгоритмическими задачами или упражнениями из книг.
Репозитории — способ показать ваш опыт и навыки. Так вы можете доказать, что не только принимаете активное участие в публичных проектах, но и создаете свои.
Вывод
Профиль в GitHub — это обязательный атрибут современного разработчика. Благодаря GitHub можно найти работу, продемонстрировать свои навыки и поучаствовать в интересных проектах на новых технологиях.
В профиле должна быть релевантная и полезная информация: личные данные, активность в публичных проектах и свои проекты. Если на профиль зашел рекрутер, он сможет оценить ваш опыт и профессионализм и написать.
Не забывайте, что репозитории нужно оформлять качественно — с описанием того, что за проекты и как их запустить. Это повышает привлекательность и интерес к проекту со стороны.
Когда вы наберетесь опыта, GitHub станет еще полезнее. Например, вы сможете перейти на пассивный поиск работы. Когда будут спрашивать про ваш опыт, достаточно дать ссылку на профиль. В нем будет вся необходимая информация об используемых технологиях и примеры проектов.
Еще благодаря Open Source опытные программисты работают с технологиями, которые не используются в рабочих проектах. Так они повышают свои навыки. Также они сами создают свои проекты, которые потом становятся популярными.
Также рекомендуем воспользоваться бесплатным помощником для создания красивых GitHub-профилей ProfileMe. В нем можно выбрать один из более 60 языков программирования и фреймворков. Еще с его помощью можно дать ссылки на профили в социальных сетях и делиться статистикой.
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 18:10:18 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="-b6DKZ27oq0o3QdS4yuoOPIkMoSGeJGzmUwKLSMRCHIWb0geb8UPzZ6eI8rvJFhPMi0fLo5PbxEkrJB5cRbvHA";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Оформление профиля на GitHub | Трудоустройство для разработчиков</title>
<meta name="description" content="Оформление профиля на GitHub / Трудоустройство для разработчиков: Изучаем, зачем нужен профиль в GitHub и как его оформить">
<link rel="canonical" href="https://ru.hexlet.io/courses/employment-for-developers/lessons/github-profile/theory_unit">
<meta name="robots" content="noarchive">
<meta property="og:title" content="Оформление профиля на GitHub">
<meta property="og:title" content="Трудоустройство для разработчиков">
<meta property="og:description" content="Оформление профиля на GitHub / Трудоустройство для разработчиков: Изучаем, зачем нужен профиль в GitHub и как его оформить">
<meta property="og:url" content="https://ru.hexlet.io/courses/employment-for-developers/lessons/github-profile/theory_unit">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="dRlsRKB249wt-BoF7v_ehqqcQwYZOQO--sRixdEBM1GayKdzUghOvJu7Pp3i8C7xapVurBEO_RxHJPiRgwbUPw" />
<script src="/vite/assets/inertia-BIn5nEMk.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-cb8xch9l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk5MiwicHVyIjoiYmxvYl9pZCJ9fQ==--e9d0f30948ea766a7e6bc3e3d56c192344d45fb8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-cuate%20(1).png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczNSwicHVyIjoiYmxvYl9pZCJ9fQ==--883f3fd4e1b571538035b5680c8d4a9eb504b1f6/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Source%20code-amico.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNSwicHVyIjoiYmxvYl9pZCJ9fQ==--2e84f5f94140ee4e22019ac479c290ef48c3fac8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDA0MywicHVyIjoiYmxvYl9pZCJ9fQ==--e2c6c0775e2308e42fbc5dc592ba2db0470632ca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"/><link rel="preload" as="image" href="/vite/assets/development-BVihs_d5.png"/><div id="app" data-page="{"component":"web/courses/lessons/theory_unit","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T18:10:18.163Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"0PLjkIepJhiYXIJq2dLHzKXl0PBchBh5eoR4YUvGP1k_IyinddeLeC4fpvLV3Te7Zez9WlSz5tvHZOI1GcHYNw","topics":[{"id":78505,"title":"> Этот репозиторий должен называться так же, как и ник на Github: https://github.com/<username>/README.md. Например, если ваш ник Alexxx, то репозиторий должен называться https://github.com/Alexxx/README.md.\n\nЭто не репозиторий, а адрес Readme-файла. Репозиторием будет `https://github.com/<username>`, а уже в нем будет лежать README.md.","plain_title":"Этот репозиторий должен называться так же, как и ник на Github: https://github.com//README.md. Например, если ваш ник Alexxx, то репозиторий должен называться https://github.com/Alexxx/README.md. Это не репозиторий, а адрес Readme-файла. Репозиторием будет https://github.com/<username>, а уже в нем будет лежать README.md. ","creator":{"public_name":"Игорь Гахов","id":376702,"is_tutor":false},"comments":[{"creator":{"public_name":"Игорь Гахов","id":376702,"is_tutor":false},"id":162157,"body":"Да, точно! :-D","topic_id":78505},{"creator":{"public_name":"Aleksandr Litvinov","id":117182,"is_tutor":true},"id":162119,"body":"Спасибо! Исправил :)\n\nПравильное название репы будет даже таким: `https://github.com/<username>/<username>`","topic_id":78505}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Оформление профиля на GitHub","entity_url":null,"active":true}},{"id":83896,"title":"> Владение автоматическим тестированием. Если у вас есть этот пункт, то вы уже лучше, чем 99% новичков и многих работающих программистов\n\nЭто про покрытие кода тестами?","plain_title":"Владение автоматическим тестированием. Если у вас есть этот пункт, то вы уже лучше, чем 99% новичков и многих работающих программистов Это про покрытие кода тестами? ","creator":{"public_name":"Ilia Kaziamov","id":482248,"is_tutor":false},"comments":[{"creator":{"public_name":"Artyom Kropp","id":381127,"is_tutor":true},"id":170180,"body":"Да, все так, это как раз про него.","topic_id":83896}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Оформление профиля на GitHub","entity_url":null,"active":true}},{"id":101811,"title":"Что не так с первым вопросом?\n\n```\nЧто должно быть в хорошем профиле?\n(нужно выбрать все корректные ответы)\n\n1) Наличие высшего образования\n2) Репозитории\n3) Имя и фамилия\n4) Кем вы видите себя через 5 лет\n5) Личная фотография\n```\nВыбираю все - неправильно. Выбираю все, кроме 4 варианта - неправильно. Хотя все 4 пункта в тексте упоминаются. Убираю наличие высшего образования (вдруг его просто нет) - неправильно. Перебором что ли надо угадать?","plain_title":"Что не так с первым вопросом? Что должно быть в хорошем профиле? (нужно выбрать все корректные ответы) 1) Наличие высшего образования 2) Репозитории 3) Имя и фамилия 4) Кем вы видите себя через 5 лет 5) Личная фотография Выбираю все - неправильно. Выбираю все, кроме 4 варианта - неправильно. Хотя все 4 пункта в тексте упоминаются. Убираю наличие высшего образования (вдруг его просто нет) - неправильно. Перебором что ли надо угадать? ","creator":{"public_name":"Максим Богомолов","id":773159,"is_tutor":false},"comments":[{"creator":{"public_name":"Ivan Gagarinov","id":75907,"is_tutor":true},"id":193911,"body":"**Максим Богомолов**, здравствуйте. В тексте урока есть прямой ответ на этот вопрос. Там есть список и пояснение \"что должно быть в хорошем профиле\".","topic_id":101811},{"creator":{"public_name":"Максим Богомолов","id":773159,"is_tutor":false},"id":193925,"body":"Там упоминаются: личная фотография, имя и фамилия, наличие высшего образования, репозитории. Верно? И тест не принимает этот ответ.","topic_id":101811},{"creator":{"public_name":"Ivan Gagarinov","id":75907,"is_tutor":true},"id":193926,"body":"**Максим Богомолов**, образования там нет. Вы путаете с репозиторием с README.md","topic_id":101811}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Оформление профиля на GitHub","entity_url":null,"active":true}}],"lesson":{"exercise":null,"units":[{"id":6968,"name":"theory","url":"/courses/employment-for-developers/lessons/github-profile/theory_unit"},{"id":7365,"name":"quiz","url":"/courses/employment-for-developers/lessons/github-profile/quiz_unit"}],"links":[{"id":425345,"name":"Как разработчику улучшить свое тестовое задание — рекомендации по оформлению репозитория","url":"https://ru.hexlet.io/blog/posts/kak-razrabotchiku-uluchshit-svoe-testovoe-zadanie\n"},{"id":425346,"name":"Примеры оформления профилей на Github","url":"https://github.com/abhisheknaiidu/awesome-github-profile-readme\n"},{"id":425347,"name":"Слаконар: ревью профилей в Github\n","url":"https://github.com/Hexlet/hexlet-slack-archive/wiki/%D0%A0%D0%B5%D0%B2%D1%8C%D1%8E-%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B5%D0%B9-%D0%B2-%D0%B3%D0%B8%D1%82%D1%85%D0%B0%D0%B1%D0%B5.-%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB-%D0%9C%D0%BE%D0%BA%D0%B5%D0%B2%D0%BD%D0%B8%D0%BD-%5B26.04.2022%5D\n"},{"id":425348,"name":"Интервью с техническим директором Авито (вторая часть про найм)\n","url":"https://www.youtube.com/watch?v=8wurHiUJwUA&t=5s\n"},{"id":425349,"name":"Публичное собеседование\n","url":"https://www.youtube.com/watch?v=JERUf-xKU1o\n"},{"id":425350,"name":"ProfileMe: помощник для создания GitHub-профилей\n","url":"https://www.profileme.dev/\n"}],"ordered_units":[{"id":6968,"name":"theory","url":"/courses/employment-for-developers/lessons/github-profile/theory_unit"},{"id":7365,"name":"quiz","url":"/courses/employment-for-developers/lessons/github-profile/quiz_unit"}],"id":3072,"slug":"github-profile","state":"approved","name":"Оформление профиля на GitHub","course_order":150,"goal":"Изучаем, зачем нужен профиль в GitHub и как его оформить","self_study":null,"theory_video_provider":null,"theory_video_uid":null,"theory":"Многие начинающие специалисты не могут найти работу. Часто это связано с тем, что у них нет опыта или его нечем подкрепить. Если у опытного программиста спросят, чем он занимался на предыдущей работе, то он сможет об этом рассказать. Но тем, кто только начинает путь в IT, показать будет нечего.\n\nВ последнем случае опыт нужно нарабатывать. Это можно сделать уже во время обучения, а также принимать участие в Open Source. А продемонстрировать практику поможет GitHub.\n\nВ этом уроке разберемся, зачем разработчику вести GitHub, как оформлять профиль и вести активность. Еще узнаем, чем заполнять репозиторий, если нет опыта и собственных проектов.\n\n## Что такое GitHub и как он помогает\n\n[GitHub.com](https://github.com/) — это веб-сервис, где можно хранить Git-репозитории. Еще там размещают код большинства Open Source проектов. В них может поучаствовать любой желающий разработчик.\n\nGitHub — это еще и социальная сеть для программистов. Здесь у каждого пользователя есть публичный профиль, который помогает в поиске работы.\n\nЧтобы показать свой опыт потенциальному работодателю, нужно оставить в резюме ссылку на профиль. Когда рекрутер или другой специалист перейдут по ней, то увидят информацию о вас.\n\nКод — лучшее доказательство вашей подготовки. В современном мире доходит до того, что некоторые работодатели ищут сотрудников через анализ кода на гитхабе.\n\nВ профиле важны следующие составляющие:\n\n* Основная информация о специалисте\n* Активность в публичных проектах\n* Репозитории\n\n\n\nРазберем каждую из них подробнее. Так вы поймете, чем заполнять профиль, и что привлекает работодателей.\n\n## Как оформить основную информацию о специалисте\n\nОсновная информация профиля — это первое, что видят рекрутеры. Поэтому ее важно оформить так, чтобы она не выглядела пустой.\nВот что должно быть в хорошем профиле:\n\n* Личная фотография. Профиль в GitHub — это не документ, здесь не обязательно ставить серьезную фотографию как на паспорт. Загрузите такое фото, которое будет располагать к себе\n* Имя и фамилия. Если вы планируете работать в команде и официально трудоустраиваться, то напишите настоящие имя и фамилию. Так рекрутеры будут знать, что это действительно ваш профиль\n* Репозитории. Они нужны, чтобы продемонстрировать опыт работы. Это одна из самых важных составляющих профиля. О репозиториях подробнее поговорим немного позже\n\n\n\nЕще в профиле можно указать компанию, в которой работаете, ваше месторасположение, ссылку на личный сайт и на аккаунт в Twitter. Также можете написать краткую биографию.\n\nЕсли хотите рассказать о себе больше, то это можно сделать в специальном репозитории, в котором размещается текстовый файл README.md.\n\n### Как оформлять README\n\nREADME.md оформляется с помощью языка разметки Markdown и отображается на странице профиля.\n\nРепозиторий, в котором размещается текстовый файл, должен называться так же, как и ник на GitHub: `https://github.com/<username>/<username>`. Например, если ваш ник Alexxx, то репозиторий должен называться `https://github.com/Alexxx/Alexxx`.\n\nВ этом файле может быть любая информация, которая будет полезна другим. Это можно сравнить с резюме, в котором стоит указать следующую информацию:\n\n* **Образование.** Укажите наличие высшего образования, даже неоконченного\n* **Дополнительное образование.** Укажите курсы, участие в хакатонах, воркшопах и других похожих мероприятиях. Можете рассказать о книгах, которые читали. На Хекслете составлен [список рекомендованных книг](https://ru.hexlet.io/pages/recommended-books), важных для любых разработчиков\n* **Опыт работы.** Указывайте любой опыт, который хотя бы косвенно связан с разработкой. Опыт стоит указывать через достижения — чего удалось добиться на предыдущих проектах. Например, вы автоматизировали какие-то задачи на прошлом рабочем месте, или даже создали сайт для компании\n* **О себе.** Расскажите немного о себе, чтобы найти точки соприкосновения с работодателем. Сюда можно добавить информацию, которая не вошла ни в один из блоков, но вам важно об этом сказать. Например, можно рассказать о том, какие новые языки программирования вы изучаете, за какими ресурсами следите, какая методика построения рабочих процессов вам ближе\n* **Ключевые навыки.** Не указывайте слова, про которые вы слышали и примерно представляете, но никогда не работали с ними. Если вы пробовали разные языки, то так и напишите «написал пару скриптов на python». Четко разделяйте хорошо знакомые вам вещи, и те, с которыми вы знакомы только поверхностно. Разделяйте навыки на фундаментальные и прикладные\n\n К фундаментальным относятся:\n\n * Знание операционных систем, владение Linux\n * Знание сетей, tcp/ip, http\n * Алгоритмы и структуры данных\n * Математическая подготовка\n * Базы данных. SQL\n\n К прикладным:\n\n * Владение автоматическим тестированием. Если у вас есть этот пункт, то вы уже лучше, чем 99% новичков и многих работающих программистов\n * Языки и уровень их владения\n * Фреймворки. Особенно актуально для веб-разработки\n * Ключевые библиотеки. Этот пункт довольно опасен. Новички пытаются указать все, что они видели в глаза. Но так делать не надо, это подчеркивает ваш уровень. Указывайте только то, что может быть важно работодателям. Например, react или jquery\n\nВ среде разработчиков популярны сервисы вопросов-ответов такие, как [Stackoverflow](https://ru.stackoverflow.com/) или [Хабр Q&A](https://qna.habr.com/). Даже если вы только начинаете свой путь, всегда есть люди, которые знают меньше вас. Зарегистрируйтесь на этих сервисах и начните отслеживать вопросы от новичков. Даже десяток полезных ответов даст вам много плюсов в карму. Работодатели ценят такую активность.\n\nО чем не стоит писать:\n\n* Не указывайте форматы данных, например, json или xml. Форматы никак не характеризуют вас, но создают ненужный шум\n* Не добавляйте похожие вещи, например, css2 и css3. Если вы знаете css, то укажите что-то одно\n* Не указывайте базовые навыки по работе с компьютером, например, опыт работы с офисными документами. Профессиональное владение компьютером и так подразумевается\n\nКроме перечисленных блоков, укажите в этом файле ссылки на другие социальные сети и статус занятости. Так работодатель сможет лучше изучить вас и поймет, свободны ли вы сейчас как специалист.\n\nПрофиль желательно оформлять на английском языке. Его можно назвать стандартом общения в IT, даже если вы не планируете выходить на международный рынок. Если знаете язык недостаточно хорошо, попросите знакомых перевести текст.\n\nМногие рекрутеры и работодатели только по основной информации о кандидате принимают решение, брать ли его на работу. Поэтому этой составляющей профиля не стоит пренебрегать.\n\nЕще часто обращают внимание на активность программиста. Этот показатель отражает, насколько человек вовлечен в работу, сколько он уделяет этому времени, какие направления ему интересны, где он силен и пробует себя.\n\n## Как вести активность в публичных проектах\n\nЛюбая публичная активность на GitHub отмечается в профиле. Например, коммиты в свои или чужие репозитории, пулл-реквесты. Публичная активность отображается всем, поэтому рекрутеры, работодатели и другие разработчики видят, где вы принимали участие и что делали.\n\nЧасто Open Source проектами оказываются те, которыми мы пользуемся. Например, у Хекслета есть несколько Open Source проектов, в которых студенты принимают активное участие. Большинство из них — проекты, которые работают в продакшене. Вокруг них собираются пользователи и люди, которые их разрабатывают. Участвуя в таких проектах, можно получить реальный продакшн-опыт.\n\nПомимо проектов Хекслета есть и другие. Например, можно принять участие в разработке фреймворка или библиотеки. Такую активность обязательно оценят, и опытные разработчики это подтверждают. Подробнее работу с Open Source проектами разберем в следующем уроке.\n\nПубличная активность — это отличный способ заявить о себе. В первую очередь рекрутеры обращают внимание на те проекты, которые вы разрабатываете сами. Они отображаются в репозитории.\n\n## Как оформить репозиторий\n\nРепозиторий содержит все файлы проекта и историю их изменений. Он отражает опыт разработчика. Но его нужно хорошо оформить.\n\nРекомендуемые пункты по оформлению репозитория:\n\n* есть краткое описание проекта\n* есть README проекта\n* код проекта соответствует общепринятым стандартам, используется GitHub Actions и написаны тесты\n* проект работает и выполняет свою задачу\n* Git используется по назначению\n\nРазберем эти пункты подробнее.\n\n### Описание проекта\n\nКраткое описание проекта отображается на главной странице, если репозиторий прикреплен в профиле. Так специалист, который изучает ваши работы, сможет выбрать нужный ему проект и не заходить в каждый.\n\n### README проекта\n\nGitHub по умолчанию отображает файл `README.md` на странице репозитория. В нем можно указать следующую информацию о проекте:\n\n* Название проекта и его описание\n* Команды установки, локального запуска, запуска тестов и линтеров\n* Примеры использования — например, ссылка на страницу с веб-демонстрацией, примеры использования в коде или скриншоты\n* Информация о том, можно ли поучаствовать в этом проекте, как связаться, ответы на частые вопросы\n\n`README.md` — это краткая документация. Это первое, что видит человек, который открывает репозиторий. Поэтому здесь важно дать достаточно информации о проекте и рассказать, что он из себя представляет.\n\n\n\n### Соблюдение стандартов кода и GitHub Actions\n\nЕсли репозиторий содержит код, то его нужно оформить по современным общепринятым стандартам, он должен соответствовать правилам линтера. Желательно, чтобы в проекте использовалась система сборки Continuous Integration, например, от самого GitHub — GitHub Actions. Такая система позволяет узнавать о том, собирается ли проект, соблюдаются ли правила кодирования, проходят ли тесты. Знания Continuous Integration приветствуются во многих компаниях.\n\n### Использование Git\n\nЕще специалисты обращают внимание на то, как пишут коммиты. Так оценивают уровень владения Git. Например, некоторые разработчики не используют Git и загружают свои проекты через форму. Это может оказать негативное впечатление. Рекомендуем пройти курс [«Введение в Git»](https://ru.hexlet.io/courses/intro_to_git) и использовать его хотя бы на базовом уровне.\n\nЕсли оформить репозиторий по этим правилам, то у рекрутеров вряд ли останутся вопросы по вашим навыкам. Однако программисты без опыта могут столкнуться с проблемой — им нечего показывать. Но это легко исправить. Рассказываем, чем новичкам наполнять репозитории.\n\n## Где новичкам взять проекты\n\nЛюбой программист может разработать свой проект. Их можно придумывать или брать за идею сторонние. Главная цель проектов новичков — показать потенциальным работодателям, что вы умеете разрабатывать.\n\nНапример, если вы студент Хекслета, то можете выполнять наши проекты. Каждый учебный проект — это самостоятельное приложение, которое вы разрабатываете. Помимо учебных проектов можно выполнять тестовые задания из различных компаний.\n\nВот пара полезных ссылок:\n\n* В книгах по программированию часто содержатся задания в конце глав. Создайте под книгу отдельный репозиторий и выкладывайте там код. Для СИКП у нас есть целая [инструкция](https://guides.hexlet.io/ru/how-to-learn-sicp/)\n* На Хекслете собрана большая [подборка тестовых заданий](https://github.com/Hexlet/ru-test-assignments) на разные позиции от множества компаний. Найдите то, что вам по душе и реализуйте\n\nТакже можно участвовать в Open Source проектах, работу с которыми мы подробнее разберем в следующем уроке.\n\nКогда у вас появятся более сложные проекты на GitHub, вы можете ими заменить в профиле те, которые не отражают ваш релевантный опыт или более простые.\n\nМожно принимать участие не только в чужих проектах, но и в своих. Например, пет-проект или личная библиотека могут найти отклик у коммьюнити программистов и стать популярными.\n\nЕще можно заводить репозиторий с мелкими алгоритмическими задачами или упражнениями из книг.\n\nРепозитории — способ показать ваш опыт и навыки. Так вы можете доказать, что не только принимаете активное участие в публичных проектах, но и создаете свои.\n\n## Вывод\n\nПрофиль в GitHub — это обязательный атрибут современного разработчика. Благодаря GitHub можно найти работу, продемонстрировать свои навыки и поучаствовать в интересных проектах на новых технологиях.\n\nВ профиле должна быть релевантная и полезная информация: личные данные, активность в публичных проектах и свои проекты. Если на профиль зашел рекрутер, он сможет оценить ваш опыт и профессионализм и написать.\n\nНе забывайте, что репозитории нужно оформлять качественно — с описанием того, что за проекты и как их запустить. Это повышает привлекательность и интерес к проекту со стороны.\n\nКогда вы наберетесь опыта, GitHub станет еще полезнее. Например, вы сможете перейти на пассивный поиск работы. Когда будут спрашивать про ваш опыт, достаточно дать ссылку на профиль. В нем будет вся необходимая информация об используемых технологиях и примеры проектов.\n\nЕще благодаря Open Source опытные программисты работают с технологиями, которые не используются в рабочих проектах. Так они повышают свои навыки. Также они сами создают свои проекты, которые потом становятся популярными.\n\nТакже рекомендуем воспользоваться бесплатным помощником для создания красивых GitHub-профилей [ProfileMe](https://www.profileme.dev/). В нем можно выбрать один из более 60 языков программирования и фреймворков. Еще с его помощью можно дать ссылки на профили в социальных сетях и делиться статистикой.\n"},"lessonMember":null,"courseMember":null,"course":{"start_lesson":{"exercise":null,"units":[{"id":6967,"name":"theory","url":"/courses/employment-for-developers/lessons/intro/theory_unit"}],"links":[],"ordered_units":[{"id":6967,"name":"theory","url":"/courses/employment-for-developers/lessons/intro/theory_unit"}],"id":3071,"slug":"intro","state":"approved","name":"Введение","course_order":100,"goal":"Знакомимся с темой курса","self_study":null,"theory_video_provider":null,"theory_video_uid":null,"theory":"Добро пожаловать на курс «Трудоустройство для разработчиков»!\n\nЗдесь мы обсудим темы, которые помогут найти работу в сфере разработки. В этом курсе вы узнаете, зачем разработчику вести Github, как оформлять профиль и вести активность, а также, что такое Open Source проекты и как они помогают программистам. Вы узнаете, чем заполнять репозиторий, если нет опыта и собственных проектов, а еще научитесь выбирать открытые проекты по своим навыкам и целям и проходить интервью.\n\n## Для кого этот курс\n\nКурс подойдет тем, у кого нет опыта в разработке. Также он будет полезен тем, кто уже работает в IT, но не знает, как развиваться в этой сфере дальше.\n\nВ найме разработчиков есть особенности, о которых мы и поговорим в курсе. Например, если у вас нет опыта — это не значит, что вас не примут на работу. Сейчас работодателям важен не столько стаж, сколько наличие хард и софт скиллов. И чтобы их получить, необязательно работать в компании.\n\n## Чему вы научитесь\n\nВ этом курсе вы научитесь заполнять профиль на Github, а также составлять портфолио с помощью Open Source проектов. Также мы расскажем, как еще помогают открытые проекты и какие Open Source проекты есть в Хекслете. Вы узнаете не только, как выбирать проекты в зависимости от своих навыков и целей, но и как с ними работать.\n\nПолученные знания и скиллы помогут преодолеть все трудности и найти работу в IT.\n\nТакже в курсе мы расскажем о том, как разработчику подготовиться и проходить собеседование. Из урока вы узнаете, что нужно рассказать о себе, какие вопросы могут задать кандидату, а какие стоит задавать собеседующим. Еще вы познакомитесь с типами и примерами задач, которые вы можете встретить уже на первом интервью.\n\n## Стоит ли идти на универсальный курс по трудоустройству\n\nКроме курса по трудоустройству для разработчиков, есть универсальный курс, который подойдет специалистам разных областей в IT. Например, тестировщикам или системным администраторам.\n\nЕсли вы хотите не только научиться работать с Github и Open Source проектами, но и пройти весь путь от планов начать карьеру в IT до общения с командой на первом месте работы, то универсальный [курс «Трудоустройство»](https://ru.hexlet.io/courses/employment) вам подойдет.\n\nСейчас мы предлагаем ознакомиться с основными шагами подготовки к поиску работы.\nДля студентов, кто обучается в группе или с наставником, мы предложим вступить в Хекслет.Карьеру: это расширенный курс с ревью резюме и сопроводительного письма от карьерного консультанта, тестовым интервью и полезными фишками. Так же в Хекслет.Карьеру входит сообщество, в котором можно будет получать консультации, обмениваться опытом с другими студентами, пополнять свое портфолио новыми проектами и откликаться на партнерские вакансии.\n"},"id":301,"slug":"employment-for-developers","challenges_count":0,"name":"Трудоустройство для разработчиков","allow_indexing":true,"state":"approved","course_state":"finished","pricing_type":"paid","description":"На этом курсе вы узнаете, как разработчику помогает Github при трудоустройстве и чем наполнять портфолио. В итоге вы научитесь заполнять профиль на Github и выбирать коммерческие проекты в соответствии с вашими навыками и целями. Этот курс пригодится, если вы решите трудоустроиться, но не знаете, как развить свои скиллы и продемонстрировать работодателю.","kind":"basic","updated_at":"2026-01-20T11:52:42.905Z","language":"other","duration_cache":6180,"skills":["Оформлять профиль на Github","Оформлять репозиторий проекта","Выбирать опенсорс-проекты","Работать с опенсорс-проектами"],"keywords":[],"lessons_count":6,"cover":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODgzMCwicHVyIjoiYmxvYl9pZCJ9fQ==--760e93dc1bb85642e2c5f5be81adab73e1b6677f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fZmlsbCI6WzYwMCw0MDBdfSwicHVyIjoidmFyaWF0aW9uIn19--6067466c2912ca31a17eddee04b8cf2a38c6ad17/image.png"},"recommendedLandings":[{"stack":{"id":2,"slug":"php","title":"PHP-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":60,"duration_in_months":10},"id":1,"slug":"php","title":"РНР-разработчик","subtitle":"Изучите PHP и Laravel для разработки и проектирования REST API","subtitle_for_lists":"Изучите PHP и Laravel для разработки и проектирования REST API","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"php","price_text":"от 5 650 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk5MiwicHVyIjoiYmxvYl9pZCJ9fQ==--e9d0f30948ea766a7e6bc3e3d56c192344d45fb8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-cuate%20(1).png"},{"stack":{"id":3,"slug":"java","title":"Java-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":30,"duration_in_months":10},"id":3,"slug":"java","title":"Java-разработчик","subtitle":"Изучите Java и фреймворк Spring Boot и REST API","subtitle_for_lists":"Изучите Java и фреймворк Spring Boot и REST API","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"java","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczNSwicHVyIjoiYmxvYl9pZCJ9fQ==--883f3fd4e1b571538035b5680c8d4a9eb504b1f6/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Source%20code-amico.png"},{"stack":{"id":7,"slug":"python","title":"Python-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":10,"duration_in_months":10},"id":7,"slug":"python","title":"Python-разработчик ","subtitle":"Изучите Python, Django, REST и Fast API для создания веб-приложений","subtitle_for_lists":"Изучите Python, Django, REST и Fast API для создания веб-приложений","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"python","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"},{"stack":{"id":12,"slug":"frontend","title":"Фронтенд-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":20,"duration_in_months":10},"id":17,"slug":"frontend","title":"Фронтенд-разработчик","subtitle":"Изучите HTML, CSS, JavaScript и React","subtitle_for_lists":"Изучите HTML, CSS, JavaScript и React","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"frontend","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"},{"stack":{"id":13,"slug":"backend","title":"Node.js-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":130,"duration_in_months":10},"id":19,"slug":"backend","title":"Node.js-разработчик","subtitle":"Изучите JavaScript, Node.js, Fastify и REST API","subtitle_for_lists":"Изучите JavaScript, Node.js, Fastify и REST API","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"backend","price_text":"от 4 755 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNSwicHVyIjoiYmxvYl9pZCJ9fQ==--2e84f5f94140ee4e22019ac479c290ef48c3fac8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"},{"stack":{"id":43,"slug":"fullstack-javascript","title":"Fullstack-разработчик на Node.js","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":140,"duration_in_months":12},"id":74,"slug":"fullstack-javascript","title":"Fullstack-разработчик на Node.js","subtitle":"Освоите JavaScript, Node.js, Fastify и React для фронтенда и бэкенда.","subtitle_for_lists":"Освоите JavaScript, Node.js, Fastify и React для фронтенда и бэкенда.","locale":"ru","current":true,"duration_in_months_text":"12 месяцев","stack_slug":"fullstack-javascript","price_text":"от 7 934 ₽","duration_text":"12 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDA0MywicHVyIjoiYmxvYl9pZCJ9fQ==--e2c6c0775e2308e42fbc5dc592ba2db0470632ca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"}],"lessonMemberUnit":null,"accessToLearnUnitExists":false,"accessToCourseExists":false},"url":"/courses/employment-for-developers/lessons/github-profile/theory_unit","version":"143505ecd123087a8fdfa4acb7147980e9d23d76","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><div style="position:absolute;top:0rem" class=""></div><div style="max-width:var(--container-size-xl);height:100%;min-height:0rem" class=""><style data-mantine-styles="inline">.__m__-_R_5ub_{--grid-gutter:0rem;}</style><div style="height:100%;min-height:0rem" class="m_410352e9 mantine-Grid-root __m__-_R_5ub_"><div class="m_dee7bd2f mantine-Grid-inner" style="height:100%"><style data-mantine-styles="inline">.__m__-_R_rdub_{--col-flex-grow:auto;--col-flex-basis:91.66666666666667%;--col-max-width:91.66666666666667%;}@media(min-width: 48em){.__m__-_R_rdub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}</style><div style="min-width:0rem;height:100%;min-height:0rem;display:flex" class="m_96bdd299 mantine-Grid-col __m__-_R_rdub_"><style data-mantine-styles="inline">.__m__-_R_6qrdub_{margin-top:0rem;padding-inline:var(--mantine-spacing-xs);width:100%;}@media(min-width: 48em){.__m__-_R_6qrdub_{margin-top:var(--mantine-spacing-xl);width:80%;}}@media(min-width: 62em){.__m__-_R_6qrdub_{padding-inline:var(--mantine-spacing-xl);}}</style><div style="margin-inline:auto;max-width:var(--mantine-breakpoint-xl)" class="__m__-_R_6qrdub_"><div style="color:var(--mantine-color-dimmed)" class="m_4451eb3a mantine-Center-root" data-inline="true"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:calc(0.125rem * var(--mantine-scale));color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-lock "><path d="M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6"></path><path d="M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0"></path><path d="M8 11v-4a4 4 0 1 1 8 0v4"></path></svg></div><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Трудоустройство для разработчиков</p></div><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size);margin-bottom:var(--mantine-spacing-xl)" class="m_8a5d1357 mantine-Title-root" data-order="1">Теория: Оформление профиля на GitHub</h1><script type="application/ld+json">{"@context":"https://schema.org","@type":"LearningResource","name":"Оформление профиля на GitHub","inLanguage":"ru","isPartOf":{"@type":"LearningResource","name":"Трудоустройство для разработчиков"},"isAccessibleForFree":"False","hasPart":{"@type":"WebPageElement","isAccessibleForFree":"False","cssSelector":".paywalled"}}</script><div class=""><div style="--alert-color:var(--mantine-color-indigo-light-color);margin-bottom:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-lg)" class="m_66836ed3 mantine-Alert-root" id="mantine-_R_remqrdub_" role="alert" aria-describedby="mantine-_R_remqrdub_-body" aria-labelledby="mantine-_R_remqrdub_-title"><div class="m_a5d60502 mantine-Alert-wrapper"><div class="m_667f2a6a mantine-Alert-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-rocket "><path d="M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"></path><path d="M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"></path><path d="M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path></svg></div><div class="m_667c2793 mantine-Alert-body"><div class="m_6a03f287 mantine-Alert-title"><span id="mantine-_R_remqrdub_-title" class="m_698f4f23 mantine-Alert-label">Полный доступ к материалам</span></div><div id="mantine-_R_remqrdub_-body" class="m_7fa78076 mantine-Alert-message"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Зарегистрируйтесь и получите доступ к этому и десяткам других курсов</p><a style="--button-height:var(--button-height-xs);--button-padding-x:var(--button-padding-x-xs);--button-fz:var(--mantine-font-size-xs);--button-bg:linear-gradient(45deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-filled) 100%);--button-hover:linear-gradient(45deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-filled) 100%);--button-color:var(--mantine-color-white);--button-bd:none" class="mantine-focus-auto mantine-active m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root" data-variant="gradient" data-size="xs" href="/u/new"><span class="m_80f1301b mantine-Button-inner"><span class="m_811560b9 mantine-Button-label">Зарегистрироваться</span></span></a></div></div></div></div></div><div class="paywalled m_d08caa0 mantine-Typography-root"><p>Многие начинающие специалисты не могут найти работу. Часто это связано с тем, что у них нет опыта или его нечем подкрепить. Если у опытного программиста спросят, чем он занимался на предыдущей работе, то он сможет об этом рассказать. Но тем, кто только начинает путь в IT, показать будет нечего.</p>
<p>В последнем случае опыт нужно нарабатывать. Это можно сделать уже во время обучения, а также принимать участие в Open Source. А продемонстрировать практику поможет GitHub.</p>
<p>В этом уроке разберемся, зачем разработчику вести GitHub, как оформлять профиль и вести активность. Еще узнаем, чем заполнять репозиторий, если нет опыта и собственных проектов.</p>
<h2 id="heading-2-1">Что такое GitHub и как он помогает</h2>
<p><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/" rel="noopener noreferrer" target="_blank">GitHub.com</a> — это веб-сервис, где можно хранить Git-репозитории. Еще там размещают код большинства Open Source проектов. В них может поучаствовать любой желающий разработчик.</p>
<p>GitHub — это еще и социальная сеть для программистов. Здесь у каждого пользователя есть публичный профиль, который помогает в поиске работы.</p>
<p>Чтобы показать свой опыт потенциальному работодателю, нужно оставить в резюме ссылку на профиль. Когда рекрутер или другой специалист перейдут по ней, то увидят информацию о вас.</p>
<p>Код — лучшее доказательство вашей подготовки. В современном мире доходит до того, что некоторые работодатели ищут сотрудников через анализ кода на гитхабе.</p>
<p>В профиле важны следующие составляющие:</p>
<ul>
<li>Основная информация о специалисте</li>
<li>Активность в публичных проектах</li>
<li>Репозитории</li>
</ul>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODgzMiwicHVyIjoiYmxvYl9pZCJ9fQ==--5c0186bdbe13e5af8071f55b4240c6fecda77664/profile_solar05.png" alt="github profile example" loading="lazy"/></p>
<p>Разберем каждую из них подробнее. Так вы поймете, чем заполнять профиль, и что привлекает работодателей.</p>
<h2 id="heading-2-2">Как оформить основную информацию о специалисте</h2>
<p>Основная информация профиля — это первое, что видят рекрутеры. Поэтому ее важно оформить так, чтобы она не выглядела пустой.
Вот что должно быть в хорошем профиле:</p>
<ul>
<li>Личная фотография. Профиль в GitHub — это не документ, здесь не обязательно ставить серьезную фотографию как на паспорт. Загрузите такое фото, которое будет располагать к себе</li>
<li>Имя и фамилия. Если вы планируете работать в команде и официально трудоустраиваться, то напишите настоящие имя и фамилию. Так рекрутеры будут знать, что это действительно ваш профиль</li>
<li>Репозитории. Они нужны, чтобы продемонстрировать опыт работы. Это одна из самых важных составляющих профиля. О репозиториях подробнее поговорим немного позже</li>
</ul>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODgzMywicHVyIjoiYmxvYl9pZCJ9fQ==--b40b8a52e074f1aab9c6011892c1c6092208d2e8/profile_dhh.png" alt="github profile example" loading="lazy"/></p>
<p>Еще в профиле можно указать компанию, в которой работаете, ваше месторасположение, ссылку на личный сайт и на аккаунт в Twitter. Также можете написать краткую биографию.</p>
<p>Если хотите рассказать о себе больше, то это можно сделать в специальном репозитории, в котором размещается текстовый файл README.md.</p>
<h3 id="heading-3-3">Как оформлять README</h3>
<p>README.md оформляется с помощью языка разметки Markdown и отображается на странице профиля.</p>
<p>Репозиторий, в котором размещается текстовый файл, должен называться так же, как и ник на GitHub: <code style="margin-bottom:var(--mantine-spacing-lg)" class="m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight m_e597c321 mantine-CodeHighlight-codeHighlight m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight">https://github.com/<username>/<username></code>. Например, если ваш ник Alexxx, то репозиторий должен называться <code style="margin-bottom:var(--mantine-spacing-lg)" class="m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight m_e597c321 mantine-CodeHighlight-codeHighlight m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight">https://github.com/Alexxx/Alexxx</code>.</p>
<p>В этом файле может быть любая информация, которая будет полезна другим. Это можно сравнить с резюме, в котором стоит указать следующую информацию:</p>
<ul>
<li>
<p><strong>Образование.</strong> Укажите наличие высшего образования, даже неоконченного</p>
</li>
<li>
<p><strong>Дополнительное образование.</strong> Укажите курсы, участие в хакатонах, воркшопах и других похожих мероприятиях. Можете рассказать о книгах, которые читали. На Хекслете составлен <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.hexlet.io/pages/recommended-books" rel="noopener noreferrer" target="_blank">список рекомендованных книг</a>, важных для любых разработчиков</p>
</li>
<li>
<p><strong>Опыт работы.</strong> Указывайте любой опыт, который хотя бы косвенно связан с разработкой. Опыт стоит указывать через достижения — чего удалось добиться на предыдущих проектах. Например, вы автоматизировали какие-то задачи на прошлом рабочем месте, или даже создали сайт для компании</p>
</li>
<li>
<p><strong>О себе.</strong> Расскажите немного о себе, чтобы найти точки соприкосновения с работодателем. Сюда можно добавить информацию, которая не вошла ни в один из блоков, но вам важно об этом сказать. Например, можно рассказать о том, какие новые языки программирования вы изучаете, за какими ресурсами следите, какая методика построения рабочих процессов вам ближе</p>
</li>
<li>
<p><strong>Ключевые навыки.</strong> Не указывайте слова, про которые вы слышали и примерно представляете, но никогда не работали с ними. Если вы пробовали разные языки, то так и напишите «написал пару скриптов на python». Четко разделяйте хорошо знакомые вам вещи, и те, с которыми вы знакомы только поверхностно. Разделяйте навыки на фундаментальные и прикладные</p>
<p>К фундаментальным относятся:</p>
<ul>
<li>Знание операционных систем, владение Linux</li>
<li>Знание сетей, tcp/ip, http</li>
<li>Алгоритмы и структуры данных</li>
<li>Математическая подготовка</li>
<li>Базы данных. SQL</li>
</ul>
<p>К прикладным:</p>
<ul>
<li>Владение автоматическим тестированием. Если у вас есть этот пункт, то вы уже лучше, чем 99% новичков и многих работающих программистов</li>
<li>Языки и уровень их владения</li>
<li>Фреймворки. Особенно актуально для веб-разработки</li>
<li>Ключевые библиотеки. Этот пункт довольно опасен. Новички пытаются указать все, что они видели в глаза. Но так делать не надо, это подчеркивает ваш уровень. Указывайте только то, что может быть важно работодателям. Например, react или jquery</li>
</ul>
</li>
</ul>
<p>В среде разработчиков популярны сервисы вопросов-ответов такие, как <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.stackoverflow.com/" rel="noopener noreferrer" target="_blank">Stackoverflow</a> или <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://qna.habr.com/" rel="noopener noreferrer" target="_blank">Хабр Q&A</a>. Даже если вы только начинаете свой путь, всегда есть люди, которые знают меньше вас. Зарегистрируйтесь на этих сервисах и начните отслеживать вопросы от новичков. Даже десяток полезных ответов даст вам много плюсов в карму. Работодатели ценят такую активность.</p>
<p>О чем не стоит писать:</p>
<ul>
<li>Не указывайте форматы данных, например, json или xml. Форматы никак не характеризуют вас, но создают ненужный шум</li>
<li>Не добавляйте похожие вещи, например, css2 и css3. Если вы знаете css, то укажите что-то одно</li>
<li>Не указывайте базовые навыки по работе с компьютером, например, опыт работы с офисными документами. Профессиональное владение компьютером и так подразумевается</li>
</ul>
<p>Кроме перечисленных блоков, укажите в этом файле ссылки на другие социальные сети и статус занятости. Так работодатель сможет лучше изучить вас и поймет, свободны ли вы сейчас как специалист.</p>
<p>Профиль желательно оформлять на английском языке. Его можно назвать стандартом общения в IT, даже если вы не планируете выходить на международный рынок. Если знаете язык недостаточно хорошо, попросите знакомых перевести текст.</p>
<p>Многие рекрутеры и работодатели только по основной информации о кандидате принимают решение, брать ли его на работу. Поэтому этой составляющей профиля не стоит пренебрегать.</p>
<p>Еще часто обращают внимание на активность программиста. Этот показатель отражает, насколько человек вовлечен в работу, сколько он уделяет этому времени, какие направления ему интересны, где он силен и пробует себя.</p>
<h2 id="heading-2-4">Как вести активность в публичных проектах</h2>
<p>Любая публичная активность на GitHub отмечается в профиле. Например, коммиты в свои или чужие репозитории, пулл-реквесты. Публичная активность отображается всем, поэтому рекрутеры, работодатели и другие разработчики видят, где вы принимали участие и что делали.</p>
<p>Часто Open Source проектами оказываются те, которыми мы пользуемся. Например, у Хекслета есть несколько Open Source проектов, в которых студенты принимают активное участие. Большинство из них — проекты, которые работают в продакшене. Вокруг них собираются пользователи и люди, которые их разрабатывают. Участвуя в таких проектах, можно получить реальный продакшн-опыт.</p>
<p>Помимо проектов Хекслета есть и другие. Например, можно принять участие в разработке фреймворка или библиотеки. Такую активность обязательно оценят, и опытные разработчики это подтверждают. Подробнее работу с Open Source проектами разберем в следующем уроке.</p>
<p>Публичная активность — это отличный способ заявить о себе. В первую очередь рекрутеры обращают внимание на те проекты, которые вы разрабатываете сами. Они отображаются в репозитории.</p>
<h2 id="heading-2-5">Как оформить репозиторий</h2>
<p>Репозиторий содержит все файлы проекта и историю их изменений. Он отражает опыт разработчика. Но его нужно хорошо оформить.</p>
<p>Рекомендуемые пункты по оформлению репозитория:</p>
<ul>
<li>есть краткое описание проекта</li>
<li>есть README проекта</li>
<li>код проекта соответствует общепринятым стандартам, используется GitHub Actions и написаны тесты</li>
<li>проект работает и выполняет свою задачу</li>
<li>Git используется по назначению</li>
</ul>
<p>Разберем эти пункты подробнее.</p>
<h3 id="heading-3-6">Описание проекта</h3>
<p>Краткое описание проекта отображается на главной странице, если репозиторий прикреплен в профиле. Так специалист, который изучает ваши работы, сможет выбрать нужный ему проект и не заходить в каждый.</p>
<h3 id="heading-3-7">README проекта</h3>
<p>GitHub по умолчанию отображает файл <code style="margin-bottom:var(--mantine-spacing-lg)" class="m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight m_e597c321 mantine-CodeHighlight-codeHighlight m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight">README.md</code> на странице репозитория. В нем можно указать следующую информацию о проекте:</p>
<ul>
<li>Название проекта и его описание</li>
<li>Команды установки, локального запуска, запуска тестов и линтеров</li>
<li>Примеры использования — например, ссылка на страницу с веб-демонстрацией, примеры использования в коде или скриншоты</li>
<li>Информация о том, можно ли поучаствовать в этом проекте, как связаться, ответы на частые вопросы</li>
</ul>
<p><code style="margin-bottom:var(--mantine-spacing-lg)" class="m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight m_e597c321 mantine-CodeHighlight-codeHighlight m_dfe9c588 mantine-InlineCodeHighlight-inlineCodeHighlight">README.md</code> — это краткая документация. Это первое, что видит человек, который открывает репозиторий. Поэтому здесь важно дать достаточно информации о проекте и рассказать, что он из себя представляет.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODgzNCwicHVyIjoiYmxvYl9pZCJ9fQ==--6eb00b98dcba701f57909f5f1b3cc30607651e44/repo_codebattle_readme.png" alt="github github description example" loading="lazy"/></p>
<h3 id="heading-3-8">Соблюдение стандартов кода и GitHub Actions</h3>
<p>Если репозиторий содержит код, то его нужно оформить по современным общепринятым стандартам, он должен соответствовать правилам линтера. Желательно, чтобы в проекте использовалась система сборки Continuous Integration, например, от самого GitHub — GitHub Actions. Такая система позволяет узнавать о том, собирается ли проект, соблюдаются ли правила кодирования, проходят ли тесты. Знания Continuous Integration приветствуются во многих компаниях.</p>
<h3 id="heading-3-9">Использование Git</h3>
<p>Еще специалисты обращают внимание на то, как пишут коммиты. Так оценивают уровень владения Git. Например, некоторые разработчики не используют Git и загружают свои проекты через форму. Это может оказать негативное впечатление. Рекомендуем пройти курс <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.hexlet.io/courses/intro_to_git" rel="noopener noreferrer" target="_blank">«Введение в Git»</a> и использовать его хотя бы на базовом уровне.</p>
<p>Если оформить репозиторий по этим правилам, то у рекрутеров вряд ли останутся вопросы по вашим навыкам. Однако программисты без опыта могут столкнуться с проблемой — им нечего показывать. Но это легко исправить. Рассказываем, чем новичкам наполнять репозитории.</p>
<h2 id="heading-2-10">Где новичкам взять проекты</h2>
<p>Любой программист может разработать свой проект. Их можно придумывать или брать за идею сторонние. Главная цель проектов новичков — показать потенциальным работодателям, что вы умеете разрабатывать.</p>
<p>Например, если вы студент Хекслета, то можете выполнять наши проекты. Каждый учебный проект — это самостоятельное приложение, которое вы разрабатываете. Помимо учебных проектов можно выполнять тестовые задания из различных компаний.</p>
<p>Вот пара полезных ссылок:</p>
<ul>
<li>В книгах по программированию часто содержатся задания в конце глав. Создайте под книгу отдельный репозиторий и выкладывайте там код. Для СИКП у нас есть целая <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://guides.hexlet.io/ru/how-to-learn-sicp/" rel="noopener noreferrer" target="_blank">инструкция</a></li>
<li>На Хекслете собрана большая <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/Hexlet/ru-test-assignments" rel="noopener noreferrer" target="_blank">подборка тестовых заданий</a> на разные позиции от множества компаний. Найдите то, что вам по душе и реализуйте</li>
</ul>
<p>Также можно участвовать в Open Source проектах, работу с которыми мы подробнее разберем в следующем уроке.</p>
<p>Когда у вас появятся более сложные проекты на GitHub, вы можете ими заменить в профиле те, которые не отражают ваш релевантный опыт или более простые.</p>
<p>Можно принимать участие не только в чужих проектах, но и в своих. Например, пет-проект или личная библиотека могут найти отклик у коммьюнити программистов и стать популярными.</p>
<p>Еще можно заводить репозиторий с мелкими алгоритмическими задачами или упражнениями из книг.</p>
<p>Репозитории — способ показать ваш опыт и навыки. Так вы можете доказать, что не только принимаете активное участие в публичных проектах, но и создаете свои.</p>
<h2 id="heading-2-11">Вывод</h2>
<p>Профиль в GitHub — это обязательный атрибут современного разработчика. Благодаря GitHub можно найти работу, продемонстрировать свои навыки и поучаствовать в интересных проектах на новых технологиях.</p>
<p>В профиле должна быть релевантная и полезная информация: личные данные, активность в публичных проектах и свои проекты. Если на профиль зашел рекрутер, он сможет оценить ваш опыт и профессионализм и написать.</p>
<p>Не забывайте, что репозитории нужно оформлять качественно — с описанием того, что за проекты и как их запустить. Это повышает привлекательность и интерес к проекту со стороны.</p>
<p>Когда вы наберетесь опыта, GitHub станет еще полезнее. Например, вы сможете перейти на пассивный поиск работы. Когда будут спрашивать про ваш опыт, достаточно дать ссылку на профиль. В нем будет вся необходимая информация об используемых технологиях и примеры проектов.</p>
<p>Еще благодаря Open Source опытные программисты работают с технологиями, которые не используются в рабочих проектах. Так они повышают свои навыки. Также они сами создают свои проекты, которые потом становятся популярными.</p>
<p>Также рекомендуем воспользоваться бесплатным помощником для создания красивых GitHub-профилей <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://www.profileme.dev/" rel="noopener noreferrer" target="_blank">ProfileMe</a>. В нем можно выбрать один из более 60 языков программирования и фреймворков. Еще с его помощью можно дать ссылки на профили в социальных сетях и делиться статистикой.</p></div><div style="margin-block:var(--mantine-spacing-xl)" class=""><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-bottom:var(--mantine-spacing-md)" class="m_8a5d1357 mantine-Title-root" data-order="2">Рекомендуемые программы</h2><style data-mantine-styles="inline">.__m__-_R_2mremqrdub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:70%;}@media(min-width: 36em){.__m__-_R_2mremqrdub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_2mremqrdub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/php?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">РНР-разработчик</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите PHP и Laravel для разработки и проектирования REST API</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk5MiwicHVyIjoiYmxvYl9pZCJ9fQ==--e9d0f30948ea766a7e6bc3e3d56c192344d45fb8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-cuate%20(1).png" alt="РНР-разработчик" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 5 650 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/java?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Java-разработчик</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите Java и фреймворк Spring Boot и REST API</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczNSwicHVyIjoiYmxvYl9pZCJ9fQ==--883f3fd4e1b571538035b5680c8d4a9eb504b1f6/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Source%20code-amico.png" alt="Java-разработчик" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/python?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Python-разработчик </p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите Python, Django, REST и Fast API для создания веб-приложений</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png" alt="Python-разработчик " loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/frontend?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Фронтенд-разработчик</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите HTML, CSS, JavaScript и React</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png" alt="Фронтенд-разработчик" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/backend?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Node.js-разработчик</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите JavaScript, Node.js, Fastify и REST API</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNSwicHVyIjoiYmxvYl9pZCJ9fQ==--2e84f5f94140ee4e22019ac479c290ef48c3fac8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png" alt="Node.js-разработчик" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 4 755 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/fullstack-javascript?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">12 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Fullstack-разработчик на Node.js</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Освоите JavaScript, Node.js, Fastify и React для фронтенда и бэкенда.</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDA0MywicHVyIjoiYmxvYl9pZCJ9fQ==--e2c6c0775e2308e42fbc5dc592ba2db0470632ca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png" alt="Fullstack-разработчик на Node.js" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 7 934 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses?promo_name=programs_list&promo_position=course&promo_creative=catalog_card&promo_type=card"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-bottom:var(--mantine-spacing-md);font-size:var(--mantine-font-size-h3)" class="m_8a5d1357 mantine-Title-root" data-order="2" data-responsive="true">Каталог</h2><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полный список доступных курсов по разным направлениям</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="/vite/assets/development-BVihs_d5.png" alt="Orientation"/></div></div></div></a></div></div></div></div></div></div></div></div></div><style data-mantine-styles="inline">.__m__-_R_1bdub_{--col-flex-grow:auto;--col-flex-basis:8.333333333333334%;--col-max-width:8.333333333333334%;}@media(min-width: 48em){.__m__-_R_1bdub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}</style><div style="min-width:0rem;height:100%;min-height:0rem" class="m_96bdd299 mantine-Grid-col __m__-_R_1bdub_"><div style="margin-inline:var(--mantine-spacing-xs)" class="mantine-visible-from-sm"><a style="--button-color:var(--mantine-color-white);margin-bottom:var(--mantine-spacing-lg);text-decoration:none" class="mantine-focus-auto m_849cf0da mantine-focus-auto m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses/employment-for-developers/lessons/github-profile/finish_unit?unit=theory" data-disabled="true" data-block="true" disabled=""><span class="m_80f1301b mantine-Button-inner"><span class="m_811560b9 mantine-Button-label"><span style="margin-inline-end:var(--mantine-spacing-xs)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Дальше</span>→</span></span></a><a style="padding-inline:0rem" class="mantine-focus-auto m_f0824112 mantine-NavLink-root m_87cf2631 mantine-UnstyledButton-root"><span class="m_690090b5 mantine-NavLink-section" data-position="left"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-list-numbers "><path d="M11 6h9"></path><path d="M11 12h9"></path><path d="M12 18h8"></path><path d="M4 16a2 2 0 1 1 4 0c0 .591 -.5 1 -1 1.5l-3 2.5h4"></path><path d="M6 10v-6l-2 2"></path></svg></div></span><div class="m_f07af9d2 mantine-NavLink-body"><span class="m_1f6ac4c4 mantine-NavLink-label">Навигация по теме</span><span class="m_57492dcc mantine-NavLink-description">Теория</span></div><span class="m_690090b5 mantine-NavLink-section" data-position="right"></span></a><div style="margin-block:var(--mantine-spacing-lg)" class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div><div style="margin-block:var(--mantine-spacing-lg)" class=""><div style="justify-content:space-between;margin-bottom:calc(0.1875rem * var(--mantine-scale));color:var(--mantine-color-dimmed);font-size:var(--mantine-font-size-xs)" class="m_8bffd616 mantine-Flex-root __m__-_R_qimrbdub_"><p style="font-size:var(--mantine-font-size-xs)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Завершено</p><p style="font-size:var(--mantine-font-size-xs)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">0 / 6</p></div><div style="--progress-size:var(--progress-size-sm)" class="m_db6d6462 mantine-Progress-root" data-size="sm"><div style="--progress-section-size:0%;--progress-section-color:var(--mantine-color-gray-filled)" class="m_2242eb65 mantine-Progress-section" role="progressbar" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" aria-valuetext="0%"></div></div></div><button style="padding-inline:0rem" class="mantine-focus-auto m_f0824112 mantine-NavLink-root m_87cf2631 mantine-UnstyledButton-root" type="button"><span class="m_690090b5 mantine-NavLink-section" data-position="left"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-message "><path d="M8 9h8"></path><path d="M8 13h6"></path><path d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12"></path></svg></div></span><div class="m_f07af9d2 mantine-NavLink-body"><span class="m_1f6ac4c4 mantine-NavLink-label">Обсуждения (архив)</span><span class="m_57492dcc mantine-NavLink-description"></span></div></button><div style="--toc-bg:var(--mantine-color-blue-light);--toc-color:var(--mantine-color-blue-light-color);--toc-size:var(--mantine-font-size-sm);--toc-radius:var(--mantine-radius-sm);margin-top:var(--mantine-spacing-xl)" class="m_bcaa9990 mantine-TableOfContents-root" data-variant="light" data-size="sm"></div></div><div class="mantine-hidden-from-sm"><div style="--stack-gap:0rem;--stack-align:stretch;--stack-justify:flex-start" class="m_6d731127 mantine-Stack-root"><a style="--button-color:var(--mantine-color-white);margin-bottom:var(--mantine-spacing-xs);padding:0rem;text-decoration:none" class="mantine-focus-auto m_849cf0da mantine-focus-auto m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses/employment-for-developers/lessons/github-profile/finish_unit?unit=theory" data-disabled="true" data-block="true" disabled=""><span class="m_80f1301b mantine-Button-inner"><span class="m_811560b9 mantine-Button-label">→</span></span></a><button style="--ai-size:var(--ai-size-sm);--ai-bg:transparent;--ai-hover:var(--mantine-color-indigo-light-hover);--ai-color:var(--mantine-color-indigo-light-color);--ai-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding-block:var(--mantine-spacing-lg);color:inherit;width:100%" class="mantine-focus-auto m_8d3f4000 mantine-ActionIcon-root m_87cf2631 mantine-UnstyledButton-root" data-variant="subtle" data-size="sm" data-disabled="true" type="button" disabled=""><span class="m_8d3afb97 mantine-ActionIcon-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-list-numbers "><path d="M11 6h9"></path><path d="M11 12h9"></path><path d="M12 18h8"></path><path d="M4 16a2 2 0 1 1 4 0c0 .591 -.5 1 -1 1.5l-3 2.5h4"></path><path d="M6 10v-6l-2 2"></path></svg></span></button><button style="--ai-size:var(--ai-size-sm);--ai-bg:transparent;--ai-hover:var(--mantine-color-indigo-light-hover);--ai-color:var(--mantine-color-indigo-light-color);--ai-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding-block:var(--mantine-spacing-lg);color:inherit;width:100%" class="mantine-focus-auto mantine-active m_8d3f4000 mantine-ActionIcon-root m_87cf2631 mantine-UnstyledButton-root" data-variant="subtle" data-size="sm" type="button"><span class="m_8d3afb97 mantine-ActionIcon-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-message "><path d="M8 9h8"></path><path d="M8 13h6"></path><path d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12"></path></svg></span></button></div></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-D8AK0-_C.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>