Получите мощный набор инструментов и навыков

REST API
Паттерны
Базы данных
Многопоточность
Профилирование
Стилизация
Документация
Дженерики
Кодогенерация
TCP/UDP
gRPC
Программу обновляем регулярно, чтобы вы проходили только актуальное
Она рассчитана на 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 недель
Алгоритмы и структуры данных
Это опциональный модуль, который вы сможете пройти в свободном темпе, без дедлайнов и сопровождения ментора.
  • Структуры данных
  • Рекурсия
  • Сортировки
  • Хеш-функции
  • Хеш-таблицы
Основные структуры данных
Понятия алгоритма и сложности, временная и пространственная сложность, алгоритмические собеседования, массив, связный список, стек, очередь, сложность операций вставки, поиска и удаления, представление данных в памяти, пространственная сложность алгоритма
Рекурсия и сортировки
Понятие рекурсии, принцип «Разделяй и властвуй», бинарный поиск, квадратичные сортировки, сортировка слиянием, быстрая сортировка, линейная сортировка подсчётом
Хеш‑функции и хеш‑таблицы
Абстракция отображения, понятие и свойства хеш‑функции, примеры, структура данных, хеш‑таблица, коллизии и способы их разрешения
С наставником・Каждые 2 недели
Вебинары для разбора сложных тем, сессии Q&A
Получите диплом о профессиональной переподготовке
Это официальный документ установленного образца, который принимают работодатели. Образовательная лицензия № Л035‑01298‑77/00185314 от 24 марта 2015 года.
Как устроен курс
YandexGPT помогает учиться
Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого урока подготовит краткий пересказ о самом главном.
Этот курс может оплатить
ваш работодатель
Полностью или разделив оплату с вами,
например 50/50 или 75/25
  • Расскажем всё про курс
  • Поделимся презентацией
  • Ответим на ваши вопросы
  • Подготовим договор и счёт
Тем, у кого пока нет опыта в разработке, подойдёт курс «Go‑разработчик с нуля»
Он идёт 8 месяцев: сначала разберёте, что такое переменные, циклы и функции, а потом перейдёте к бэкенду и проектам, приближенным к реальным задачам junior разработчиков
Отвечаем на вопросы
Каким требованиям нужно соответствовать?
Мы ждём, что вы:
  • знаете основы бэкенд‑разработки, в том числе НТТР, JSON, Git, работу в терминале;
  • умеете писать базовые SQL‑запросы к базам данных;
  • знакомы с Go и его экосистемой: циклами, ветвлениями, эмбеддингом, интерфейсами;
  • понимаете, как писать тесты с помощью стандартных средств Go.
Если вы прошли наш курс «Go‑разработчик с нуля», вам тоже подойдёт продвинутая программа. А ещё в бесплатной вводной части есть тест — можно проверить свои навыки.
Чем вы отличаетесь от других курсов?
Мы следуем принципам менторства senior разработчика над junior — так же, как это устроено в IT‑компаниях. Это значит, что набираться опыта вы будете в условиях, максимально приближенных к реальным. При этом вы будете в безопасной среде, где не страшно ошибаться, просить помощи, пробовать снова.
Кто будет меня учить?
Программа составлена под руководством техлидов из Яндекса, а также методиста и авторов‑разработчиков, работающих в крупных компаниях на должностях уровня lead, senior или middle. Вашими менторами будут senior разработчики из Яндекса, Ozon и других компаний.
Сколько времени занимает обучение?
Курс «Продвинутый Go-разработчик» длится 6 месяцев, нужно выделять около 10–15 часов в неделю. Это с учётом дедлайнов и деления программы на спринты.

Если захотите, курс можно пройти в своём темпе: без жёстких дедлайнов и ограничений по времени.
Как и когда я буду учиться?
Курс состоит из 3 частей:
  • изучения теории в текстовом формате и отработки навыков в практических заданиях;
  • написания инкрементов и рефакторинга кода вашего большого проекта;
  • вебинаров и личных консультаций с ментором, общения в чатах.
Осваивать теорию и решать задания вы можете в любое удобное время, а вот практика в рамках большого проекта привязана к двухнедельным спринтам.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрены каникулы, во время которых можно отдохнуть или повторить сложные темы.

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

Также, если вы не будете успевать за программой, можно в любое время перейти на формат «в своём темпе», где нет ограничений по дедлайнам.
Если не понравится, я могу вернуть деньги?
Конечно. Если поток ещё не стартовал, вернём всю сумму. Если учёба уже началась, придётся оплатить прошедшие дни со старта вашего первого потока — но мы вернём деньги за остаток курса. Более подробно рассказываем об этом в 7 пункте оферты.
Получу ли я какой-то документ после курса?
Если у вас есть среднее профессиональное или высшее образование, после курса вы получите диплом о профессиональной переподготовке.

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

Но если у вас появится вопрос о карьерном развитии, обратитесь в нашу службу поддержки — постараемся ответить.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

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

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

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

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

Вот инструкция, которая поможет всё оформить.

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

Мы перезваниваем в течение 30 минут каждый день с 10:00 до 19:00. Если оставите заявку сейчас, то перезвоним уже в рабочее время.

Как планируете учиться?