Чем занимаются
Go-разработчики

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

Какой может быть ваша карьера после курса

Должность

Go-разработчик

Навыки и инструменты, которые будете использовать

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

REST API
HTTP
Базы данных
Многопоточность
Профилирование
Стилизация
Документация
Дженерики
Кодогенерация
TCP/UDP
gRPC
Паттерны

Средняя зарплата

Сможете начать с junior позиции, а дальше только вперёд — будете шагать по карьерной лестнице и расти в цене

105 000 ₽
Junior
194 000 ₽
Middle
290 000 ₽ +
Senior

Это курс для разработчиков с опытом

Вам понадобятся базовые знания Go и бэкенд-разработки.

Как мы учим

YandexGPT помогает учиться

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

Вы будете учиться не одни

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

Программа курса

Рассчитана на 6 месяцев и составлена на основе требований работодателей — будете изучать только то, что действительно пригодится в работе
2 часа
Бесплатно
Введение и вступительный тест
Это бесплатная часть курса, чтобы вы познакомились с учебной платформой и проверили свой уровень знаний с помощью теста
Как устроена учёба в Практикуме
Узнаете, что будет на курсе, какая вас ждёт нагрузка и кто будет помогать вам учиться
Вступительный тест
Ответите на 20 вопросов по основам Go и бэкенд-разработки и решите, подходит ли вам программа
Узнаете, как проходит обучение, пройдёте тест и поймёте, подходит ли вам курс
1
9 тем・6 недель
Пакеты стандартной библиотеки
Познакомитесь с популярными пакетами Go. Научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных. Познакомитесь с особенностями сериализации и обработки ошибок в Go.
  • Net/http
  • Flag
  • Os
  • Log
  • Encoding
  • Compress
  • Time, context
  • Database/sql
  • Errors
  • Hash, crypto
Пакет net/http. Работа с HTTP
Структура проекта, создание HTTP‑сервера, тестирование HTTP‑приложения, использование HTTP‑клиента, выбор HTTP‑библиотеки
Пакеты flag и os. Чтение аргументов командной строки
Аргументы командной строки, переменные окружения, чтение и запись в файл
Пакет log. Логирование в приложении
Стандартные и сторонние пакеты для логирования, логирование через middleware
Пакет encoding. Сериализация и десериализация данных
Основы REST API, структурные теги, стандартные сериализаторы, сторонние сериализаторы
Пакет compress. Сжатие данных
Оптимизация передачи данных
Пакеты time, context. Отмена операций и управление временем выполнения
Даты, интервалы, таймеры, отмена операций
Пакет database/sql. Взаимодействие с базами данных SQL
Имитация баз данных, абстрактный интерфейс и SQL‑драйверы, запросы к базе данных, запись в базу данных
Пакет errors. Обработка ошибок
Интроспекция ошибок
Пакеты hash, crypto. Безопасность информации
Хеширование и шифрование, авторизация: JSON Web Token
Выберете 1 из практических треков: Сервис сокращения URL или Сервис сбора метрик и алертинга. Это свяжет все задания курса в единый проект
2
1 тема・2 недели
Конкурентность
Узнаете, что такое многопоточность на уровне операционной системы. Поймёте, в чём разница между потоком и процессом, какие есть виды многопоточности, что происходит при переключении потоков и как бороться с deadlock и data race. Изучите устройство планировщика Go и освоите работу с легковесными потоками в языке — Goroutines.
  • Многопоточность
  • Goroutines
Многопоточность
Основы многопоточности, многопоточность в Go, каналы, паттерны многопоточности
Самостоятельно・5 недель
Промежуточный проект
Выполните проект по техническому заданию: разработаете HTTP API для управления учётными записями пользователей и их накопительными счетами в рамках программы лояльности интернет-магазина. Работать можно индивидуально или в команде с другими студентами. А ещё, если захотите, сможете выбрать другую тему проекта, предварительно согласовав её с ментором.
Взаимодействие с системой
Осуществите его через HTTP‑хендлеры для регистрации и входа в систему, загрузки и просмотра номеров заказов, просмотра и вывода баллов
Хранение данных
Для этого используете PostgreSQL, а структуру таблиц и формат хранения подберёте самостоятельно
Интеграции
Обеспечите интеграцию с внешним сервисом, который работает по принципу «чёрного ящика»: он будет рассчитывать начисление баллов лояльности
Разработаете систему лояльности для интернет‑магазина Гофермарт или выполните проект на тему, которую выберете сами
3
2 темы・1 неделя
Паттерны проектирования на Go
Разберёте паттерны проектирования и антипаттерны программирования на Go. Узнаете, как реализовать наиболее распространённые паттерны проектирования приложений и как избежать неявных ошибок при программировании на Go.
  • Паттерны проектирования
  • Антипаттерны программирования
