Employmentgolang

Итак, ты перекатываешься в Golang...

Мир меняется, рынок меняется, зарплаты и вакансии тоже меняются. Возможно, и тебе пора? Глянем что нужно, чтобы разобраться в golang, подготовиться к собесам и получить оффер.

29 августа 2026 г.11 мин чтения0 комментариев

А надо ли тебе перекатываться?

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

Поэтому погнали разбираться в специфике рынка и языка.


Поиск работы

Основная сложность на момент середины 2026 года - это опыт.

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

Если опыта нет

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

Если опыт есть

Ситуация сильно упрощается. Тебе понадобится только подбить резюме под ожидания компании, а выписка из друдовой тебя прикроет.

Цитата
  • В конторе ты работал? Работал.
  • Задачи делал? Делал.

Поэтому создавай легенду по этому гайду, и вперед :)

ФиксикСтатьяEmployment6 мин чтенияЛегенда. Важнейший этап собеседованияПроцесс собеса - многоуровневый этап. Если на скрининге можно чуть налажать, то презентация твоего опыта ошибок не прощает. Разбираем как продать себя так, чтобы точно пройти интервью.

Рынок вакансий

РФ

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

Удаленки по РФ так же много. Единственная проблема - удаленка в рамках РФ, зарубежом работать нельзя.
Есть исключения вроде Ozon, WB, и ряда других компаний, которые открыли свои юрлица в Казахстане и предлагают нанимать туда.

Зарубеж

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

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

И работы ребятки много. И хорошо то, что специфика Golang'a позволяет создавать не только распределенные системы, но и распределенные команды. Удаленка по Европе, США и СНГ, а зарплата в долларах.
Помимо этого еще часто предлагаю релокацию.
Оформление документов остается единственной преградой, но в той же Грузии открыть ИП и банковский счет можно за 15 минут. Вывод денег так же прост: крипта или обнал. Налог на прибыль малого бизнеса всего 1%. В последних поправках только потребовалось получать разрешение на работу, но это особых проблем не доставляет.


Резюме

В отрвые от легенды - тебе нужно продающее резюме на английском языке. Тебе надо учесть, что резюме это в первую твоя визитная карточка, ее оформление, About, Skills, Bullet-Points и прочие базворды - твой приоритет. Это крайне важно. По моей персональной статистике, сейчас только одно из 10 резюме реально проходит фильтры и попадает HR'ам на стол. Короче обязательно читай гайд на платформе по составлению резюми и иди проверяй его тут: скармливай грейдеру - он проверит насколько у тебя с резюме все ок.


Бабки

В среднем зарплаты в Golang чуть выше чем в среднем по-рынку. Этот тайтл ты увидишь на многих инфоциганских бордах, которые продают тебе курс по Go. Но нам интересно не это. Собирать среднюю по больнице картинку всегда плохая идея. Я это прочувствовал еще на рынке C++. Кому-то платят 50 тыщ. в университете, кому-то 600к на удаленке.

Нам нужна иная информация - общее количество доступных вакансий и их идентичность*. *И это та проблема, с которой столкнулся я. Работы то вроде много, но почти никакая мне не подходит:

  • Если у тебя 100 разных вакансий на C++, то под каждую придется учить новый домен.. Где-то нужен embedded, где-то HFT, где-то геймдев и т.д.
  • Если у тебя 100 почти однородных вакансий на Golang, это позволит тебе сменить работу без особых напрягов и подготовки.

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

Поэтому на ЗП в $5000+ точно можно расчитывать.


Личный опыт

Вышел на рынок я в июле - не очень хороший сезон для собесов, что сказалось на моей персональной популярности в LinkedIn - несмотря на 3000 фолловеров, мне почти никто из HR не писал.
Искал вакансии я самостоятельно: просто начал отправлять резюме вручную. Заходил на LinkedIn, и по фильтру искал компании и отправлял резюме. Так же просил Claude и ChatGPT найти все вакансии в Грузии на удаленку - он тоже подкидывал неплохие варинаты, в том числе Plata.Спустя неделю-полторы пошли первые скрининги. Суммарно за ~20 Откликов меня позвали на 5 собесов. Интересно то, что все эти компании были представлены в Грузии, и локальность сыграла мне на руку. Со скринингов было 4 собеса. Epam, Plata, TradingView и SensorTower. Одна мне дала офер, Plata дошла до финала, а последние две отказали после первой технички.
На время собесов я более не подавался на другие вакансии: одного жирного офера мне было достаточно.


Почему гошка простая

Пройдемся коротенько почему перекатываться в Go легко.

Golang кастрированный язык.

На самом деле это урезанный C/C++, C#, Java и т.д. Там нет наследования, полиморфизм реализуется только через интерфейсы, которые представляют из себя коробку с типом и указателем. Вся многопоточка зашита в несколько примитивов вроде chanel, wait group, context, кейвордов close(), select{}, и парочку других.

