Профессия
Go-разработчик

Научитесь программировать на Golang при поддержке опытного ментора. Курсы для разработчиков с опытом.

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

В профессии два основных курса: программа обучения до уровня Junior+ и программа обучения до уровня middle. Обратите внимание, эти курсы не подойдут людям без опыта разработки.


Подойдут ли курсы вам?

Вот каких знаний достаточно, чтобы осваивать Go с нами. Проверьте себя.

Как вы будете учиться

  1. Сразу писать боевой сервис
    Вы будете писать один большой проект на протяжении всего курса, постоянно пополняя, усложняя и модифицируя кодовую базу. Проект будет зависеть от того, какой практический трек вы выберете на старте: «Сервис сокращения URL» или «Сервис сбора метрик и алертинга». Кроме того, в уроках будет много практических заданий, которые вы сможете выполнять в любимой среде разработки.
  2. Общаться с менторами — senior Go-разработчиками
    У вас будет ментор — действующий senior Go-разработчик, который будет помогать находить ответы на вопросы, проверять ваш код, проводить вебинары для разбора задач. И главное — раз в две недели у вас будет встреча один на один с ментором, на которой вы обсудите ваш прогресс в обучении и написании проекта.
  3. Готовить выпускной проект
    После прохождения основной программы у вас будет время написать выпускной проект для вашего портфолио. Вы сможете объединиться в команды или работать самостоятельно, реализовать свою идею или взять за основу один из предложенных вариантов.

Обмен опытом с менторами Практикума

Менторы Практикума — действующие разработчики из крупных компаний, в том числе из Яндекса. Они отвечают на вопросы, делают код-ревью, направляют, но не дают готовых решений. С ментором вы сможете обменяться опытом и обсудить подходы, которые вы применяете в вашем проекте. У вас будет возможность поболтать один на один, послушать вебинар с лайв-кодингом или написать вопрос в чат.
  • Георгий Зуйков, техлид
    Старший разработчик в «Едадиле». Программирует 10 лет, из них последние 5 — на Go. Разрабатывает архитектуру высоконагруженных систем. Входит в Go-комитет Яндекса.
  • Александр Демиденко, техлид
    Старший разработчик в Яндекс.Облаке, в команде Cloudgate. Строит масштабируемую систему доставки трафика. Имеет многолетний опыт работы в телекоме (VoIP).
  • Дмитрий Шеламов, ментор
    Старший разработчик в SoftSwiss. Начал преподавать Go, ещё будучи мидлом. Интересный факт: в 16 лет выпустил игру под Android с 10 000 установок.
  • Андрей Лукин, ментор
    Тимлид в финтех-стартапе. До этого работал в Яндекс Маркете, развивал сервисы Логистики и Доставки. Проделал путь от инженера-радиотехника до тимлида. Провёл много технических собеседований.
  • Евгений Лугин, ментор
    Старший разработчик в OryxLabs. В IT с 2011 года. Работал в HelloFresh, «Ситимобил», «Туту.ру», инженером внедрения и сопровождения в телекоме — в компаниях Nexign и CBOSS.
  • Рафаэль Мустафин, ментор
    Тимлид в Delivery Club. Развивает направление Логистики. Прошёл путь от написания приложений под Windows до разработки бэкенд-сервисов на Go. Обучает стажёров.
  • Владислав Шевченко, ментор
    Старший разработчик в Redmadrobot, Иннополис. Более 10 лет работал в НИИ в «Роскосмосе», руководил конструкторским отделом. В 30 лет ушёл в бэкенд-разработку.
  • Анастасия Бошнякович, ментор
    Старший программист в xpate. Занимается проектированием архитектуры и разработкой сервиса интернет-эквайринга в рамках финансовой экосистемы. Была основателем и СТО в собственном стартапе.
  • Артём Печёркин, ментор
    Старший разработчик в Ostrovok.ru. Программирует 10 лет, из них последние 7 — на Go. За свою карьеру попробовал почти все технические профессии в сфере IT.
  • Сергей Сергеев, ментор
    Бэкенд-инженер в Rain. Пишет на Go, PHP. Помимо коммерческой разработки, принимал участие в R&D-проектах.
  • Олег Кожанов, ментор
    Старший разработчик в AWS. Выполняет функции управленца последние 5 лет. До этого 10 лет разрабатывал высоконагруженные системы для крупных телекомов. Пишет на C#, JavaScript, Python, но предпочитает Go. Строил команды и отделы разработки с нуля.
  • Алексей Мясников, ментор
    Старший разработчик в Яндекс Облаке, на проекте YDB. В IT с 2006 года. Писал код на более чем 20 языках программирования, больше всего на C++, Java, Go, TypeScript. Капитан запаса ВС РФ. Кандидат технических наук. В прошлом — военный ученый с научным стажем более 8 лет.
  • Андрей Еремеев, ментор
    Старший разработчик в Почте Mail.ru. Разрабатывает отказоустойчивое хранилище писем на десятки петабайт данных. Любит терминал и всё, что с ним связано.
  • Илья Сухов, ментор
    Ведущий разработчик в «Ситимобил». Последние 3 года разрабатывает высоконагруженные сервисы на Go. 5 лет работал системным администратором в Яндексе.
  • Алексей Щетинин, ментор
    Бэкенд-разработчик в Ozon. Начинал карьеру как Python-разработчик, позже столкнулся с Go, который стал любимым и основным языком. Работал с сервисами, RPS которых доходил до 10 тыс.