Паттерны проектирования
Порождающие паттерны, структурные паттерны, поведенческие паттерны
Антипаттерны программирования
Постулаты Go, лучшие практики и антипаттерны
4
5 тем・3 недели
Тулинг
Научитесь использовать тулинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
  • Pprof
  • Gofmt
  • Goimports
  • Godoc
  • Swagger
Профилирование и стилизация
Бенчмарки, инструмент pprof, форматирование кода: gofmt и goimports
Документация
Генерирование документации командой godoc, спецификация Swagger, шаблон example_test.go
Статический анализ кода
Команда go vet, пакет go/ast, пакет x/analysis, пакет staticcheck
Дженерики и кодогенерация
Инструменты метапрограммирования: кодогенерация, шаблоны, рефлексия, абстрактное синтаксическое дерево и дженерики
Флаги сборки и компиляции
Флаги сборки и компиляции, build constraints
5
7 тем・4 недели
Расширенная стандартная библиотека
Завершите знакомство со встроенными пакетами Go и познакомитесь с расширенной стандартной библиотекой языка — она содержит большое количество полезных пакетов.
  • Stdlib
  • Math/rand
  • Crypto/rand
  • Bytes
  • Bufio
  • Os
  • Sync и x/sync
  • Net
  • TCP и UDP
  • gRPC
  • Protocol Buffers
Экспресс-обзор стандартной библиотеки
Пакеты стандартной библиотеки, расширенная стандартная библиотека
Генерация случайных чисел
Псевдослучайные числа и криптостойкие случайные числа, пакеты math/rand и crypto/rand
Чтение данных и буфер
Пакет bytes: работа со слайсами, пакет bufio: буферизованное чтение и запись данных
Работа с операционной системой
Пакет os, работа с директориями и процессами, вызов внешних приложений, сигналы
Примитивы синхронизации
Пакеты sync, x/sync, oбработка ошибок, возвращаемых из Goroutines, Semafore для контроля доступа к общему ресурсу, потокобезопасная мапа sync.Map, singleflight для предотвращения параллельного выполнения кода
Работа с сетью
Пакет net, работа с TCP и UDP, IP‑адреса, работа с удалённым вызовом процедур
Protocol Buffers и фреймворк gRPC
Protocol Buffers и gRPC, разработка gRPC‑сервера и клиента
Самостоятельно・5 недель
Итоговый проект
Выполните проект по техническому заданию: разработаете менеджер паролей — клиент-серверную систему, которая позволяет надёжно хранить и синхронизировать логины, пароли и другую приватную информацию. Работать можно индивидуально или в команде с другими студентами. А ещё, если захотите, сможете выбрать другую тему проекта, предварительно согласовав её с ментором.
Клиент и сервер
Спроектируете клиентскую часть в виде CLI‑приложения — для аутентификации и доступа к приватным данным, и серверную часть — для хранения и синхронизации данных между устройствами пользователя
Дополнительные функции
Добавите поддержку одноразовых паролей (OTP) и терминального пользовательского интерфейса (TUI)
Разработаете менеджер паролей GophKeeper или выполните проект на тему, которую выберете сами
6
Дополнительно・3 темы・5 недель
Алгоритмы и структуры данных
Это опциональный модуль, который вы сможете пройти в свободном темпе, без дедлайнов и сопровождения ментора.
  • Структуры данных
  • Рекурсия
  • Сортировки
  • Хеш-функции
  • Хеш-таблицы
Основные структуры данных
Понятия алгоритма и сложности, временная и пространственная сложность, алгоритмические собеседования, массив, связный список, стек, очередь, сложность операций вставки, поиска и удаления, представление данных в памяти, пространственная сложность алгоритма
Рекурсия и сортировки
Понятие рекурсии, принцип «Разделяй и властвуй», бинарный поиск, квадратичные сортировки, сортировка слиянием, быстрая сортировка, линейная сортировка подсчётом
Хеш‑функции и хеш‑таблицы
Абстракция отображения, понятие и свойства хеш‑функции, примеры, структура данных, хеш‑таблица, коллизии и способы их разрешения
Карьерный центр・4 недели
Трудоустройство
Эта часть курса для тех, кто решил найти работу в сфере разработки. Вы изучите стратегии поиска работы и узнаете о тонкостях выбора компании-работодателя, подготовите портфолио, напишете резюме и сопроводительное письмо.
С наставником・Каждые 2 недели
Вебинары для разбора сложных тем, сессии Q&A

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

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

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

Подробнее об акции

Отвечаем на вопросы

