Go-разработчик: зачем язык придумали и что нужно, чтобы войти

Гиды · 10 мин чтения

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

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

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

Где в жизни встречается код на Go

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

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

Третья, менее очевидная — обработка потоков данных. Go хорошо справляется, когда нужно одновременно держать тысячи соединений: чаты, обмен сообщениями между системами, приём событий с устройств.

Чего на Go почти не делают, тоже полезно знать заранее. Сайты с богатым интерфейсом пишут не на нём. Мобильные приложения — тоже. Задачи анализа данных решают другими инструментами. Если вам хочется видеть результат своей работы глазами, серверная разработка даст это ощущение в последнюю очередь: ваш результат выглядит как ровная линия на графике и отсутствие жалоб.

На белорусском рынке по теме видно 22 программы от девяти школ. Тема узкая, и предложение соответствующее: половина курсов рассчитана на людей, которые уже пишут код, а программ для полного новичка немного. Посмотрите, что представлено.

Go-разработчик
Фото: Yan Krukau / Pexels

Четыре слова, которые встретятся в любой программе

  • Горутина — задача, которую программа выполняет параллельно с другими. Их запускают тысячами, и это главная особенность языка: обслуживать много одновременных запросов дёшево.
  • Канал — способ передать данные между такими задачами без путаницы и без ручных блокировок.
  • Микросервис — небольшая самостоятельная программа, отвечающая за одну функцию системы. Из них собирают крупные продукты.
  • Контейнер — упаковка программы вместе с окружением, чтобы она одинаково запускалась на ноутбуке разработчика и на сервере.

Из чего складывается рабочий день гошника

Утро обычно начинается с короткой встречи команды на десять-пятнадцать минут: кто что делает сегодня, где застрял. Дальше — работа с задачами, между которыми вклиниваются вопросы коллег и правки после проверки кода.

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

Затем начинается самое неочевидное для новичка. Код нужно покрыть проверками, чтобы будущие изменения не сломали работающее. Его нужно отдать на проверку коллегам, получить замечания и переделать. Потом выкатить на тестовый сервер, посмотреть на графики, убедиться, что ничего не деградировало. И только затем задача считается сделанной.

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

Почему на Go редко берут совсем без опыта

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

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

Из этого не следует, что новичку дорога закрыта. Следует другое: путь длиннее одного курса. Реалистичный маршрут выглядит так: сначала основы программирования и алгоритмов, потом работа с базами данных и сетью, и только затем язык как таковой. Хорошая новость в том, что сам Go учится быстрее большинства языков: его синтаксис умещается в несколько вечеров, а дальше вы занимаетесь не языком, а тем, что на нём строят.

Если вы начинаете с нуля, ищите программу, где рядом с языком дают базу: устройство сети, работу с хранилищем данных, запуск приложения на сервере. Курс, состоящий из одного синтаксиса, оставит вас с умением писать учебные задачи и без умения делать сервис.

Что изменилось за последние годы

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

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

Третья — генерация кода помощниками на основе больших языковых моделей закрыла ровно тот участок, который раньше давали на курсах: типовые обвязки, разбор данных, шаблонные функции. Ценность сместилась в сторону проектирования и отладки: понять, почему сервис под нагрузкой начал отвечать медленнее, помощник за вас не сможет. Курс, который тренирует только набор типового кода, готовит к работе, которой становится меньше.

Сколько платят программистам в Беларуси

Отдельной статистики по языку нет, поэтому смотрим на общую позицию. Картина следующая: по данным ГородРабот.бай, в 2026 году программист по Беларуси получает в среднем 2 388 Br, а медианная зарплата составляет 1 813 Br. В Минске цифры выше: 2 773 Br в среднем и 2 250 Br по медиане, чаще всего в столичных вакансиях называют 2 000 Br.