Выберите курс, который вам подходит

Вы научитесь писать на Go сложные приложения, освоите архитектурные паттерны. Вы получите навыки и знания для выполнения задач Go-разработчика middle-уровня.
Вы прокачаете навыки, которые понадобятся каждому, кто пишет на Go. На выходе вы сможете самостоятельно выполнять задачи Go-разработчика уровня junior+.
4 месяца без дедлайнов
2 месяца без дедлайнов
Вы научитесь писать на Go сложные приложения, освоите архитектурные паттерны, и напишите три боевых проекта. Вы получите навыки и знания для выполнения задач Go-разработчика middle-уровня.
  • 54 теоретических урока
  • 24 практических инкремента
  • 2 проекта в портфолио
  • Обучение в своём темпе без спринтов и дедлайнов
  • Сопровождение от куратора и ментора
  • Самостоятельное пошаговое написание двух учебных проектов
  • 8 код-ревью от ментора до 3 раундов каждое
  • 8 сессий 1-на-1 с ментором 
  • 25 теоретических уроков
  • 14 практических инкрементов
  • 1 проект в портфолио
  • Обучение в своём темпе без спринтов и дедлайнов
  • Сопровождение от куратора и ментора
  • Самостоятельное пошаговое написание учебного проекта
  • 4 код-ревью от ментора до 3 раундов каждое
  • 54 теоретических урока
  • 24 практических инкремента
  • 3 проекта в портфолио
  • Обучение в группе до 15 человек с дедлайнами и спринтами
  • Расширенное сопровождение от куратора и ментора
  • Пошаговое написание трех учебных проектов под руководством ментора
  • 12 код-ревью от ментора до 3 раундов каждое
  • 12 сессий 1-на-1 с ментором 
  • Дополнительные вебинары от менторов каждые 2 недели
  • Карьерная поддержка от Практикума
  • Диплом о профессиональной переподготовке
6 месяцев
Программа обучения
Модуль 1. Пакеты стандартной библиотеки
В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.

Задания будут уложены в практические треки. Практический трек связывает все задания в единый проект, который вы разрабатываете инкрементально до получения финального результата. На курсе есть два практических трека: «Сервис сокращения URL» и «Сервис сбора метрик и алертинга». Вам предстоит выбрать один из них.

Подробнее

сontext и time

  • context: отмена и передача данных
  • time: отрезки и таймеры

net/http

  • HTTP-клиент
  • HTTP-сервер
  • тестирование HTTP-приложений
  • популярные библиотеки

