Карьера BinaryDistrict Russia
12 105

Почему бизнес охотится на разработчиков Golang

Рассказываем, как получилось, что разработчики считают язык Go простым, а работодатели готовы платить за него высокую зарплату и нанимать по 200 программистов сразу.

В закладки

Будь проще

Популярность Go резко выросла за последние два года по всему миру, согласно рейтингу TIOBE, который оценивает интерес к языкам программирования по количеству поисковых запросов.

Он даже стал языком года в 2016 году — уже второй раз после 2009 года, когда его только презентовала Google. Тогда его создатели объясняли, что хотели создать простой язык. Кроме того, нужно было совместить в нём скорость разработки таких динамических языков, как Python, с производительностью и безопасностью компилируемых — как C и C++.

Создатели Go считали, что из-за сложности языков программирования «создавать ПО становится труднее, несмотря на то, что компьютеры развиваются». Представляя Go, авторы часто цитировали одного из создателей языка Common Lisp Ричарда Габриэля: «Меня всегда восхищала лёгкость и чистота ранних языков программирования. Немного текста, но делается много. Кто бы мог подумать, что развитие и усложнение принесёт столько шума?».

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

Роб Пайк
один из разработчиков Go

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

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

Что касается программистов, которые уже имеют опыт работы на любом C-подобном языке (C, C++, Java, PHP и другие), они перейдут на Go, изучая опыт коллег-гоферов и, возможно, повторяя основы компьютерных технологий.

Сергей Камардин
Go-разработчик и куратор интенсива Go Workshop

Люди потянутся

Go занимает третье место в рейтинге языков, которым программисты хотят пользоваться чаще в 2018 году, по данным опроса Stack Overflow. Это неудивительно: в среднем во всём мире разработчики Go получают одну из самых высоких зарплат даже при небольшом опыте работы. Так, с опытом около семи лет программист получает в среднем более $75 тысяч в год (около 5 млн рублей).

В России по итогам 2017 года зарплата Go-разработчика стала самой высокой среди программистов, по данным соцсети для поиска работы в ИТ-индустрии «Мой круг». Middle-разработчикам Go компании предлагают зарплату в среднем от 80 до 120 тысяч рублей. Lead может заработать от 130 до 200 тысяч рублей, а иногда предложение доходит и до 300 тысяч.

Большие зарплаты — это всегда признак того, что предложения на рынке меньше, чем спроса со стороны работодателей. «Судя по трендам на российском рынке труда, популярность Go ещё будет набирать обороты. Это обусловлено тем, что Go смог занять большую часть рынка веб-приложений, который в ближайшем будущем будет расти», — считает Камардин.

Go-разработчиков сейчас всё больше нанимают крупные компании, которые решились переписать собственный код. Этот тренд пришёл и в Россию: онлайн-ритейлер с 20-летней историей Ozon недавно объявил о том, что готов принять на работу 200 разработчиков Go.

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

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

Российское комьюнити разработчиков Golang активно расширяется, всё больше специалистов интересуются развитием в этом направлении. Однако опытных пока мало, а звёздную команду из новичков не соберёшь. Да и конкуренция на рынке высока, многие компании обращают внимание на Golang: Mail.Ru Group, Wildberries, Avito, Lamoda.

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

Алина Рулевская
HR-менеджер Ozon.Travel

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

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "BinaryDistrict Russia", "author_type": "self", "tags": [], "comments": 47, "likes": 32, "favorites": 37, "is_advertisement": false, "subsite_label": "hr", "id": 48374, "is_wide": false, "is_ugc": true, "date": "Thu, 18 Oct 2018 13:48:57 +0300" }
{ "id": 48374, "author_id": 128754, "diff_limit": 1000, "urls": {"diff":"\/comments\/48374\/get","add":"\/comments\/48374\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/48374"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199121 }

47 комментариев 47 комм.

Популярные

По порядку

Написать комментарий...
28

Middle-разработчикам Go компании предлагают зарплату в среднем от 80 до 120 тысяч рублей. Lead может заработать от 130 до 200 тысяч рублей

Но погодите, это ведь стандартные зарплаты C#, Java и даже php-программистов

Ответить
24

Тсссс, мешаете хайпануть...

Ответить
6

На Java и Сишарп миддлам и лидам больше платят.

Ответить
4

Да что уж там, с универа как выходишь, меньше 300 тысяч уже и не предлагают!

Ответить
1

Не, я по окружению и знакомым сужу.

Ответить
1

Да даже фронты столько получают.

Ответить
4

Ну "даже" про фронтов я бы не стал говорить, сейчас фронт - это не версточка с css, там вполне себе серьезное программирование )

Ответить
–1

Я про это слышал ))) Тк сам синьор фронт. Но я больше про невысокий порог вхождения в профессию.

Ответить
20

Тк сам синьор фронт

Мое увожение синьору фронту!

Ответить
0

Синьор помидор

Ответить
3

Вот это ты шутканул! Прям на все деньги

Ответить
3

Ну хз, мне, как мобильному разработчику с опытом бэкендера фронт даётся тяжело из-за «особенностей» JS.

