Разбор пробелов: с чего начать именно вам
Каталог курсов большой, и новичку нужен не список, а порядок: что учить первым, что действительно нужно, а что можно отложить. Четыре вопроса — и персональный план с обоснованием каждого шага и оценкой времени.
Почему порядок важнее скорости
Самая частая ошибка в обучении — не «недостаточно времени», а неправильный порядок. Начать с веб-фреймворка, не разобрав срезы и интерфейсы, — значит писать код, который не понимаешь. Через месяц такой код превращается в набор шаблонов, которые работают, но не поддаются отладке.
Правильный порядок выглядит так: язык (синтаксис, типы, срезы, карты, функции, ошибки), потом устройство языка (горутины, каналы, контекст, интерфейсы), потом предметная область (HTTP, база, инфраструктура). Всё остальное — по вашей цели: работа, проект или собеседование.
Анкета ниже делает это за вас: она спрашивает про опыт, цель, темп и слабые темы, а на выходе даёт список курсов с объяснением, почему каждый из них в списке и сколько времени он займёт. Ответы никуда не отправляются — вся обработка идёт в браузере.
План строится по простым правилам, а не по «умной» аналитике: сначала базовый курс, если у вас нет опыта в Go; затем ядро языка, без которого не читаются остальные; дальше — курс под вашу цель и по вашим слабым местам. Каждый следующий курс опирается на предыдущий, поэтому порядок получается последовательным, а не набором случайных ссылок. Пересобрать план можно в любой момент: если изменились цель или доступное время, пройдите анкету заново — и список перестроится под новые вводные.
Анкета
Четыре коротких вопроса — и персональный план по порядку. Ничего никуда не отправляется.
Ваш план по порядку
Курсы выстроены по зависимостям: каждый следующий опирается на предыдущий.
Ваш опыт на другом языке — это плюс, но в Go много отличий: нет наследования, ошибки возвращаются значениями, цикл один, а slice не массив. Базовый курс закрывает эти отличия за 12 часов.
Открыть курсСобранный REST-сервис с middleware, валидацией и тестами — то, что спрашивают на собеседовании и что нужно в первый же рабочий день.
Открыть курсЗапросы к базе — обязательная часть backend-разработки. Здесь же выясняется, почему появляется N+1 и как его убрать.
Открыть курсМетрики и профилирование — то, что отличает сервис от «работает на моей машине». С ними вы измеряете, а не угадываете.
Открыть курс
Частые вопросы о плане обучения
Чем этот разбор отличается от теста «Подбор курса»?
Тест на сайте определяет один курс, который, скорее всего, подойдёт. Разбор пробелов отвечает на другой вопрос: в каком порядке закрывать темы и сколько это займёт. Здесь важны цель (работа, проект, собеседование) и ваши слабые места — от этого зависит, начинать с базы или сразу с продвинутого курса.
У меня опыт в Python или Java. Нужно ли начинать с нуля?
Начинать с нуля не нужно, но базу пропускать не стоит. В Go достаточно отличий от привычных языков, чтобы пропустить базу и потом ловить ошибки на каждом шагу: ошибки возвращаются значениями, а не бросаются исключениями, нет наследования классов, есть только один цикл, срез — это не массив, а интерфейсы неявные. Базовый курс проходит за 12 часов и снимает именно эти вопросы.
Сколько времени займёт план?
Оценка считается по часам из карточек курсов и вашему темпу: 2 часа в неделю — это месяцы, 20 часов в неделю — недели. Важно считать не «часы на видео», а время вместе с практикой: код, который вы пишете сами, запоминается в разы лучше прочитанного. Практикуйте в песочнице прямо на страницах курсов — код запускается в браузере.
Что делать, если план оказался слишком длинным?
Оставьте первые два курса и откажитесь от остальных до первой работы или первого проекта. Практический опыт в одном курсе даёт больше, чем три непрочитанных курса. Полный каталог из тридцати курсов можно проходить годами — но это не обязательное условие, чтобы выйти на рынок.
Где смотреть дальше
Что внутри
Как строится план
Анкета спрашивает не «что вы знаете», а что вы уже делали и что хотите делать: язык и опыт, написаны ли сервисы, работал ли с базой, деплоили ли, интересует ли backend, CLI или GUI. По ответам собирается порядок курсов — от того, что закроет пробел в основах, до практики под вашу цель.
Порядок важнее скорости: если человек умеет писать структуры, но не видел каналы, ему не нужен второй курс по синтаксису — ему нужен go-advanced. Наоборот, без базового синтаксиса gorm не зацепит.
Почему план включает один неочевидный курс
Часто это go-advanced: на нём держится всё остальное — контекст, ошибки, тесты, интерфейсы. Человек, который пишет на Go год, часто не знает их как следует и потому топчется на middle-задачах.
Как пользоваться
- Отвечайте честно про текущий уровень. План строится от разрыва между «знаю» и «умею применить». Завысив уровень, вы получите курс, который покажется слишком простым и будет заброшен.
- Пройдите план целиком, а не выборочно. Курсы опираются друг на друга: пропуск середины оставляет дыру, которую придётся закрывать позже и дороже.
- Возвращайтесь к плану после каждого курса. Он пересобирается по вашему прогрессу и подсказывает следующий шаг.
Когда это пригождается
Не знаю, с чего начать
Начните с go-basics, если не писали на Go; если писали — с go-advanced и курса под вашу задачу. Пять минут анкеты экономят недели промаха.
Хочу перейти на Go с другого языка
Отметьте свой прошлый опыт: план покажет, где различаются Go и привычный язык, а не будет пересказывать основы.
Готовлюсь к собеседованию
Раздел собеседований и симулятор покажут, какие темы вы действительно знаете, а какие только читали.
План — это маршрут по каталогу, а не персональный наставник: он не знает ваших проектов и целей в деталях.