encoding

  • struct tags
  • JSON
  • XML
  • Gob
  • стандартные сериализаторы
  • cторонние сериализаторы

os

  • переменные окружения
  • работа с файлами

flag

  • аргументы командной строки

compress

  • стандартные методы сжатия
  • сторонние библиотеки и форматы

hash и crypto

  • xеширование и шифрование

database/sql

  • интерфейсный подход и драйверы
  • чтение данных из БД
  • запись в БД, состояния и транзакции

errors

  • интроспекция и логирование ошибок
Модуль 2. Конкурентность
Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.
Подробнее

Многопоточность в Go

  • основы многопоточности
  • горутины
  • каналы
  • получение данных из каналов
  • cинхронизация состояния
  • паттерны многопоточности
Модуль 1. Пакеты стандартной библиотеки
В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.

Задания будут уложены в практические треки. Практический трек связывает все задания в единый проект, который вы разрабатываете инкрементально до получения финального результата. На курсе есть два практических трека: «Сервис сокращения URL» и «Сервис сбора метрик и алертинга». Вам предстоит выбрать один из них.

Подробнее

сontext и time

  • context: отмена и передача данных
  • time: отрезки и таймеры

net/http

  • HTTP-клиент
  • HTTP-сервер
  • тестирование HTTP-приложений
  • популярные библиотеки

encoding

  • struct tags
  • JSON
  • XML
  • Gob
  • стандартные сериализаторы
  • cторонние сериализаторы

os

  • переменные окружения
  • работа с файлами

flag

  • аргументы командной строки

compress

  • стандартные методы сжатия
  • сторонние библиотеки и форматы

hash и crypto

  • xеширование и шифрование

database/sql

  • интерфейсный подход и драйверы
  • чтение данных из БД
  • запись в БД, состояния и транзакции

errors

  • интроспекция и логирование ошибок
Модуль 2. Конкурентность
Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.
Подробнее

Многопоточность в Go

  • основы многопоточности
  • горутины
  • каналы
  • получение данных из каналов
  • cинхронизация состояния
  • паттерны многопоточности
Модуль 3. Паттерны проектирования
В этом модуле рассмотрим паттерны проектирования и антипаттерны программирования на Go. Вы узнаете, как реализовать наиболее распространённые паттерны проектирования приложений и как избежать неявных ошибок при программировании на Go.
Подробнее
Паттерны проектирования на Go

  • порождающие паттерны
  • структурные паттерны
  • поведенческие паттерны

Антипаттерны программирования на Go

Модуль 4. Туллинг
Сильная сторона Go — это встроенные инструменты разработчика. В этом модуле вы научитесь использовать туллинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
Подробнее

Профилирование

  • pprof
  • сторонний туллинг

Стилизация кода

  • gofmt и goimports

Статический анализ кода

  • go vet
  • go/ast
  • x/analysis
  • staticcheck

Документация

  • godoc / swagger
  • example_test.go

Кодогенерация

  • кодогенерация проектов
  • кодогенерация как замена дженерикам
  • генерация с помощью шаблонизации

Go comment flags

  • go-flags, go:flags, build flags
  • ldflags
  • флаги и компиляции
  • импорты
Модуль 5. Расширенная стандартная библиотека
В Go многие вещи доступны "из коробки", и приветствуется написание собственных решений на основе стандартной библиотеки. Вы научитесь писать более эффективный и лаконичный код.
Подробнее

net

  • Работа с TCP/UDP
  • IP адреса

sync и x/sync

  • Конкурентный map c sync.Map
  • Ожидание выполнения асинхронных задач
  • Единоразовое выполнение кода

bytes

  • Буфер байт
  • Блочное чтение байт

bufio

  • bufio.Scanner
  • Эффективная работа с текстом большого размера

math/rand и crypto/rand

  • Генератор случайных чисел
  • Криптографический генератор случайных чисел

os

  • Работа с директориями (траверсинг, walk-функции)
  • Вызов внешних приложений
  • Сигналы

Обзор остальной стандартной библиотеки

