Охота на Golang-разработчиков: где искать и на что обращать внимание
Последние пару лет язык программирования Go (Golang) стремительно набирает популярность в индустрии, и вместе с этим растёт конкуренция за специалистов. Golang-разработчики сегодня на вес золота: в России их активно ищут крупнейшие IT-игроки – от Яндекса и Mail.ru Group до Ozon. При этом сам язык ещё молод (чуть больше 10 лет в продакшене), поэтому квалифицированных инженеров, умеющих работать с Go, по-прежнему мало. В итоге компании ведут настоящую охоту за талантами, предлагая высокие зарплаты и бонусы. Например, Ozon при переходе со старого монолита на микросервисы нанимал сразу сотни Go-программистов.
По данным исследования Technokratos, за полгода количество вакансий Go-разработчиков в России выросло быстрее, чем по любому другому языку: +37% в январе 2023 года и ещё +9,8% в феврале. Хотя общее число позиций на Go пока уступает Java или Python, тренд очевиден: спрос бурно растёт. На глобальном рынке ситуация схожая – порядка 5,8 миллионов разработчиков по всему миру используют Go, и в опросах 93% из них довольны языком. Go оказался востребованным благодаря своей эффективности: он создан в Google для высоконагруженных систем, идеально подходит для микросервисной архитектуры и облачных сервисов (не случайно Kubernetes и Docker написаны на Go). Все больше крупных продуктов переходят на Golang, и компаниям позарез нужны специалисты, способные «прокачать» их инфраструктуру на этом языке.

Где же искать этих самых Go-разработчиков? В эпоху дефицита кадров рекрутёрам приходится идти далеко за рамки стандартного поста на работном сайте. Рассмотрим основные каналы сорсинга и почему одних только HH.ru уже недостаточно.
Каналы поиска: от джоб-сайтов до Telegram-чатов
Классические джоб-сайты. Начать можно с очевидного: размещение вакансии и просмотр резюме на платформах вроде HeadHunter или Habr Career (бывший «Мой Круг»). Такие сайты дают базу активных соискателей и позволяют оценить рынок – какие зарплаты предлагают конкуренты, сколько вообще доступно Go-программистов. Однако опыт показывает, что на открытых ресурсах высококлассных Go-разработчиков немного.
Во-первых, многие из них ценятся на текущем месте работы и не спешат выкладывать резюме в открытый доступ. Во-вторых, сильных «гоферов» компании часто пытаются переманить напрямую, и до этапа публикации резюме дело не доходит. Тем не менее игнорировать джоб-сайты нельзя: это отправная точка, которая к тому же даст представление о рынке и поможет составить конкурентное предложение (например, по данным Skillbox Media, вакансии с Go чаще всего указывают вилку зарплат выше средней по рынку). Важно только, публикуя вакансию, сразу привлечь внимание – описать действительно интересные задачи, стек и преимущества проекта, иначе объявление затеряется среди сотен других.
Профессиональные сообщества и соцсети. Там, где не хватает откликов с HH.ru, выручают специализированные сообщества разработчиков. Go-разработчики – народ общительный, их можно найти в тематических Slack-каналах, Telegram-чатах, на форумах и в Q&A-сервисах. Для русскоязычного сообщества хабом знаний служит Stack Overflow на поддомене ru.stackoverflow.com – по тегу golang там общаются и помогают друг другу тысячи инженеров. В Telegram существует несколько активных каналов с вакансиями по Go (например, «Go jobs» и аналогичные), где ежедневно публикуются свежие предложения.
Чтобы успешно разместить вакансию в таких сообществах, рекрутеры советуют соблюдать негласные правила: во-первых, почти все телеграм-каналы требуют указывать вилку зарплаты, иначе модераторы просто не пропустят пост. Во-вторых, лучше, чтобы вакансию от лица компании размещал не HR, а технический лидер команды – это резко повышает доверие. В живых чатах кандидаты могут сразу задать уточняющие вопросы о проекте, технологиях, процессе работы, и важно, чтобы отвечал компетентный коллега, а не «передавал привет» через третьих лиц. Такой персональный подход выгодно выделяет компанию на фоне десятков безликих объявлений и показывает, что вы действительно цените профессиональное сообщество.
Конечно, нельзя забывать и про LinkedIn – глобальную сеть для профессионалов. Несмотря на то, что в России доступ к LinkedIn официально ограничен, многие айтишники продолжают ею пользоваться через VPN. LinkedIn полезен тем, что позволяет точечно находить специалистов по названию должности (например, Golang Developer или Backend Go) и сразу видеть их карьерный путь. Платные инструменты LinkedIn Recruiter дают фильтрацию по навыкам, региону, опыту, а сами пользователи иногда указывают статус Open to work.
Однако сегодня LinkedIn перенасыщен рекрутинговой активностью, и хорошие кандидаты там получают по десятку сообщений в неделю. Сорсинг в LinkedIn стал довольно "холодным" – многие опытные разработчики просто не реагируют на очередное типовое предложение. Поэтому рекрутеры все чаще обращаются к более нестандартным площадкам вроде Github и Stack Overflow, чтобы выловить тех кандидатов, до которых не дотянулись конкуренты.
GitHub и другие репозитории кода. GitHub давно превратился из сугубо технического инструмента в настоящую соцсеть для разработчиков. Это крупнейшая бесплатная база талантов – свыше 73 миллионов пользователей по всему миру, среди них множество бекенд- и девопс-инженеров, в том числе специалистов по Go.
Преимущество GitHub в том, что здесь можно в буквальном смысле увидеть код кандидата: заглянув в его репозитории, понять, на каких языках и проектах он пишет, какие библиотеки использует. Часто беглого скрининга кода хватает, чтобы оценить уровень, стиль и даже обойтись без тестового задания. «GitHub – один из ключевых источников поиска талантов, и умение сорсить здесь стало важнейшим навыком рекрутера», – отмечают эксперты компании Evrone, которая нанимает Go-разработчиков для своих проектов.

