Программа и содержание

Сайт: Сайт автора

От основ и внутреннего устройства Go – до создания микросервисов и взаимодействия с другими системами.

Для кого этот курс:

Для бэкенд-разработчиков.

Сможете перейти на Golang, изучите различные библиотеки и лучшие практики.

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

Структурируете и расширите имеющиеся знания, перейдёте от написания кода к инженерной разработке.

Для фронтенд и фулстек-разработчиков.

Сможете делать продукт от пользовательского интерфейса до K8s.

Для DevOps.

Научитесь профилировать «живые» сервисы и осуществлять мониторинг на уровне кода.

Необходимые знания:

опыт разработки от 1 года

опыт разработки серверной части приложений

знание git, работа в GitHub

общее знакомство с CI: GitLab CI, Travis CI

Будет плюсом:

знания по основным конструкциям и синтаксису Go

знание одного из ЯП, в особенности С/C++

опыт администрирования Linux

Что вам даст этот курс:

Изучите не только синтаксис языка, но и внутренние механизмы Go

Поймёте, как работают планировщик, сборщик мусора и эскейп-анализ. Научитесь профилировать приложения через pprof, писать бенчмарки и избегать типовых ошибок, связанных с памятью, слайсами, мапами и nil-интерфейсами.

Освоите промышленную сетевую разработку

Сможете самостоятельно разрабатывать клиент-серверные системы на Go: от TCP/UDP и SQL/NoSQL до промышленных HTTP/gRPC API с транзакциями, TLS и полным циклом тестирования.

Разберёте прикладные алгоритмы, необходимые для позиций middle и senior

Реализуете алгоритмы, которые спрашивают на собеседованиях в крупные IT-компании. В их числе — LRU-кэш на связном списке, конвейеры с горутинами, частотный анализ текста и параллельное выполнение задач.

После обучения вы сможете:

создавать надёжные серверные приложения

профилировать и оптимизировать производительность кода

работать с горутинами без гонок данных

упаковывать сервисы в Docker и K8s

Практика как основа:

За время курса вы создадите десяток работающих программ — от простых утилит до полноценного сервиса «Календарь». В итоге защитите собственный проект, который можно будет добавить в портфолио.

Процесс обучения:

У нас нет предзаписанных уроков.

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

И самое главное – сможете практиковаться!

Формат обучения:

Интерактивные вебинары

2 онлайн-занятия по 2 академических часа в неделю, вечный доступ к обучающим материалам.

Практика

16 домашних заданий и проектная работа помогут закрепить знания и открыть новые карьерные возможности.

Длительность 5 месяцев.

Программа:

1. Начало работы с Go

В первом модуле мы посмотрим на Go как на язык программирования. Рассмотрим основные синтаксические конструкции и их выполнение в runtime. Основное внимание уделим конструкциям, уникальным для языка Go, которых нет в другом языке.

Тема 1: Знакомство с курсом / ДЗ

Тема 2: Синтаксис языка

Тема 3: Типы данных

Тема 4: Особенности языка и типовые ошибки / ДЗ

Тема 5: Лучшие практики работы с ошибками / ДЗ

Тема 6: Тестирование в Go

Тема 7: Продвинутое тестирование в Go

Тема 8: Интерфейсы изнутри / ДЗ

2. Concurrency в Go

Второй модуль мы посвятим одной из самых главных тем Go — конкурентности. Познакомимся с горутинами и каналами, с тем, как устроена память и сборка мусора в Go. Научимся писать конкурентно-безопасные программы.

Тема 1: Горутины и каналы

Тема 2: Примитивы синхронизации в деталях / ДЗ

Тема 3: Дополнительные примитивы синхронизации

Тема 4: Concurrency patterns / ДЗ

Тема 5: Go внутри. Планировщик

Тема 6: Go внутри. Память и сборка мусора

3. Стандартные библиотеки и практики

В третьем модуле мы познакомимся с основными функциями стандартной библиотеки Golang, а также наиболее популярными open-source библиотеками. Научимся взаимодействовать с операционной и файловой системами из Go, поговорим о понятиях рефлексии и кодогенерации, а также рассмотрим инструменты профилирования программ, написанных на Go.

Тема 1: Работа с вводом/выводом в Go / ДЗ

Тема 2: Конфигурация и логирование

Тема 3: CLI / ДЗ

Тема 4: Рефлексия

Тема 5: Кодогенерация и AST

Тема 6: Дженерики в Go / ДЗ

Тема 7: Профилирование и оптимизация Go программ / ДЗ

4. Работа с сетью и БД

Go чаще всего используется для написания сетевых сервисов. В четвертом модуле мы изучим, как работать с сетью в языке Go. Рассмотрим стандартные протоколы и форматы, а также напишем простой web-сервер. Отдельное внимание будет уделено обработке ошибок, возникающих при работе с сетью. Дополнительно в данном модуле мы поговорим о работе с SQL и gRPC.

Тема 1: Контекст и низкоуровневые сетевые протоколы / ДЗ

Тема 2: Работа с SQL / ДЗ

Тема 3: Работа с NoSQL

Тема 4: Работа с HTTP

Тема 5: Работа с gRPC

Тема 6: Работа с gRPC ч.2 / ДЗ

5. Микросервисы

В пятом модуле мы рассмотрим вопросы архитектуры web-сервисов, в частности популярную на данный момент микросервисную архитектуру. Рассмотрим вопросы интеграционного тестирования, развертывания и эксплуатации приложений.

Тема 1: Монолит и микросервисы

Тема 2: Кэширование

Тема 3: Очереди сообщений / ДЗ

Тема 4: Docker

Тема 5: K8s / ДЗ

Тема 6: Helm

Тема 7: Мониторинг / ДЗ

Тема 8: Тестирование микросервисов

6. Проект

Проект, разрабатываемый студентами, будет представлять собой реализацию микросервиса с полным набором компонентов, таких как: ядро, работа с хранилищем, конфигурация и логгирование, работа с очередями сообщений, liveness-пробы, Makefile, юнит- и интеграционные тесты, статический анализ кода, файлы для деплоя, Dockerfile\'ы и пр.

Тема 1: Проектная работа. Вводное

Тема 2: Консультация по проектам

Тема 3: Итоговое занятие

Проектная работа:

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

Примеры итоговых проектов студентов:

Системный мониторинг

SQL-мигратор

Banner Rotation service

Rate Limit. Анти-брутфорс

Превьювер изображений

Преподаватели:

Руководитель курса Юра Рубаха

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

Евгений Кабо

Старший Go-разработчик, Ozon Bank

Алексей Романовский

Разработчик, Resolver

Роман Грицуляк

Разработчик, консультант

Александр Хохлов

Архитектор платформенных решений, ГК Иннотех

Старт 29 сентября 2026 года.