Go-разработка: язык, который вырос из инфраструктуры и остался в ней

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

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

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

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

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

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

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

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

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

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

Отсюда и типичный сценарий появления вакансии: компания не начинает проект на Go с нуля, а переписывает на нём самые нагруженные части системы, где старое решение упёрлось в потолок.

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

Чем занят разработчик в рабочие часы

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

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

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

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

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

Четыре слова, которые встретятся в первом же описании

Без этих терминов учебный план читается как перечисление незнакомых слов.

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

Деньги: цифры общие, а позиции разные

Отдельной строки для языка в зарплатной статистике не существует, поэтому смотрим на программиста в целом. По данным ГородРабот.кз, в 2026 году средняя зарплата программиста в Казахстане составляет 541 317 ₸, медианная — 473 594 ₸, чаще всего в объявлениях указывают 500 000 ₸. В Астане средняя 603 713 ₸, медианная 513 500 ₸, самая частая та же сумма. Разница между столицей и страной есть, но серверная разработка почти вся удалённая, и обучение тоже дистанционное, поэтому переезд ради вакансии здесь редкость.

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

Медиана и здесь честнее среднего: половина предложений лежит ниже 473 594 ₸, и в эту половину попадают вакансии для начинающих в любых языках. Человек, приходящий в Go вторым языком с опытом работы, стартует ближе к верхней части диапазона.

Стоит понимать и структуру найма. Вакансию с формулировкой «начинающий разработчик на Go» открывают редко: чаще берут человека на общую позицию и переводят на новый язык внутри команды. Поэтому вход через своего работодателя в этом направлении встречается заметно чаще, чем отклик на объявление со стороны.

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

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

Кому этот язык становится удобным вторым

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

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

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

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

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

Плюсы

  • Небольшой объём правил: язык осваивается быстрее большинства соседних
  • Спрос идёт от нагруженных систем, которые не собираются исчезать: платежи, связь, логистика
  • Работа почти вся удалённая, поэтому вакансии столицы доступны из любого города страны
  • Навык хорошо ложится на опыт эксплуатации серверов и автоматизации тестирования
  • Программы короче, чем в других языках, а результат виден на первом же сервисе

Минусы

  • Начальных вакансий мало: рынок ждёт людей с опытом работы в разработке
  • Задачи упираются в устройство сетей и баз данных, а не только в сам язык
  • Язык намеренно скупой, и приёмы из других языков здесь не работают
  • Часть программ рассчитана на действующих разработчиков и новичку будет непонятна
  • Значительная доля документации и обсуждений существует только на английском

Что проверить в учебном плане

Программы по этому языку короче, чем по соседним, и разница между ними прячется в практике.

  • Работающий сервис в финале: с базой данных, обработкой ошибок и запуском в контейнере. Учебные задачи на синтаксис такого результата не дают.
  • Отдельный блок про конкурентность с разбором типичных ошибок. Именно на этом месте новички ломают сервисы, и именно об этом спрашивают на собеседовании.
  • Нагрузочное тестирование хотя бы в простой форме: посмотреть, что происходит с сервисом при тысяче запросов, и объяснить результат.
  • Требования к слушателю указаны честно. Если программа рассчитана на людей с опытом, это должно быть написано прямо, а не выясняться на третьей неделе.
  • Проверка кода человеком. В языке со строгими соглашениями о стиле замечания наставника ставят руку быстрее любых видеозаписей.

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

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

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

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

Как выглядит реальный вход в профессию

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

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

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

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

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

Спросят ли у вас диплом

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

Сертификаты по языку в найме почти не спрашивают. Проверка идёт задачами: вам покажут кусок кода и попросят объяснить, что произойдёт при одновременном доступе к данным, или предложат небольшой сервис к следующему дню.

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

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

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

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

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

Kata Academy

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

Kata Academy — российская онлайн-школа программирования с буткемп-форматом (9 месяцев). Для казахстанских учеников доступен полный дистант: обучение, код-ревью и командная стажировка идут онлайн, платформа работает без VPN. Основные направления — Java, Go, Frontend (React), QA Manual и QA Automation...

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

Чем этот язык интересен на длинной дистанции

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

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

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

cover
Гиды

1С для пользователя, администратора и разработчика: что закрывает обучение и где его граница

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

· 8 мин
cover
Гиды

С чего начать в управлении проектами

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

· 10 мин
cover
Гиды

С чего начать в управлении бизнесом

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

· 10 мин