Чем занимаются
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 пункте оферты

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

Подойдёт ли мне этот курс?
Чтобы вы смогли оценить свои силы, мы предлагаем вам пройти входной тест. Чем раньше вы поймёте, подходит ли курс для вас, тем лучше.
Можно ли обучиться профессии за 6 месяцев?
Определённо. При условии, что вы будете уделять курсу не менее 10 часов в неделю, практиковаться и общаться с ментором.
Каким требованиям я должен соответствовать?
Для старта нужно знать основы бэкенд-разработки и синтаксис Go, а также иметь возможность заниматься не менее 10 часов в неделю.
Кто будет помогать мне проходить курс?
Все наставники — практикующие специалисты: сотрудники Яндекса и других крупных компаний. Программу составляют опытные методисты, а ещё действующие специалисты Яндекса, Школы анализа данных и других лидеров технологической индустрии.
Как и когда я буду проходить курс?
Курс включает 3 составляющие: теория с закреплением в тренажёре, самостоятельные работы и проекты, онлайн-встречи с наставником. В тренажёре вы можете заниматься в любое удобное время, а выполнение практики привязано к двух- или трёхнедельному циклу.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрен перерыв, во время которого можно отдохнуть или повторить сложные темы.

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

Также, если вы не будете успевать за темпом курса, можно в любое время перейти на формат «в своём темпе», где нет ограничений по дедлайнам.
Смогу ли я найти работу после курса?
Гарантий нет, но мы верим, что сможете. Работодателям важно, чтобы вы справлялись с реальными задачами, а не просто обладали набором знаний. После курса вы сможете применять знания на практике, а также мы предлагаем помощь HR-специалистов из нашего карьерного центра. Но вам точно придётся приложить усилия, чтобы найти работу: активно откликаться на вакансии, проходить собеседования, показывать свои проекты и делать тестовые задания.

По данным исследования* Высшей школы экономики, 69% пользователей Яндекс Практикума среди тех, кто хотел сменить профессию, начинают новую карьеру после курса. Больше половины из них — во время курса и в первые 2 месяца после его окончания.

  • Данные исследования ВШЭ основаны на опыте пользователей Яндекс Практикума на российском рынке труда.
А если я хочу работать в Яндексе?
Некоторые участники наших курсов работают в сервисах Яндекса, в том числе и в Практикуме. Но с нашей стороны было бы нечестно что‑либо гарантировать и завышать ваши ожидания.

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

• Карьерный трек: участники курса при поддержке наших HR-экспертов составляют резюме или оформляют портфолио, пишут сопроводительные письма.
• Акселерация: участники курса начинают активный поиск работы, а мы им помогаем — отвечаем на вопросы, проводим тренировочные собеседования, предлагаем вакансии от партнёров.

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

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

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

Чтобы вам было проще сориентироваться, мы указываем примерную стоимость в долларах США, но списание будет в казахстанских тенге, а конвертация — по курсу вашего банка.

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

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