Сколько времени нужно, чтобы стать Go-разработчиком?
С нуля от шести до двенадцати месяцев примерно по часу в день, чтобы дойти до junior-собеседования; с другого языка гораздо меньше, потому что Go небольшой. На этой дорожной карте курс Go занимает восемь-десять недель, командная строка, Git и SQL вместе около месяца, а шаги по структурам данных и сортировкам ещё два. Затем напишите собственный небольшой сервис на net/http с базой данных: именно для такой работы нанимают в Go-команды.
Подходит ли Go как первый язык для разработчика ПО?
Да. Язык достаточно мал, чтобы выучить его полностью, gofmt и компилятор убирают целые категории ошибок новичков и споров о стиле, а ошибки представляют собой обычные значения, которые нужно проверять, и это вырабатывает аккуратные привычки. Обратная сторона: материалов для начинающих меньше, чем по Python или JavaScript, а рынок вакансий сосредоточен в бэкенде и инфраструктуре.
Что ещё, кроме Go, нужно знать Go-разработчику?
Командную строку, Git и SQL, которые охватывает эта дорожная карта, а затем среду, в которой работает Go: HTTP- и JSON-API, Docker и Kubernetes, реляционную базу данных и умение наблюдать за работающим сервисом через логи, метрики и профили. Стандартная библиотека Go закрывает большую часть веб-слоя, поэтому после этой дорожной карты обычно берутся за net/http и настоящий сервис, а не за большой фреймворк.
Есть ли в Go классы и объектно-ориентированное программирование?
Классов и наследования нет, но есть то, ради чего пишут объектно-ориентированный код: структуры с методами, интерфейсы, которым тип соответствует без явного объявления, и встраивание для повторного использования поведения. Раздел курса Go под названием «Объектно-ориентированное программирование» учит именно этому, композиции вместо наследования: так код на Go и организуют на работе.
Какой курс этой дорожной карты не преподаётся на Go?
Один: курс по чистому коду пока преподаётся только на Python, поэтому он указан после шагов, а не на седьмом шаге. Большинство вопросов стиля Go решает через gofmt, так что остаётся то, чему учит этот курс: имена, размер функций и распределение ответственности. Одна из поговорок Go говорит об этом прямо: понятное лучше заумного. Все шаги, включая объектно-ориентированный проект и задачи по программированию, проходят на Go.
Эта дорожная карта по Go бесплатная?
Да. Все курсы на ней бесплатны: уроки, редактор Go и терминал Linux в браузере, задачи с проверкой по тестам, подсказки Bugsy и сертификаты. Pro снимает дневной лимит энергии и даёт безлимитную помощь ИИ, но ничего на этой дорожной карте его не требует.