Ответить
–2

CSS3 + flex + HTML5 + ES6 + Typescript + React + Angular + NodeJS + Webpack + Git
вот собственно краткий джентльменский набор фронта
фигня а не порог

Ответить
1

Более того, есть ещё куча библиотек не входящих в этот хипстерский список, но нужный крайне на некоторых ролях, так что ты наверное назвал список из «модного приговора» :(

Ответить
–2

Ой, а каких таких библиотек? )) Имени Горького?

Ответить
2

В твоём случае вероятно :)

Ответить
0

Ты типа такой весь из себя тру сеньор фронт, стоящий выше всех хипстерских списков? )) Корона с головы не упадет?

Ответить
0

Это в зависимости от уровня набор мидла или Лида от 150-180 и выше. Для 120 спрос много ниже

Ответить
11

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

Ответить
0

Даа, всех проще мокать в JS 8)

Ответить
0

Что есть, то есть. Слабая типизация зло. Но если сравнивать, с точки зрения решения бизнес-задач, например, golang и clojure, второй значительно удобнее и приятнее. Но попробуй найди вакансии на clojure

Ответить
4

Слабая типизация зло

Есть TypeScript, везде использую, нереально помогает

Ответить
7

Гонят волну чтобы повысить количество спецов на рынке и уронить зарплаты.

Ответить
11

Проще, скрытая реклама курсов

Ответить
8

Сейчас вокруг Go много шума, а вот нормальных вакансий намного меньше чем в Java или C#. И если эти вакансии внимательно почитать, то опять же все ищут опытных инженеров с других платформ. Может быть синтаксис Go изучается быстро, но ведь программирование это совсем не про это: изучение алгоритмов, хорошего дизайна кода и тест дизайна, современной инфраструктуры (контейнеры, докеры, бд, гриды, трейсеры и пр.) требуют годы практики.

Ответить
5

Go:
Идея: 5, реализация: 3

Ответить
4

"безопасностью компилируемых — как C" - чего-то безопасность это не совсем про C

Ответить
3

Основной вопрос к языку - почему отцы-основатели отошли от привычного синтаксиса Си при определении структур и управляющих конструкций. ИМХО, стоило сохранить совместимость, как и в случае не самой лучшей раскладки QWERTY для клавиатур :)

Ответить
2

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

Ответить
3

Данный коммент сгенерирован комментогенератором?

Ответить
1

Реально хорошо в го – каналы с горутинами. Остальное так себе. Интерфейсы реально ужасно.

Ответить
3

гоу в Котлин, теже каналы рутины) и нет говно синтаксиса

Ответить
1

особого смысла переходить с .net core на golang я не нашел :D
Возможно для части проектов golang намного лучше, но в среднем на .net все прекрасно, особенно с тем как с каждой версией .net core растут возможности и скорость работы.

Ответить
0

Надо отдать должное разработчикам Go - криптографические и сетевые библиотеки для языка гораздо более качественные и востребованные, чем, например, для Python или Node.js.

Ответить
0

Стильно, модно, молодежно птомчт?

Ответить
0

В каком месте "охотится"? Кроме Озона его вроде никто не юзает. Смотрел тут на досуге. Синтаксис убогий. Строгая типизация вносит кучу говнокода. Лямбды имеют просто отвратительный синтаксис. Нет ничего, чтобы позволяло расширить возможности языка, например, реализовать DSL в коде самого языка.

Ответить
0

Смотрел тесты производительности С++, Java, Ruby, Go, Python. Go по требуемым ресурсам (память) и скорости работы получается же аутсайдер, почему тогда компании так активно его применяют? Я еще понял бы если бы речь шла о специфическом применении, как например Perl, но тут ведь этого нет.

Ответить
0

Простота... В куче проектов на пыхе и руби узкие места закрывает, демоны повесил и сидит себе перерабатывает...

Ответить
0

GC Java самый прожорливый (без настроек) и Вы хотите сказать, что он потребляет меньше памяти? Очень интересно взглянуть на эти тесты. Я тогда Вам более полно отвечу.

Ответить
0

1.
Да, было дело. Но история все расставила на свои места. Достаточно перейти на оригинал самого отчета как мы увидим дискуссию, где другой уже Google, предоставил отчет, как и где Роберт Хандт ошибся в своем исследовании https://blog.golang.org/profiling-go-programs

2.
Тест так себе, я бы даже сказал заведомо(но это не точно) сфабрикованный в пользу Java приложения.

https://github.com/nikitsenka/bank-go
Используется стандартный JSON модуль, который медленнее easyjson в 50x раз и медленный роут от gorilla. Много функций вывода fmt.Println.

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

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

p.s. Хоть я и пишу 90% времени на golang, мне очень нравиться писать прикладные вещи на Clojure (который крутиться на JVM). Да, JVM оптимизирован и не уступает по производительности Go, но накладные расходы на абстракции, там очень велики. Но писать сложную бизнес-логику на Go, то еще удовольствие

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Компания отказалась от email
в пользу общения при помощи мемов
Подписаться на push-уведомления
{ "page_type": "default" }