01 ноября 2023

🗺️ Дорожная карта Go-разработчика в 2023 году

Энтузиаст-разработчик, автор статей по программированию.
В статье рассмотрим версию дорожной карты по Go в 2023 году и подробно разберем основные темы для успешного старта в разработке.
🗺️ Дорожная карта Go-разработчика в 2023 году

Как учиться?

Процесс обучения программированию на Go состоит из нескольких этапов: основы языка, фундаментальная информатика, веб-разработка и серверная (backend) часть. С этапами определились, но где же искать информацию?

Чтобы ответить на этот вопрос, рассмотрим основные способы обучения:

  1. Курсы. Этот вариант подходит тем, кто предпочитает заниматься по заранее составленной программе и не искать материал самостоятельно. Чаще всего курсы требуют финансовых вложений, но есть и бесплатные варианты, которые будут рассмотрены далее.
  2. Обучение с наставником. Этот способ позволяет получать знания от практикующего разработчика, который поделится личным опытом и проведет от азов до продвинутых аспектов языка.
  3. Самостоятельно. Обучение по книгам и открытым источникам довольно распространенный метод, но он требует самодисциплины и терпения. Из недостатков: нет гарантий эффективности, зачастую трудно подобрать подходящий материал и быстро в нем разобраться.

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

👨‍💻 Библиотека Go-разработчика
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика»
💼 Библиотека Go для собеса
Подтянуть свои знания по Go вы можете на нашем телеграм-канале «Библиотека Go для собеса»
🧩 Библиотека задач по Go
Интересные задачи по Go для практики можно найти на нашем телеграм-канале «Библиотека задач по Go»

Нулевой этап: настройка окружения

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

  1. Операционная система. Настоятельно рекомендуется Linux, так как он наиболее приближен к разработке, гибок и прост в настройке, имеет функциональный терминал.
  2. Редакторы кода, IDE. Есть множество вариантов, но большинство программистов предпочитают VS Code. Широко используется проприетарный Goland, который заточен под язык и обладает полезным функционалом.
  3. Установка и настройка Go. Необходимый пункт для локального запуска кода. Вся необходимая информация есть на официальном сайте go.dev.

Первый этап: основы языка

Наиболее важные темы выделены красным цветом, опциональные – оранжевым. Дорожная карта Go-разработчика в 2023 году
Наиболее важные темы выделены красным цветом, опциональные – оранжевым. Дорожная карта Go-разработчика в 2023 году

Рекомендуется начать с "Tour of Go" – интерактивного туториала по основам языка от его создателей. В нем содержатся все необходимые знания для погружения в Go, рассматриваются частые конструкции и примеры. Код можно писать, не выходя из браузера в интерактивном окне рядом с теорией.

Стоит отметить, что весь туториал написан на английском языке, поэтому вот список альтернативных ресурсов на русском:

  1. Курс по основам Go (Code Basics)
  2. Программирование на Golang (Stepik)
  3. Go (Golang) – первое знакомство (Stepik)

Второй этап: сomputer science

Второй этап изучения Go: сomputer science. Дорожная карта Go-разработчика в 2023 году
Второй этап изучения Go: сomputer science. Дорожная карта Go-разработчика в 2023 году

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

  1. Во-первых, они позволяют не только писать код, но и понимать, почему и как он работает.
  2. Во-вторых, computer science учит решению сложных задач, с которыми рано или поздно сталкивается каждый разработчик.
  3. В-третьих, знания в этой области открывают безграничные возможности для карьерного роста и ценятся в ведущих IT-компаниях.

Последовательность изучения тем:

  1. Архитектура компьютера: основные компоненты, как они взаимосвязаны.
  2. Операционные системы: принцип работы, управление памятью, ввод-вывод.
  3. Основы сетей: топологии сетей, уровни OSI и TCP/IP, коммутация и адресация.
  4. Алгоритмы поиска, сортировки, рекурсивные, комбинаторные.
  5. Парадигмы программирования: императивное, декларативное и другие.
  6. Многопоточность: параллелизм, процессы и потоки.

Третий этап: изучение основ веб-разработки

Третий этап изучения Go: изучение основ веб-разработки. Дорожная карта Go-разработчика в 2023 году
Третий этап изучения Go: изучение основ веб-разработки. Дорожная карта Go-разработчика в 2023 году

Переходим к изучению веб-разработки и разбираемся как устроены современные сайты и приложения. На этом этапе важно понять общую структуру интернета, сетевые протоколы, взаимодействие с API. После прохождения этого раздела вы научитесь писать SQL-запросы, делиться кодом с помощью Git и настраивать веб-серверы.

Последовательность изучения тем:

  1. HTTP, DNS, SSL, TLS: принцип работы, для чего используются.
  2. API, JSON, XML
  3. Git
  4. Базы данных: какими бывают, как в них хранятся данные.
  5. SQL: изучите базовый синтаксис и основные СУБД (PostreSQL, MySQL).
  6. Веб-серверы: принцип работы, настройка Nginx и Apache.
  7. NoSQL (доп.): для чего используются, отличие от реляционных БД.
  8. Bash (доп.): как работать с командной оболочкой в UNIX-системах.

Четвертый этап: погружение в backend-разработку

Четвертый этап изучения Go: погружение в backend-разработку. Дорожная карта Go-разработчика в 2023 году
Четвертый этап изучения Go: погружение в backend-разработку. Дорожная карта Go-разработчика в 2023 году

На финальном этапе погружаемся в серверную часть. Важно разобраться в клиент-серверном взаимодействии, работе с контейнерами в Docker и Kubernetes, научиться проектировать микросервисы и использовать популярные фреймворки. Стоит также уделить внимание знакомству с тестированием и кэшированием.

Последовательность изучения тем:

  1. Docker & k8s: контейнеризация, виртуализация.
  2. CI / CD: непрерывная интеграция и доставка кода.
  3. Тестирование: интеграционное, функциональное, юнит.
  4. Микросервисы: архитектура, принцип работы, go-kit.
  5. Кэширование: как работает, какие есть уровни, типы.
  6. Фреймворки: документация, примеры кода.

Пятый этап: практика

Пришло время применить полученные знания на практике. Это самый ответственный этап становления разработчика, так как здесь начинается работа с реальными задачами и преодоление ошибок.

Хорошей стратегией будет создание собственного проекта по интересующей теме. При таком подходе вы увидите пробелы в знаниях и отточите навыки написания кода, а также пополните своё портфолио, которое может сыграть важную роль при трудоустройстве. Если не можете выбрать тему, рекомендуем обратиться к репозиторию project-based-learning.

***

Материалы по теме

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