gRPC

  • gRPC+тесты
Модуль 1. Пакеты стандартной библиотеки
В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.

Задания будут уложены в практические треки. Практический трек связывает все задания в единый проект, который вы разрабатываете инкрементально до получения финального результата. На курсе есть два практических трека: «Сервис сокращения URL» и «Сервис сбора метрик и алертинга». Вам предстоит выбрать один из них.

Подробнее

сontext и time

  • context: отмена и передача данных
  • time: отрезки и таймеры

net/http

  • HTTP-клиент
  • HTTP-сервер
  • тестирование HTTP-приложений
  • популярные библиотеки

encoding

  • struct tags
  • JSON
  • XML
  • Gob
  • стандартные сериализаторы
  • cторонние сериализаторы

os

  • переменные окружения
  • работа с файлами

flag

  • аргументы командной строки

compress

  • стандартные методы сжатия
  • сторонние библиотеки и форматы

hash и crypto

  • xеширование и шифрование

database/sql

  • интерфейсный подход и драйверы
  • чтение данных из БД
  • запись в БД, состояния и транзакции

errors

  • интроспекция и логирование ошибок
Модуль 2. Конкурентность
Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.
Подробнее

Многопоточность в Go

  • основы многопоточности
  • горутины
  • каналы
  • получение данных из каналов
  • cинхронизация состояния
  • паттерны многопоточности
Первый выпускной проект
Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять выпускные проекты будут менторы. На выполнение проекта у вас будет 4 недели.
Модуль 3. Паттерны проектирования
В этом модуле рассмотрим паттерны проектирования и антипаттерны программирования на Go. Вы узнаете, как реализовать наиболее распространённые паттерны проектирования приложений и как избежать неявных ошибок при программировании на Go.
Подробнее
Паттерны проектирования на Go

  • порождающие паттерны
  • структурные паттерны
  • поведенческие паттерны

Антипаттерны программирования на Go

Модуль 4. Туллинг
Сильная сторона Go — это встроенные инструменты разработчика. В этом модуле вы научитесь использовать туллинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
Подробнее

Профилирование

  • pprof
  • сторонний туллинг

Стилизация кода

  • gofmt и goimports

Статический анализ кода

  • go vet
  • go/ast
  • x/analysis
  • staticcheck

Документация

  • godoc / swagger
  • example_test.go

Кодогенерация

  • кодогенерация проектов
  • кодогенерация как замена дженерикам
  • генерация с помощью шаблонизации

Go comment flags

  • go-flags, go:flags, build flags
  • ldflags
  • флаги и компиляции
  • импорты
Модуль 5. Расширенная стандартная библиотека
В Go многие вещи доступны "из коробки", и приветствуется написание собственных решений на основе стандартной библиотеки. Вы научитесь писать более эффективный и лаконичный код.
Подробнее

net

  • Работа с TCP/UDP
  • IP адреса

sync и x/sync

  • Конкурентный map c sync.Map
  • Ожидание выполнения асинхронных задач
  • Единоразовое выполнение кода

bytes

  • Буфер байт
  • Блочное чтение байт

bufio

  • bufio.Scanner
  • Эффективная работа с текстом большого размера

math/rand и crypto/rand

  • Генератор случайных чисел
  • Криптографический генератор случайных чисел

os

  • Работа с директориями (траверсинг, walk-функции)
  • Вызов внешних приложений
  • Сигналы

Обзор остальной стандартной библиотеки

gRPC

  • gRPC+тесты
Второй выпускной проект
Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять выпускные проекты будут менторы. На выполнение проекта у вас будет 4 недели.

Сколько стоит обучение

94 000 ₽
при оплате сразу за 6 месяцев обучения.
152 000 ₽
или 26 000 ₽
при помесячной оплате. Итоговая сумма: 156 000 ₽
при помесячной оплате. Итоговая сумма: 46 000 ₽
или 23 000 ₽
при оплате сразу 
за 2 месяца обучения.
45 000 ₽
при оплате сразу 
за 4 месяца обучения.
или 24 500 ₽
при помесячной оплате. Итоговая сумма: 98 000 ₽
Бесплатный курс по основам Go-разработки
Если вы сомневаетесь, что ваших навыков хватит для освоения курсов “Go-разработчик в своем темпе” или “Продвинутый Go-разработчик”, вы можете пройти наш бесплатный курс по основам программирования на языке Go.

