golang

Go-разработчик в 2026 году: скилсет джуниора и ожидания рынка

  • пятница, 6 февраля 2026 г. в 00:00:08
https://habr.com/ru/companies/yandex_praktikum/articles/992284/

Привет! Это команда Яндекс Практикума. В конце 2025 года мы провели исследование рынка и узнали, как меняются требования работодателей и к чему стоит готовиться джуниору Go-разработчику при трудоустройстве. Рассказываем самое важное.

Что мы сделали

Чтобы выяснить актуальные требования работодателей и узнать, как проходит наём, мы изучили процесс трудоустройства с обеих сторон:

  • взяли интервью у нанимающих менеджеров — тимлидов и синьоров из средних и крупных компаний, включая видеохостинги, маркетплейсы и поставщиков IT-продуктов;

  • опросили выпускников курса «Go-разработчик» — джуниоров, которые недавно проходили процесс найма.

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

Что мы узнали

Знание конкретной базы данных не требуется, но лучше вкладываться в PostgreSQL

Для нанимающих менеджеров важно, чтобы джуниор знал и умел работать с любой реляционной базой данных, но какой именно — не принципиально. Главное, уметь писать SQL-запросы. Чаще всего в компаниях используют PostgreSQL.

«Обязательно должна быть какая-то база данных, с которой ты работаешь через SQL. Так сложилось, что в 95–99% случаев это будет Postgres. Но если человек освоил SQL, например, на SQLite, это вообще не будет проблемой» — руководитель группы разработки в компании-разработчике маркетплейса

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

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

Знание Docker пока необязательно, но мнения разнятся

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

«Если есть два кандидата, один из которых лучше работает с Go, но без Docker, а у второго чуть похуже с Go, но есть знание Docker, я выберу первого. Потому что Docker можно освоить за короткий срок» — тимлид в компании-разработчике IT-систем для провайдеров связи

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

Фреймворки — не нужны

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

«Зацикленность на фреймворках для меня red flag. Если человек говорит, что работает, например, только с Gin, то это вызывает естественное недоумение — а почему только с ним?» — старший разработчик в видеохостинге

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

«Мы практически не используем фреймворки. Есть отдельные библиотеки, которые мы используем для роутинга, валидации, генерации кода на основе спецификаций. Поэтому у нас в требованиях даже к синьорам нет фреймворков. Что касается библиотек: мне важно, чтобы человек развился в языке, а уже потом применял их, чтобы добавить функции или упростить себе жизнь там, где это действительно нужно» — руководитель направления бэкенд-разработки в крупной IT-компании

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

Важно не только уметь писать код, но и эффективно работать с чужим

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

«В первую очередь джуниоры дописывают чужой код и “въезжают” в то, как написаны проекты» — руководитель отдела разработки в маркетплейсе

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

«Чаще проще написать новый код, чем разбираться и сделать осмысленные фиксы в старом. У нас пропорции, наверное, семьдесят на тридцать. Семьдесят — новый код, тридцать — изменение уже существующего» — тимлид в компании-разработчике IT-систем для провайдеров связи

Опрошенные джуниоры подтверждают, что для работы необходимы оба навыка.

Софтскилы для джуниора могут быть определяющими

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

Под системным или инженерным мышлением нанимающие менеджеры понимают умение анализировать и систематизировать информацию.

«Я всегда подбираю разработчиков с системным мышлением, которые умеют в анализ, систематизацию всего, что им дают “на вход”. Я бы хотел, чтобы человек быстро въезжал в новую тему или хотя бы задавал правильные вопросы» — руководитель направления бэкенд-разработки в крупной IT-компании

Также эксперты представляют навык как умение декомпозировать задачи.

«Тебе пришла задача, ты должен построить план действий — что нужно сделать, чтобы эта задача исполнилась» — руководитель группы разработки в компании-разработчике маркетплейса

Или умение рассуждать — логично и последовательно.

«Во время выполнения задания я смотрю, как человек мыслит и что он делает, насколько последователен он в своих выводах, откуда он их берёт и как связывает между собой» — тимлид в компании-разработчике IT-систем для провайдеров связи

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

Навык работы с ИИ джуниорам ещё не требуется

Умения работать с ИИ от джуниора не ждут — это подтверждают как работодатели, так и соискатели.

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

«Есть много примеров, когда человек заходит во встречу и показывает уровень знаний даже на мидл-позицию, но в итоге с задачами не справляется и испытательный срок не проходит. Таких случаев стало гораздо больше, чем до появления ChatGPT» — лид-инженер в крупной IT-компании в ритейле

