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

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

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

Должность

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

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

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

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

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

Вам понадобятся базовые знания 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
Этот курс может оплатить
ваш работодатель
Полностью или разделив оплату с вами,
например 50/50 или 75/25
  • Расскажем всё про курс
  • Поделимся презентацией
  • Ответим на ваши вопросы
  • Подготовим договор и счёт

Попробуйте любой формат курса бесплатно — выбрать один-единственный можно позже

  •                                        

Что входит в любой формат

  • Ещё можно платить частями Практикуму столько месяцев, сколько идёт курс. Общая стоимость будет меньше, чем в рассрочку от банка
  • Вернём деньги в любой момент за остаток курса,
    если что-то не понравится. Подробности — в 7 пункте оферты

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

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

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

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

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

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

Обратите внимание: если курс оплачивает ваш работодатель, у вас не будет подготовки к трудоустройству.
А если я хочу работать в Яндексе?
Некоторые наши студенты работают в сервисах Яндекса, в том числе и в Практикуме. Но с нашей стороны было бы нечестно что-либо гарантировать и завышать ваши ожидания.

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

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

Через компанию: юридические лица также могут оплатить обучение в Практикуме. Чтобы заказать счёт для оплаты, оставьте заявку на странице для корпоративных клиентов.
На каком языке проходит обучение?
Всё будет на русском: теория, практические задания и вебинары, а ещё чаты с куратором, наставником и другими студентами.

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

Мы работаем с 12:00 до 21:00 по Астане и связываемся в течение одного дня. Если оставите заявку сейчас, то перезвоним уже в рабочее время.