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

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

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

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


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

Если у вас есть от 1–2 лет опыта коммерческой разработки или администрирования, то наши курсы — для вас.

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

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

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

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

Вы получите представление о Go и его экосистеме, выучите синтаксис и будете готовы к прохождению основных программ в профессии.

На этом курсе нет сопровождения. Вы можете начать учиться в любой момент.

Вы прокачаете навыки, которые понадобятся каждому, кто пишет на Go. На выходе вы сможете самостоятельно выполнять задачи Go-разработчика уровня junior+.

На курсе вас будут сопровождать ментор и куратор.

Вы пойдёте дальше: научитесь профилировать код и узнаете больше о возможностях Go. Вы получите навыки и знания для выполнения задач Go-разработчика middle-уровня.

На курсе вас будут сопровождать ментор и куратор.

1 месяц и бесплатно
3 месяца
4 месяца

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

Менторы Практикума — действующие разработчики из крупных компаний, в том числе из Яндекса. Они отвечают на вопросы, делают код-ревью, направляют, но не дают готовых решений. С ментором вы сможете обменяться опытом и обсудить подходы, которые вы применяете в вашем проекте. У вас будет возможность поболтать один на один, послушать вебинар с лайв-кодингом или написать вопрос в чат.
  • Георгий Зуйков, техлид
    Старший разработчик в «Едадиле». Программирует 10 лет, из них последние 5 — на Go. Разрабатывает архитектуру высоконагруженных систем. Входит в Go-комитет Яндекса.
  • Александр Демиденко, техлид
    Старший разработчик в Яндекс.Облаке, в команде Cloudgate. Строит масштабируемую систему доставки трафика. Имеет многолетний опыт работы в телекоме (VoIP).
  • Дмитрий Шеламов, ментор
    Старший разработчик в TrafficStars, Кипр. Начал преподавать Go, ещё будучи мидлом. Интересный факт: в 16 лет выпустил игру под Android с 10 000 установок.
  • Андрей Лукин, ментор
    Старший разработчик в Яндекс.Маркете. Развивает сервисы Логистики и Доставки. Проделал путь от инженера-радиотехника до старшего разработчика. Провёл много технических собеседований.
  • Михаил Корнилов, ментор
    Ведущий разработчик в компании dfinance. Начинал как embedded-разработчик, а позже разрабатывал бэкенд на Go для ретейл-, блокчейн- и финансовых проектов.

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

при оплате сразу за 3 месяца обучения.
или 22 500 ₽
Бесплатно
66 000 ₽
при оплате сразу за 4 месяца обучения.
88 000 ₽
или 23 000 ₽
при помесячной оплате. Итоговая сумма: 67 500 ₽
при помесячной оплате. Итоговая сумма: 92 000 ₽
Скоро релиз
Скоро релиз

Программа обучения  «Основы Go»

Основы языка Go

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

Введение в систему типов

Какая типизация в языке, какие бывают типизации

  • Базовые типы и типизация
  • Константы и переменные

Композитные типы

  • Массивы и слайсы
  • Map
  • Структуры
  • Указатели

Управление потоком выполнения

  • Циклы
  • Операторы ветвления

Функции

  • Функции
  • defer

Пакеты, модули

  • Пакеты и импорты
  • Связь пакетов и файловой системы
  • Внешние зависимости
Особенности программирования на Go

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

Обработка ошибок

  • error
  • panic и recover

"ООП"

  • Методы
  • Эмбеддинг

Интерфейсы

  • Концепция интерфейсов и их реализация
  • Интерфейсы в стандартной библиотеке
  • Пустой интерфейс и приведение типов
  • Рефлексия

Тестирование

  • Юнит-тесты и покрытие кода
  • Бенчмарки
  • Интерфейсы в тестировании

Программа обучения  «Go-разработчик»

Пакеты стандартной библиотеки

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

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

с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

  • интроспекция и логирование ошибок
Конкурентность

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

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

  • основы многопоточности
  • горутины
  • каналы
  • получение данных из каналов
  • cинхронизация состояния
  • паттерны многопоточности

Программа обучения  «Продвинутый Go-разработчик»

Пакеты стандартной библиотеки

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

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

с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

  • интроспекция и логирование ошибок
Конкурентность

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

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

  • основы многопоточности
  • горутины
  • каналы
  • получение данных из каналов
  • cинхронизация состояния
  • паттерны многопоточности
Туллинг

Сильная сторона 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
  • флаги и компиляции
  • импорты
Расширенная стандартная библиотека

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

net

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

sync и x/sync

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

bytes

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

bufio

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

math/rand и crypto/rand

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

os

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

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

gRPC

  • gRPC+тесты

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

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

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

Осваивать теорию и решать практические задания вы можете в любое удобное время. Инкрементное написание и рефакторинг кода большого проекта привязано к двухнедельным спринтам. Есть дедлайны: мягкий и жёсткий.

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

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

Получу ли я какой-то документ по окончании курса?
После курса вы получите сертификат о повышении квалификации — это официальный документ о дополнительном образовании.
Смогу ли я найти работу после обучения?
Сможете, если зададитесь такой целью. Go-разработчики с опытом востребованы на  рынке труда. Разумеется, чтобы найти хорошую работу, нужно потрудиться — необходим достаточный опыт разработки в продакшене и развитые soft skills.
Чем вы отличаетесь от других курсов?
Мы даём вам возможность обмениваться опытом с менторами, в том числе в индивидуальном формате, чтобы вы могли развиваться быстрее и осознаннее. Наш курс по Go следует принципам менторства senior-разработчика над junior в компании, но в безопасной среде, и этим отличается от остальных.
Thu Dec 02 2021 14:26:40 GMT+0300 (Moscow Standard Time)