В работе ИИ воспринимается не как замена джуниору, а скорее как помощник — он помогает находить информацию, анализировать код, генерировать тесты и разъяснять сложные моменты в работе.

«Если джун мне скажет, что написал код сам, но для написания тестов использовал ИИ, я скажу, что он красавчик» — руководитель направления бэкенд-разработки в крупной IT-компании

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

«Мы задумываемся над тем, чтобы ввести в интервью вопросы, связанные с ИИ. Если нейросеть выдаст тебе код, ты слепо доверишься или проверишь его работу? Если заработало, пустишь в репозиторий сразу или сделаешь ещё что-то, прежде чем продолжить?» — руководитель направления бэкенд-разработки в крупной IT-компании

Один из экспертов в качестве примера сравнил ИИ со Stack Overflow. Разработчики использовали чужие решения в том или ином виде всегда. Неважно, выдаёт их Google или ChatGPT — важно, чтобы человек разобрался в коде и понимал, как он работает.

Скилсет джуниора: на что рассчитывают работодатели

Самое главное для джуниора — это крепкая база и развитые софтскилы. Скилсет идеального кандидата можно представить следующим образом.

Хардскилы

Маст-хэв

  • Go: простые программы, базовый синтаксис, основная теория

  • ООП: что это, принципы и базовые концепции

  • Базы данных: работа с любой реляционной базой данных (PostgreSQL или аналогами)

  • Алгоритмы и структуры данных

  • Клиент-серверные приложения, REST, базовые принципы сетевых протоколов (TCP/UDP, IP, HTTP)

  • Многопоточность: базовые концепции и применение, работа с памятью, безопасные потоки

  • Основные инструменты разработки: Git, редакторы кода, терминал

Найс-ту-хэв

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

  • Брокеры сообщений: зачем нужны брокеры сообщений (Kafka, MQ) или кэш (Redis), что такое асинхронное взаимодействие, как и на чём его можно построить

  • Docker и контейнеризация

  • Взаимодействие с API, Insomnia, Postman

  • Swagger: документация и работа с API

  • Grafana

  • gRPC и асинхронные коммуникации

  • Protocol Buffers в связке с gRPC

Софтскилы

  • Усидчивость: умение погружаться в задачу и работать с ней, даже если не получилось с первого раза

  • Системное мышление: умение мыслить логически, анализировать и систематизировать информацию

  • Любопытство: умение задавать вопросы и желание расширять кругозор

  • Коммуникация: умение структурированно подавать информацию и аргументировать решения

  • Тайм-менеджмент: работа с дедлайнами и планирование задач

Как устроен наём джуниоров

Прежде чем перейти к разбору этапов, важно оговориться, что рынок найма переживает сложное время. Например, по данным hh.ru за ноябрь 2025 года, индекс соотношения вакансий и резюме достиг 8,1 — это значит, что на одну вакансию приходится порядка восьми резюме. 

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

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

  • Продолжить поиск. Шансы устроиться на рынке есть всегда — работу нашли и те, кто выбрал не сдаваться после первых отказов.

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

Стажировки и внутренние школы — популярный способ трудоустройства в компанию, так как многие из них не набирают джуниоров «с улицы». Эту стратегию рекомендуют и опрошенные эксперты.

«Когда ко мне обращаются ученики (как к ментору), я им сразу говорю, что путь стажёра — самый простой способ попасть в компанию. За полгода ты и в работу команды вникнешь, и уверенным джуном станешь, если работаешь» — старший разработчик в сервисе бронирования жилья

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

Скрининг резюме и установочный созвон с HR-менеджером

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

  • коммерческий опыт — хотя бы на фрилансе,

  • наличие проектов в GitHub,

  • город проживания — всё больше компаний возвращают сотрудников в офисы,

  • возраст — эйджизм в сфере ещё встречается,

  • релевантное высшее образование.

Также HR-менеджеры проводят установочные созвоны с кандидатами, где спрашивают про опыт и ожидания, оценивают общую адекватность и задают базовые вопросы по Go, базам данных и Computer Science. Записи созвонов могут передаваться нанимающим — те оценивают, насколько кандидат успешно ответил на вопросы, и выбирают темы для разбора на собеседовании.

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

Тестовое задание

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

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

Как правило, задания — либо на проверку теории и базы по Computer Science, либо практические: сделать HTTP-сервер с разбивкой на слои (handlers, логика, слой базы данных); написать REST-сервис; разработать часть микросервиса, который мог бы обрабатывать данные с потока, принимать, отдавать ответы и укладывать данные в базу.