Правда, сам по себе GitHub – инструмент не для ленивых. Как и на Stack Overflow, отправить личное сообщение через GitHub нельзя, придётся искать почту или другие контакты кандидата и писать ему уже в почте, мессенджере или LinkedIn. Поэтому обычно GitHub используют как дополнение: сначала находят подходящего человека по публичным данным профиля, а затем пытаются с ним связаться вне платформы. Зато возможностей поиска на GitHub – масса. Внутренний поиск позволяет фильтровать пользователей по языку, месту жительства, количеству фолловеров и др. Например, можно найти всех, у кого язык репозиториев – Go, локация – Russia, и у кого не больше 2 фолловеров (то есть ещё «неразмеченные» рекрутерами кандидаты).
Есть техники X-Ray-поиска через Google: искать резюме на GitHub Pages или сканировать файлы README на ключевые слова (в профилях Go-разработчиков часто можно найти упоминание golang или любимых инструментов). Существуют и специальные расширения. К примеру, OctoHR сразу показывает, открыт ли пользователь для предложений о работе (статус Hireable) и с какими языками чаще работает. Плагины вроде GitHub Email Hunter могут выудить из профиля адрес почты, а сервисы типа GitAwards позволяют найти самых влиятельных Go-разработчиков по городам и взглянуть на топовых контрибьюторов открытого кода. В умелых руках GitHub превращается в мощный радар для выискивания ценных специалистов – особенно тех, кто пока не публиковал резюме и не отвечает на звонки рекрутера.
Конференции, митапы, хакатоны. Когда онлайн-методы не дают быстрого результата, на помощь приходит олдскульный нетворкинг. Сообщество Go-разработчиков тесное, многие знают друг друга лично по отраслевым мероприятиям. Профильная конференция GolangConf ежегодно собирает сотни энтузиастов языка, а митапы по Go проходят во многих крупных городах. Для работодателя такие события – шанс сразу встретить десятки потенциальных кандидатов вживую. Отметьте имена спикеров, чьи доклады близки вашим задачам, – они, скорее всего, эксперты в нужной области (и, возможно, открыты для новых проектов).
Обратите внимание на людей, задающих умные вопросы из зала – это тоже своего рода сигнал о квалификации и интересе к сложным проблемам. В кулуарах после докладов можно неформально познакомиться, расспросить об опыте, оставить контакты. Многие успешные наймы senior-разработчиков происходят именно через личные знакомства на конференциях. Ведь хороший разработчик ценит, когда к нему обращаются не вслепую, а уже имея точку соприкосновения («Помню вашу презентацию о высоконагруженных сервисах на Go – очень впечатлило, у нас как раз похожие задачи…»). Поэтому не жалейте времени на развитие HR-бренда в офлайне: выступайте на отраслевых встречах, будьте видимы в сообществе, и к вам сами начнут стучаться нужные люди.
Рекрутинговые агентства. Если все вышеперечисленное не сработало или у вас нет ресурсов самостоятельно прочёсывать чаты и репозитории, на сцену выходят профессиональные сорсеры. Узкоспециализированные агентства по подбору технарей часто имеют доступ к базе «спящих» кандидатов – тех самых, кто не выкладывает резюме, но активно пишет код на GitHub и читает профильные каналы. Агентства знают, где водятся редкие кадры, и умеют их корректно замотивировать. Конечно, услуги эти стоят денег, и взаимодействие устроено иначе: первый контакт с кандидатом происходит от лица стороннего рекрутера, а не напрямую вашей компании.
Тем не менее хорошее агентство может существенно сэкономить вам время – пока вы ведёте бизнес, они параллельно прочешут рынок, сделают первичный скрининг, узнают ожидания разработчика и представят вам уже тёплых, заинтересованных в общении людей. Особенно выручают агентства, если нужен большой пул Go-разработчиков «под ключ» в сжатые сроки. Но даже в этом случае вам самим важно понимать, кого вы ищете и по каким критериям оценивать – иначе рискуете получить много резюме, но мало ценной информации. Как минимум, вооружитесь пониманием ключевых навыков и «сигналов» хорошего Go-разработчика, о которых далее и поговорим.
Ключевые сигналы: как распознать «своего» кандидата
Итак, вы разослали по всем каналам весть о вакансии Go-разработчика и начали получать отклики, либо сами нашли несколько потенциальных кандидатов. На что обратить внимание, чтобы из десятка резюме или профильных страниц понять, кто действительно вам подходит? Тут важно учитывать два аспекта: (1) сигналы об уровне профессионализма (навыки, опыт) и (2) сигналы о готовности сменить работу (насколько кандидат «тёплый»). Разберем обе категории.
Приметы профессионала. Хороший Go-разработчик, как правило, обладает крепкой базовой подготовкой. Нередко в резюме таких кандидатов указаны несколько языков: многие пришли в мир Go из C++, Java, Python или PHP. Это не недостаток, а скорее плюс: опыт в других языках означает, что человек уже знает фундаментальные принципы программирования, системы контроля версий, да и в целом умеет решать прикладные задачи. Такие инженеры быстрее осваивают новый язык, хотя у них могут быть пробелы в специфических деталях Go. Поэтому на интервью и в скрининге стоит уделить особое внимание тем темам, которые уникальны для Golang и могут вызвать сложности у новичков.
Например, параллелизм и конкурентность – гордость Go. Проверьте, понимает ли кандидат, чем горутины отличаются от потоков ОС, как работают каналы и чем отличается буферизованный канал от небуферизованного. Если человек легко объясняет эти концепции – перед вами, скорее всего, достаточно опытный go-разработчик. Если путается – возможно, его опыт с реальными конкурентными программами невелик. Многие компании прямо включают в скрининг вопросы по горутинам и каналам, ведь умение эффективно работать с параллелизмом критично при разработке высоконагруженных сервисов на Go.
Ещё один маркер – знание экосистемы Go. Язык минималистичен, но вокруг него сформировался мощный стек инструментов. Обратите внимание, использовал ли кандидат системы управления зависимостями (Go Modules, dep и т.д.), писал ли юнит-тесты с помощью встроенного фреймворка (go test), знаком ли с утилитами профилирования и отладки.
Опыт работы с базами данных тоже важен: Go почти всегда применяется для серверной разработки, а значит умение работать с SQL и понимание, зачем нужно вовремя закрывать соединения к базе – весомый показатель практики. Если в опыте указаны проекты с микросервисной архитектурой – это плюс: значит, кандидат, вероятно, понимает, как устроены распределенные системы, сталкивался с Kubernetes, Docker и прочими атрибутами современной серверной разработки. На собеседовании можно уточнить, какие сложности были в микросервисах, как решал проблему логирования или взаимодействия сервисов – по ответам станет ясно, реальный ли опыт стоит за красивыми словами в резюме.
А как быть, если перед вами совсем юный специалист, только начинающий с Go? Здесь в ход идут косвенные сигналы. Посмотрите на его публичные проекты, GitHub-профиль, участие в опенсорсе. Например, бывает полезно отследить динамику: когда человек начал интересоваться Go и как глубоко погрузился. В одном из профилей на GitHub мы видим, что разработчик впервые форкнул чужой Go-репозиторий в 2019 году, потом у него были проекты на Kotlin, PHP, Python, а все последние выкладки – снова на Go. Вероятно, за пару лет он вырос с джуна до крепкого мидла. Такая эволюция видна по истории коммитов и списку репозиториев.
Если же кандидат заявляет 5 лет опыта с Go, а в его открытом профиле лишь пара учебных пет-проектов – есть повод задать дополнительные вопросы. Впрочем, специалисты предупреждают: не делайте поспешных выводов только по GitHub! Пустой профиль вовсе не означает слабого разработчика. Многие сильные инженеры не имеют времени на открытые проекты, а коммерческий код лежит под NDA. Аналогично, если у кандидата в профиле одни PHP-репозитории, это не значит, что он «только PHP-шник» – возможно, он пишет на Go на работе, но не может выкладывать код, или просто не обновлял профиль давно. Поэтому используйте информацию с GitHub и прочих площадок скорее для гипотез, а не как истину в последней инстанции. Задайте вопросы напрямую: «Вижу, вы давно не коммитили на Go в open-source, зато активно отвечаете на вопросы по Kubernetes – работаете с Go на закрытых проектах в этой области?» Такой подход покажет, что вы изучали кандидата и цените его время.
Сигналы готовности к смене работы. Допустим, вы нашли технически подходящего специалиста. Как понять, открыт ли он к диалогу? Здесь тоже выручит небольшое расследование по открытым следам. Опытные сорсеры выделяют несколько признаков, что разработчик присматривается к новым возможностям. Первый признак – повышенная активность на профессиональных платформах. Если человек вдруг оживился на GitHub – начал чаще коммитить, звездить репозитории, выкладывать пет-проекты – возможно, он «причесывает» профиль перед поиском работы. Особенно показательно появление в репозиториях свежих проектов со словом test в названии. Бывает, открываешь репозиторий, а там описание: «тестовое задание для компании X». Логично предположить, что кандидат сейчас участвует в собеседованиях и выполняет тестовые – значит, уже мотивирован сменить работу.
Второй признак – обновления в резюме и контактах. Некоторые разработчики размещают актуальное резюме на GitHub Pages или в виде Gist-файла. Если вы находите у пользователя страничку вроде username.github.io с его CV, контактами и пометкой “open for new opportunities” – перед вами явно кандидат в поиске. Еще один явный сигнал – отметка Hireable в профиле GitHub. Обычно она не видна публично, но расширения вроде OctoHR подсвечивают пользователей, которые выставили галочку «открыт для предложений». Конечно, все эти индикаторы косвенные – даже пометив себя hireable, человек может не читать входящие сообщения, а личная страничка с резюме иногда остаётся висеть, хотя владелец давно уже трудоустроен. Тем не менее, собрав несколько таких сигналов вместе, вы получаете весомый аргумент, чтобы начать диалог: «Вижу, вы активизировались на GitHub и даже выложили своё резюме – возможно, рассматриваете новые проекты? Расскажите, какие задачи вам сейчас наиболее интересны…». Такой подход куда лучше, чем шаблонное «Здравствуйте, есть работа, вот описание, ждём отклика».
Любопытно, что даже активность на Stack Overflow может многое рассказать о настроении разработчика. Stack Overflow сам по себе не предназначен для поиска работы (их сервис SO Jobs закрылся), но рекрутеры используют его, чтобы оценить экспертность. «Заглянув в ответы пользователя на Stack Overflow, можно детально проанализировать его опыт, интересы и круг компетенций – то, что сложно понять из голого кода на GitHub», – рассказывает Руслан Сарваров, рекрутинг-лид Evrone. Если специалист активно отвечает на вопросы по Kubernetes, Docker, сетевому взаимодействию – вероятно, у него сильный бэкграунд в DevOps и распределенных системах, что ценно для многих Go-ролей.
А если в комментариях упоминает, что ищет новые проекты или интересуется фрилансом – это прямой повод аккуратно выйти на связь. Комбинируйте источники: например, нашли кандидата в LinkedIn, но он молчит – посмотрите, не светится ли он при этом на Stack Overflow или в Telegram-чате. Возможно, через коллег по сообществу получится установить контакт и проявить себя не просто как навязчивый рекрутер, а как участник профессионального диалога.
В итоге, чтобы заполучить крутого Golang-разработчика, мало выстрелить одной пулей в небо. Нужен многоканальный подход и внимание к деталям. Сорсинг – это исследование: лучших кандидатов находят те, кто копает глубже и шире остальных. Публикуйте вакансии там, где их не размещают конкуренты. Общайтесь с сообществом на равных, показывайте ценность вашего проекта. Анализируйте публичные «сигналы» – от кода и резюме до активности в соцсетях – но не делайте по ним окончательных выводов без личного общения. И главное – действуйте быстро и осознанно.
Рынок Go-разработчиков раскалён: хорошего кандидата могут увести через пару дней после того, как он объявил о себе. Поэтому, получив отклик, сразу отвечайте по существу, зовите на разговор с техническими лидами, задавайте умные вопросы. Покажите, что цените время специалиста: изучили его проекты, понимаете, что ему может быть интересно. Именно такой персонализированный и уважительный подход сегодня позволяет выиграть борьбу за редких «гоферов» даже у компаний с большими ресурсами. В конце концов, каждый разработчик – живой человек, который ищет не просто зарплату, а команду и идею. И если вы сумеете это предложить, никакой дефицит вам не страшен.