Каким требованиям нужно соответствовать?
На этом курсе вам понадобятся знания синтаксиса Go и основ бэкенд-разработки. Обычно эти знания появляются после 1–2 лет работы бэкенд-разработчиком. Однако, если вы окончили курсы по программированию, например, «Go-разработчик с нуля» в Практикуме, вы тоже сможете учить Go с нами.

В бесплатной вводной части будет тест — можно попробовать свои силы и понять, подходит ли вам курс.
Чем вы отличаетесь от других курсов?
Наш курс следует принципам менторства senior разработчика над junior так же, как это происходит в IT-компаниях, только вы будете в безопасной среде, где не страшно ошибаться, просить помощи, пробовать снова. У вас будет возможность обмениваться опытом с менторами, в том числе в индивидуальном формате, чтобы развиваться быстрее и более осознанно. Этим подходом мы отличаемся от остальных.
Кто будет меня учить?
Программа составлена под руководством техлидов из Яндекса, а также методиста и авторов-разработчиков, работающих в крупных компаниях на должности lead, senior и middle developer. Вашими менторами будут senior разработчики из Яндекса, Ozon и других компаний.
Сколько времени занимает обучение?
Курс «Продвинутый Go-разработчик» длится 6 месяцев, учёба будет занимать около 10-15 часов в неделю. Это с учётом дедлайнов и разделения программы на спринты. При желании, этот курс также можно пройти «в своём темпе» — без жёстких дедлайнов и ограничений по времени.
Как и когда я буду учиться?
Обучение состоит из трёх частей:
— Чтение уроков в текстовом формате и выполнение локальных практических заданий;
— Написание инкрементов и рефакторинг кода вашего большого проекта;
— Общение с сокурсниками и ментором в чатах, на вебинарах и встречах один на один.

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

Также, если вы не будете успевать за темпом обучения, можно в любое время перейти на формат «в своём темпе», где нет ограничений по дедлайнам.
Если не понравится, я могу вернуть деньги?
Да, причём в любой момент. Если обучение в потоке уже началось, придётся оплатить прошедшие дни — но мы вернём деньги за оставшееся время обучения. Более подробно рассказываем об этом в седьмом пункте оферты.
Хорошо, а вы можете помочь с поиском работы?
Да. Опытные HR подготовили материалы, которые помогут вам оформить привлекательное портфолио, написать сопроводительные письма и пройти собеседование в любую компанию.
А если я хочу работать в Яндексе?
Некоторые наши студенты работают в сервисах Яндекса, в том числе и в Практикуме. Но с нашей стороны было бы нечестно что-либо гарантировать и завышать ваши ожидания.

Без опыта попасть в крупную IT-компанию возможно, хотя и сложно. Программа составлена так, чтобы вы могли начать карьеру после выпуска и набраться первого опыта. С ним вам будет значительно проще претендовать на позицию в крупных компаниях.
Получу ли я какой-то документ после курса?
Если у вас есть среднее профессиональное или высшее образование, после курса вы получите диплом о профессиональной переподготовке.

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

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Обучение будет стоить меньше, если оплатить весь курс сразу.

Через компанию: юридические лица — резиденты РФ также могут оплатить обучение в Практикуме. Оставить заявку на оплату от юрлица можно на странице для корпоративных клиентов.
Можно ли оплатить курс за счёт работодателя?
Да, работодатель может оплатить учёбу полностью или разделить оплату с вами: например, поделить сумму 50/50 или 75/25.

Такая оплата пройдёт по счёту или двустороннему договору, а ИП могут оплатить с бизнес-счёта. Если работодатель купит обучение сразу 10 и больше сотрудникам, сделаем скидку 10%.

Чтобы получить счёт на оплату через компанию, оставьте заявку или напишите нам в чат поддержки.
Что такое налоговый вычет на обучение и как его получить?
Налоговый вычет может оформить тот, кто работает по трудовому договору и является налоговым резидентом Российской Федерации, то есть 183 дня в году находится на территории страны.

Для этого нужно подать заявление на налоговый вычет через личный кабинет на сайте nalog.ru (в него можно войти через аккаунт на Госуслугах).

К заявлению нужно приложить:
•‎ Справку 2-НДФЛ от работодателя.
•‎ Договор на обучение, в вашем случае это оферта Практикума.
•‎ Лицензию на образовательную деятельность. Вот наша.
•‎ Чек об оплате обучения. Мы отправляем его на электронную почту. Если не найдёте чек у себя в почте, напишите в чат службы поддержки — вышлем копию.
•‎ Справку о получении образовательных услуг — её тоже нужно запросить в чате поддержки.

Подробнее о налоговом вычете — на сайте Федеральной налоговой службы.

Давайте поможем

Напишите, как вас зовут и по какому номеру можно связываться — позвоним и расскажем всё про курсы