Разрыв между Беларусью в целом и Минском по медиане — около четверти, и он объясняется концентрацией нанимателей. Разница между средней и медианой ещё показательнее: средняя выше медианы на треть, потому что верхнюю часть тянут за собой сильные специалисты с многолетним опытом. Новичку ориентироваться на медиану и ниже, а первые предложения обычно оказываются скромнее любой из этих цифр.

Ещё одна деталь про деньги: в разработке доход растёт ступенями, а не плавно. Первая ступень — выход на работу, вторая — примерно через полтора года, когда вы начинаете вести задачи целиком, без опеки. Разрыв между ступенями ощутимый, и планировать бюджет семьи стоит по нижней границе, а не по средней цифре из статистики.

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

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

Что с обещаниями трудоустройства

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

На что смотреть в программе, кроме списка тем

Первое — чем заканчивается обучение. У сильного курса на выходе работающий сервис, который можно запустить и показать: с хранением данных, с проверками, с запуском в контейнере. Именно этот проект вы принесёте на собеседование.

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

Третье — что дают вокруг языка. Базы данных, очереди сообщений, работа с системой контроля версий, основы развёртывания. Без этого набора вакансию не читают целиком.

Четвёртое — нагрузка. Программы по разработке требуют десяти-пятнадцати часов в неделю, и это не преувеличение. Если у вас есть только пять, выбирайте курс подлиннее, но пройденный до конца, а не короткий и брошенный.

Выбор редакции

GO-разработчик

Eduson Academy 4 мес. 5,0 (4)
Цену уточняйте на сайте школы Смотреть программу

Пятое — как устроена обратная связь между занятиями. В разработке важнее не лекция, а возможность спросить, когда вы застряли на ошибке в одиннадцать вечера. Живой чат с наставником и внятное время ответа стоят дороже, чем количество часов видео.

Кому в этой профессии будет комфортно

Смотрите не на школьную математику, а на привычки мышления.

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

Сильные и слабые стороны этого пути

Плюсы

  • Язык учится быстрее большинства других, правил в нём немного
  • Код разных людей похож, поэтому вход в чужой проект проходит легче
  • Спрос сосредоточен в серверной части, где зарплаты выше средних по разработке
  • Удалённый формат работы в этой области распространён шире, чем в среднем по рынку
  • Навыки вокруг языка — базы, контейнеры, сеть — переносятся в любую другую разработку

Минусы

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

Кто ведёт программы по теме

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

На рынке с
2018 года
Курсов в каталоге
111
Сайт школы
slurm.io

Слёрм (slurm.io) — российский учебный центр, специализирующийся на DevOps, Kubernetes и смежных инженерных темах. Проект работает с 2018 года и считается одной из сильнейших русскоязычных инженерных школ в своей нише. Для белорусских IT-инженеров Слёрм особенно актуален: белорусская индустрия истори...

Смотреть курсы школы
K

Kata Academy

4,2 · 27 отзывов
На рынке с
2019 года
Курсов в каталоге
9
Сайт школы
kata.academy

Kata Academy — российская онлайн-школа программирования с буткемп-форматом. Для белорусских учеников полностью открыт онлайн-формат: учебная платформа не блокируется, часовой пояс совпадает с Минском, все занятия, код-ревью и стажировка проходят дистанционно. Основные направления — Java, Go, Fronten...

Смотреть курсы школы

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

Что почитать дальше

Поделиться: Telegram WhatsApp ВКонтакте

Читайте также

cover
Гиды

Переподготовка при вузе или частные курсы — что выбрать в Беларуси

Переподготовка при вузе даёт диплом государственного образца за 11–21 месяц, частные курсы — сертификат центра за 1,5–4 месяца. Разбираем, кому какой документ нужен, сколько это стоит в белорусских рублях и почему налоговый вычет сюда не подходит.

· 10 мин
cover
Гиды

Подготовка к школе: что действительно нужно первокласснику

Читать и считать до ста — не главное требование к первокласснику. Разбираем, что проверяют на самом деле, когда начинать занятия и чем подготовка отличается от репетитора и развивающего кружка.

· 6 мин