За счет своей простоты, там весьма понятные концепции сборки мусора и многопоточки. Если ты уже работал напрямую с потоками из какого нибудь C++, то ты легко поймешь, что те-же горутины это очень простая абстракция над потоками.
Можешь пойти даже и сейчас проверить насколько тебе легко будет понять Go через документацию

ТемаGoНачальный уровеньОсновы и пакетыПакеты и импорты, объявления через var/const/:=, базовые типы, нулевые значения, iota, видимость имён и инструменты go build/run/mod.

Тут правда нечего учить.


Что готовить

Golang

У языка есть всего несколько аспектов, к которым надо реально готовиться перед собеседованиями.

Многопоточность

А именно горутины. Вокруг них построен костяк собесов на Golang. Так же почти всегда уходят в устройство планировщика Go, какие есть очереди и как работает work-stealing.
Примиты синхронизации между горутинами это следующий топик. Начинается с вопроса:

А что есть в пакете sync.?

А зачем нужен контекст?

ТемаGoНачальный уровеньГорутиныЗапуск горутины через `go`, почему горутина «лёгкая» по сравнению с потоком ОС, и ожидание группы горутин через `sync.WaitGroup` с контрактом `Add`/`Done`/`Wait`.

Контейнеры

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

Можно ли взять указатель на элементы мапы?

Что будет, если передать слайс в функцию и добавить туда элемент?

Что хранит string? Как по нему итерироваться?

ТемаGoСредний уровеньСлайсы, мапы и строкиВстроенные коллекции Go от основ до устройства — slice и его трёхсловный заголовок, выражения среза, рост и алиасинг, map с comma-ok и устройством hmap, nil-карта, строки как неизменяемые байты и безопасность памяти.

Сборка мусора

Дворники в гошке третий по значимости топик. Самое знаменитое:

А как работает трехцветный алгоритм?

ТемаGoПродвинутый уровеньСборка мусора в GoКонкурентный трёхцветный mark-and-sweep сборщик Go — триггер цикла, пейсинг, STW-паузы, барьер записи и тюнинг через GOGC и GOMEMLIMIT.

Полный список ты можешь глянуть на роадмапе по golang.

Профайлинг

В гошке есть основной профайлер в виде pprof. Могут поинтересоваться как ты профайлишь и на что смотришь, но это лишь в формате кейса:

У нас вот чето отъебнуло, не работает. Как понять что конкретно не работает?

ТемаGoСредний уровеньПроизводительность GoПрофилирование Go-сервиса через pprof, анализ узких мест, PGO, стратегии масштабирования, тестирование без фреймворка и мокирование зависимостей.

Какие пет-проекты надо сделать

Тебе понадобится сделать как минимум два проекта:

  1. Worker pool. У тебя есть объекты Task, Worker и Scheduler. Твоя задача написать код, который выполняет задачи извне на этих воркерах. Можешь подробнее почитать тут. https://medium.com/@ramu.mangalarapu1622/understanding-worker-pools-in-golang-db031689fd21
  2. Микросервис. Самая главная концепция после языка - это как этим языком пользоваться. Тут тебе понадобится написать сервис для сохранения пользовательских данных. Пропиши контракты, DTO, конфиги, инфраструктурный слой.
    Этот проект поможет тебе понять суть различных архитектур: Слоистой, Гексогональной и Чистой.
ТемаGoПродвинутый уровеньАрхитектура Go-сервисаСлоистая и чистая архитектура, направление зависимостей, adapter, DTO против доменной сущности и graceful shutdown в Go-сервисе.

Базы данных

PostgreSQL, Clickhouse, MongoDB, Redis

Этот отряд закроет тебе практически все что требуется на собесах.
По базам расклад такой. Всех всегда в первую очередь интересуют способы хранения данных в базе. И какие проблемы могут из этого проистекать. Поэтому готовим сначала индексы

ТемаGoСредний уровеньSQL и индексыИндексы и SQL глазами backend-инженера на Go — устройство B-tree, типы индексов PostgreSQL, составной индекс, агрегация, оконные функции, join-ы, партиционирование и VACUUM.

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

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

Далее - это разница OLAP и OLTP нагрузки. Тут прикол именно в способе хранения данных. Бывают строковые реляционные базы, а бывают колоночные. PostgreSQL и ClickHouse как раз из противоположных доменов. Будь уверен, что на собесе тебя спросят об этом.

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

И последнее - отказоустойчивость. Че такое журнал WAL, че с ним делать и как он работает.

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

Очереди

В наших распределенных системах рождается нужда создавать не только асинхронные операции в рамках нашего микросервиса. Появляется нужда создавать асинхронные меж-сервисные вызовы. Вот не надо тебе отправлять запрос на сервер и ждать от него ответ. Просто отдал и забыл. Тут к нам на помощь приходят очереди, основных всего две: Kafka и RabbitMQ. Есть еще NATS, но я лично встречал чаще всего вопросы по этим двум.

Жди вопросы, чем Kafka отличается от RabbitMQ, как у них устроено хранение и отправка данных, кто инициирует отправку и получение, как обрабатываются потери данных и так далее.