Часто задаваемые вопросы

В чём разница между курсами?

«Go-разработчик в своем темпе» позволит вам получить навыки уровня Junior+. А пройдя курс «Продвинутый Go-разработчик» или «Продвинутый Go-разработчик в своем темпе», вы сможете выполнять задачи разработчика уровня middle.

Как понять, какой формат мне подойдёт?

Если вы хотите поскорее добиться ощутимых результатов и готовы заниматься в приближенных к рабочим условиях с дедлайнами и спринтами, то вам подойдет курс «Продвинутый Go-разработчик».

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

Каким требованиям я должен соответствовать?
Для любого из наших курсов нужно знание основ бэкенд-разработки. Обычно эти знания появляются после 1–2 лет работы бэкенд-разработчиком. Однако, если вы окончили курсы по программированию, в частности, курс «Python-разработчик» в Практикуме, вы тоже сможете учить Go с нами. Для «Основ Go» другие знания, кроме знаний основ бэкенд-разработки, не требуются. Для курса «Продвинутый Go-разработчик» вам дополнительно потребуются знания синтаксиса Go.
Кто будет меня учить?
Программа составлена под руководством техлидов из Яндекса, а также методиста и авторов-разработчиков, работающих в крупных компаниях на должности lead, senior и middle developer. Вашими менторами будут senior-разработчики из Яндекса, Ozon и других компаний.
Сколько времени занимает обучение?

Для прохождения курса «Продвинутый Go-разработчик» вам потребуется около 10-15 часов в неделю на протяжении 6 месяцев.

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

Как и когда я буду учиться?

Обучение состоит из трёх частей:

  1. Чтение уроков в текстовом формате и выполнение локальных практических заданий;
  2. Написание инкрементов и рефакторинг кода вашего большого проекта;
  3. Общение с сокурсниками и ментором в чатах, на вебинарах и встречах один на один.


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

Что делать, если я не справлюсь с нагрузкой?

Если вы понимаете, что нужно сделать паузу или взять дополнительное время на закрепление материала, можно уйти в академический отпуск на месяц. Но только два раза за всё время обучения.

Если вы будете понимать, что не успеваете за темпом обучения на курсе «Продвинутый Go-разработчик», вы можете в любое время перейти на «Продвинутый Go-разработчик в своем темпе», где нет ограничений по дедлайам.

Если не понравится, могу ли я вернуть деньги?

Короткий ответ — да, причём в любой момент. Правда, если вы уже прошли какую-то часть курса, её придётся оплатить. Остальное вернём. Более подробно рассказываем про это в седьмом пункте оферты.

Получу ли я какой-то документ по окончании курса?
Вы получите официальный документ о дополнительном образовании: диплом о профессиональной переподготовке, если прошли «Продвинутый Go-разработчик» или свидетельство о прохождении программы дополнительного образования, если прошли «Go-разработчик в своем темпе» или «Продвинутый Go-разработчик в своем темпе».
Смогу ли я найти работу после обучения?
Сможете, если зададитесь такой целью. Go-разработчики с опытом востребованы на  рынке труда. Разумеется, чтобы найти хорошую работу, нужно потрудиться — необходим достаточный опыт разработки в продакшене и развитые soft skills.
Чем вы отличаетесь от других курсов?
Мы даём вам возможность обмениваться опытом с менторами, в том числе в индивидуальном формате, чтобы вы могли развиваться быстрее и осознаннее. Наш курс по Go следует принципам менторства senior-разработчика над junior в компании, но в безопасной среде, и этим отличается от остальных.
Fri Sep 02 2022 13:16:50 GMT+0300 (Moscow Standard Time)