Исследование зарплат Golang‑разработчиков: переходите на Go, пока не поздно
Настало время для нового разговора о языке Go: что с работой, сколько получают программисты и стоит ли учить его вместо Python и Java.
Иллюстрация: Danial Igdery / Unsplash / Sj Objio / Kevin Canlas / Annie для Skillbox Media
Мы в «Технократии» регулярно следим за рынком вакансий в IT. Ранее мы выясняли, что с работой и зарплатами у Python-программистов, и изучали положение дел на рынке кросс-платформенной разработки. В этот раз под раздачу попал Go — относительно молодой, но востребованный язык для бэкенда.
Как мы исследовали
Чтобы понимать, как обстоят дела с работой на Go, мы подгрузили данные о вакансиях разных стеков по ключевым словам на HeadHunter.
Для исследования мы взяли данные за полгода — с 22 июня 2022 года по 31 марта 2023 года. Понаблюдали, как росли зарплаты у Go-разработчиков, повлияла ли мобилизация на спрос, а также насколько сильны были новогодние колебания, — но об этом чуть позже.
Всего за это время было размещено 10 023 вакансии на Go — это примерно в 3,5 раза меньше, чем, например, на Python и PHP. Для сравнения, вот количество предложений в самых популярных стеках:
- Java — 52 148 вакансий (в 5 раз больше, чем на Go);
- PHP — 39 398 вакансий (в 3,8 раза больше, чем на Go);
- Python — 34 122 вакансии (в 3,4 раза больше, чем на Go).
Но зато Go первый по приросту вакансий среди всех стеков — плюс 37,13% в январе и плюс 9,85% в феврале. Просадка числа вакансий наблюдалась лишь в конце 2022 года — но это характерно для всего IT, не только для Go-разработки.
Есть гипотеза, что с PHP можно перейти на Go. Мы заметили, что 1% вакансий для PHP-разработчиков стабильно содержит примечание: «с миграцией на Go в будущем». Но о какой-то тенденции говорить пока рано — PHP всё ещё в форме, несмотря на то, что доходы разработчиков на нём особо не растут.
Почему Go интереснее, чем Java и Python: три причины
Производительность. Go изначально создавали в Google для ускорения разработки веб-серверов, поэтому в нём есть встроенная поддержка параллельности и конкурентности. Благодаря этому приложения на Go работают быстрее, чем их аналоги на других языках. Кроме того, Go потребляет меньше памяти, чем Java, что особенно важно при работе с большими объёмами данных.
Простота. Одна из фишек Go — простой и легкочитаемый синтаксис. И это ещё один принцип создателей: всё должно быть легко и компактно, чтобы программисты тратили меньше времени на рутину и могли сосредоточиться на инженерном творчестве.
А ещё это важно для больших компаний, где разработчикам приходится часто переходить с проекта на проект и надо быстро включаться в работу.
Низкий порог вхождения. У Go есть обширная библиотека стандартных пакетов для самых разных задач: работы с сетью, кодирования и декодирования данных и так далее. Документация Go написана максимально дружелюбным языком и умещается всего на 20 страницах.
Последнее преимущество на самом деле «со звёздочкой». Действительно, программировать вы начнёте очень быстро — но понимание сложных концепций вроде каналов и горутин может затянуться на несколько месяцев.
Кто нанимает Golang-разработчиков
Golang полюбился большим компаниям. Судя по данным с HeadHunter, почти все «тузы» российского IT-рынка хантят Go-разработчиков. Больше всего нанимают в финтехе. Несмотря на санкции, эта сфера остаётся лидером по числу нанимателей: в ней сосредоточено 17,6% от всех вакансий.
Среди направлений, где больше всего заинтересованы в Go-разработчиках, есть и e-commerce (11,9%) и телекоммуникации (7,6%). Компании, которые нанимают спецов по Go, — это топы в своей сфере: «Тинькофф», МТС, Ozon, 2ГИС, Wildberries.
В 2023 году ситуация на рынке труда не изменилась: бизнес по-прежнему заинтересован в Go-разработчиках. При этом колебания числа вакансий мало зависят от внешних факторов — например, мобилизация на наём никак не повлияла. Значительный спад ожидаемо произошёл перед Новым годом, но в течение двух месяцев рынок вновь стабилизировался.
Сколько получают разработчики
Короткий ответ: до 300к в секунду пока далеко, но рынок к этому стремится.
Программировать на Go пока умеет не так много разработчиков, поэтому компании готовы предлагать кандидатам хорошие деньги. Go успел даже забраться в тройку самых денежных языков по версии «Хабр.Карьеры»: во втором полугодии медианная зарплата разработчиков составила 250 000 рублей в месяц.
При этом зарплаты Go-разработчиков стабильно растут: в сравнении с первым полугодием прошлого года — на целых 22%. По этому показателю Golang опередил только Delphi, который вырос на 28% за указанный период.
Это впечатляющий рост для такого молодого языка — 20% за два года, и темпы не собираются снижаться. Разработчики на Go легко могут посоревноваться в зарплатах с джавистами и питонистами: первые зарабатывают в медиане 250 000 рублей, а вторые — 200 000 рублей.
Вакансии и зарплаты по грейдам
Кажется, что если язык молодой, то компании при найме будут отдавать приоритет начинающим специалистам, чтобы вырастить из них крепких мидлов с прицелом на переход в сеньоры. Но данные показывают иную картину — сейчас в приоритете как раз senior-разработчики.
Это может говорить о том, что компании находятся в процессе выстраивания команд разработки на Go. А для этого как раз нужны сеньоры — крепкие разработчики, которые могут не только писать код, но и брать на себя управление командой и проектами.
Если говорить о зарплатной вилке, то, по данным Getmatch, расклад такой:
- Junior: от 86 000 рублей в месяц. Медиана — 145 000 рублей.
- Middle: от 130 000 рублей в месяц. Медиана — 202 000 рублей.
- Senior: от 200 000 рублей в месяц. Медиана — 300 000 рублей.
Резюме: Go — мощный и лёгкий язык, который используют всё больше компаний, от стартапов до бигтеха. Анализ рынка показывает, что вакансий станет больше. Из-за этого рост зарплат может потерять в темпах, когда возникнет дисбаланс спроса и предложения. Так что лучший момент для того, чтобы залететь в Go, — прямо сейчас, пока есть ощутимая нехватка кадров.
Стоит ли изучать Go как первый язык программирования?
Вот, что об этом думает Алмаз Нурмухаметов, ведущий Java-разработчик в «Технократии», который сейчас познаёт прелесть Go-разработки:
«Хотя Go предлагает простой синтаксис и довольно лёгок в изучении, он может быть сложен для новичков — особенно для тех, кто никогда ранее не изучал языки программирования.
Если нет опыта в программировании, лучше всё же начать с более простых языков, таких как Python, Java или JavaScript. На них можно изучить основы программирования, а затем, если будет желание, перейти на более сложные языки, такие как Go».
Стоит ли переходить на Go, если уже разрабатываешь на Java или Python
Отвечает всё тот же Алмаз Нурмухаметов:
«Если у вас уже есть опыт в программировании и вы хотите изучить простой, производительный и эффективный язык, то Go — это отличный выбор. В нём заложены возможности для разработки самых разных проектов, включая, например, облачные и микросервисные приложения.
С другой стороны, Java и Python остаются очень популярными языками программирования с большим сообществом и обширной документацией. Если вам нравится с ними работать, можно продолжать углублять свои знания и навыки разработки на этих языках, и будет вам счастье».
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!