В этом топике все описано супер подробно:

ТемаGoПродвинутый уровеньОчереди сообщенийСобытийная архитектура и брокеры, Kafka-партиции и группы потребителей, гарантии доставки, outbox, dead-letter queue и идемпотентность.

SQL

С ним ситуация сложная. По моему наблюдению, очень не многие просят написать SQL запрос как например тут:

ВопросMiddleSQL и индексыНайти N-ю по величине различную зарплату, учитывая совпаденияРанжируйте строки через DENSE_RANK() OVER (ORDER BY salary DESC) в подзапросе, затем фильтруйте WHERE rnk = N. DENSE_RANK учитывает совпадения — равные зарплаты делят ранг, не пропуская следующий, поэтому N=2 — это вторая различная зарплата. ROW_NUMBER даёт одну строку, RANK пропускает ранги.

Но я взял ее с реального собеса в Plata. Поэтому по-хорошему тебе надо разобраться как устроены SQL запросы:

ТемаGoСредний уровеньSQL и индексыИндексы и SQL глазами backend-инженера на Go — устройство B-tree, типы индексов PostgreSQL, составной индекс, агрегация, оконные функции, join-ы, партиционирование и VACUUM.

Системный дизайн

На данном этапе собираются все термины которые я описал выше, плюс инфраструктурные подковырки и баззворды.

Сразу дам тебе линк с темой:

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

От нее есть несколько сиквелов, которые надо изучить. В одну тему это не засунешь, но обрисуют тебе картину так.

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

  1. Если чето отъебнет, че делать?
  2. Если много юзеров и у нас чето отъебывает, че делать?

Поэтому все сводится к:

  1. Нам надо недопустить одной точки отказа. Делаем реплики БД.
  2. Нам надо недопустить просадки времени запроса. Делаем шардирование, чтобы разделить запросы к разным инстансам БД, делаем балансировщик нагрузки, чтобы один сервис не тянул все на себе, придумываем алгоритм для грамотной балансировки, делаем согласованные транзакции через SAGA.

То есть очень много всякого мозгового насилия, но все об одном и том-же.


Специфика гошного собеса

Ты встретишь три основных разновидности собеса:

Дрочь номер Раз: Лайвдрочинг

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

Цитата

А что такое горутины?

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

Дрочь номер два: Теория

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

Больше всех люблю такой тип собеса. Они не очень напряжные и прощают часть ошибок.

Дрочь номер три: Кейсы

Тебе не задают конкретные теоретические вопросы. Собес идет в стиле каких-то продуктовых кейсов:

Цитата

У нас постоянно падает запрос к базе, че делать?

Мы проектируем ecommerce площадку - конкурент озону. Есть 3 микросервиса: Оплата, Резевация заказа, Уведомление пользователю. Как будем синхронизировать транзакции между ними?

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

Какую дрочь ожидать

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

В TradingView - только кейсы и теория без кода.

Короче готовься вот к чему:

  1. Первый вариант относительно редок, чтобы тебя гоняли весь собес по одной задачке.
  2. Теория всегда про язык, иногда про базы. Миксуется с небольшими задачками.
  3. Кейсы всегда про оптимизацию сервисов, поиск проблем в архитектуре. Иначе говоря - системный дизайн.

Заключение

Тебе решать, переходить или нет.

Но мое мнение таково.
Если ты живешь зарубежом, или планируешь уезжать, то переход в Golang очень неплохой выбор. Удаленка, зп в баксах и стриптизерши.

Если ты в РФ, и уезжать никуда не планируешь, то попробовать все еще можно. Тебе никто не мешает создать вымышленное резюме, и проверить сколько будет откликов. Если нуль - значит ты либо плохо составил резюме, либо конкуренция сожрала этот рынок. При положительном раскладе - проходишь все секции и вуа-ля, ты бекендер на Golang.

Если у тебя остались вопросы, то обязательно задавай вопросы в комментариях.

Всех обнял, не теряйтесь.

Тегиgolang

Leave a comment

Войдите, чтобы оставить комментарий.

Create an account or log in to leave a comment.

Sign In

Comments

No comments yet.

05Похожие разборы

Все записи
Employment

Гайд по перекату. Фреймворк на случай, если ты заебался.

У всех приходит момент, когда нужно все поменять. Ты устал от работы, от компании, от менеджемента, от области, от своего языка программирования. Это не важно. Я дам тебе фреймворк как поменять все. Расскажу про свой опыт, предложу тебе решение через SMART, который я подкрепил собственным опытом.

11 мин чтения17 августа 2026 г.
Employment

Легенда. Важнейший этап собеседования

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

6 мин чтения11 августа 2026 г.
Employment

Почему я ушел из геймдева

У всех наступает в карьере переломный момент, когда пора менять направление, стэк или специальность. Я этот путь прошел самостоятельно. Подготовил новые для меня технологии за пару месяцев и получил офер на $6000+

10 мин чтения9 августа 2026 г.
Итак, ты перекатываешься в Golang... — IT Abyss