Собеседование

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

Общие вопросы касаются следующих тем:

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

  • Мотивация. Нанимающие могут поинтересоваться, как человек пришёл в профессию и как планирует развиваться в ней дальше.

  • Софтскилы. Особенно важны проактивность, увлечённость, любопытство и навык тайм-менеджмента. Также нанимающие могут смоделировать ситуацию, чтобы узнать, как кандидат будет действовать.

Технические вопросы, как правило, задаются по мере сложности — от базовой теории до пределов знаний кандидата. При этом работодатели рассчитывают не на «идеальные» ответы, а на логичность размышлений. Темы в этом блоке соотносятся со скилсетом — это могут быть вопросы по Go и структурам данных, ООП, SQL и базам данных, API и REST, HTTP-серверам, многопоточности и синхронизации процессов, на алгоритмы и логику. Иногда нанимающие повышают сложность и, например, спрашивают, как работают слайсы и мапы «под капотом», или углубляются в асинхронность. Могут задать вопросы по тестовому заданию.

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

  • мини-задачи на Go: простые функции, строки, слайсы и мапы;

  • простые асинхронные задачи: worker pool, каналы;

  • работа с базой данных: создать таблицу, сделать простой запрос;

  • написание REST API и HTTP-сервера;

  • код-ревью — задачи на поиск и исправление ошибок в коде.

«В этой части мы обычно просим написать какой-нибудь worker pool, асинхронно что-то как-то обработать. Каналы там уже точно появятся, примитивные синхронизации типа Mutex и WaitGroup. Это прикладные задачи, которых в Go довольно много, и нужно уметь их решать» — руководитель группы разработки в компании-разработчике маркетплейса

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

«Точно есть у многих — торопятся, сначала говорят, а уже потом пытаются додумать» — руководитель группы разработки в компании-разработчике маркетплейса

Также причинами для отказа могут стать:

  • поверхностные ответы, которые человек успешно «зазубрил», но которые сложно переложить на практику;

  • излишняя самоуверенность;

  • острая реакция на уточняющие вопросы и неумение воспринимать обратную связь.

Портфолио

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

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

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

Испытательный срок

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

  • изучение документации, знакомство с репозиторием, изучение сервисов и погружение в процессы команды;

  • исправление багов и мелких дефектов: разобраться в контексте, исправить логику, поправить валидацию;

  • обновление библиотек, повышение тестового покрытия;

  • приведение модулей к общей архитектуре;

  • рефакторинг небольших фрагментов кода, которые можно покрыть тестами;

  • написание небольших методов (пойнтов): получить данные из базы, «прокинуть» их через сервисы;

  • простые миграции баз данных;

  • мелкие доработки, не влияющие на критичные части системы, и фичи для внутренних нужд команды.

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

«Задачи не столько сложные, сколько рутинные. Например, покрытие логами, покрытие метриками, приведение кода к единой архитектуре» — старший разработчик в видеохостинге

«В первое время джуны решают “техдолговые” задачи. Классический пример: написать метрики и создать дашборд в Grafana» — руководитель отдела разработки в маркетплейсе

«Как бы плохо ни звучало, изначально человек приходит фиксить баги. Это на самом деле очень полезная задача, но на неё всегда не хватает ресурса. Затем джуниор переходит уже к мелким доработкам, возможно, даже “бизнесовым”» — руководитель группы разработки в компании-разработчике маркетплейса

На испытательном сроке работодатель наблюдает, как новичок влился в команду, увеличилась ли скорость его работы, стал ли он более самостоятельным, не допускает ли он одни и те же ошибки, насколько вовлекается в задачи. Причиной для разрыва сотрудничества может стать срыв дедлайнов («ничего не делает, просто сидит»), отсутствие прогресса, полное отсутствие инициативы и самостоятельности.

Выводы

Подводим итоги.

  • Уметь работать с реляционными базами данных — обязательный навык. Выбор конкретной базы не критичен.

  • Уделять внимание фреймворкам на старте не стоит, лучше подтянуть знание стандартной библиотеки Go.

  • Джуниорам важно учиться не только писать код, но и быстро разбираться в чужом.

  • Работодателям важны софтскилы, особенно вовлечённость в работу, обучаемость и системное мышление.

  • Навык работы с ИИ не требуется, но выбор инструментов остаётся за джуниором — если хочется, можно использовать в некритичных задачах.

  • Стажировка — лучший, по мнению нанимающих, способ найти первую работу.

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

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