Баннер мобильный (1) Пройти тест

Кто такой Go-разработчик, чем он занимается и сколько зарабатывает 

И при чем тут Google

Гид по профессии

19 апреля 2024

Поделиться

Скопировано
Кто такой Go-разработчик, чем он занимается и сколько зарабатывает 

Содержание

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

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

    Какие задачи решает Go? 

    В 2009 году компания Google представила язык Golang, сокращенно Go. Он разрабатывался как проект с открытым исходным кодом и за время своего существования стал одним из самых популярных языков — занял шестое место по популярности в первом квартале 2024 года. 

    Язык Go объединяет в себе простоту написания кода на Python и скорость программирования на C++. Создатели языка искали решение для быстрого написания микросервисов. Так, в большом продукте микросервис или модуль выполняет конкретную функцию, а при объединении с другими складывается в полноценную и работающую систему. Например, в супер-апп-приложении, где можно заказать такси, найти каршеринг, заказать доставки, над каждым конкретным модулем работает отдельная команда программистов. И почти всегда для создания модуля используют язык Go.

    Голанг позволяет быстро формировать высокопроизводительные приложения, способные работать на различных платформах: Linux, macOS и Windows. Кроме того, Go обладает мощными инструментами для работы с многопоточностью и асинхронным кодом, что опять-таки делает его идеальным для написания микросервисов. В целом, голанг применим для разных сфер программирования, но лучше всего он прижился на бэкенде — в серверной части приложений. Ведь именно там происходит обработка данных, вычисления, работа с базами данных, которые легко обрабатываются кодом на Go. 

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

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

    Для чего и как пишут код на Go?

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

    Голанг подходит: 

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

    На Golang были написаны многие популярные инструменты: Docker, Kubernetes, GitHub CLI и другие.

    Среди множества фич, за которые Go получил признание среди разработчиков, особенно выделяют несколько: 

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

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

    Какие технические навыки нужны, чтобы начать программировать на Go?

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

    По словам создателя Go Роба Пайка, у языка есть много общих черт с C, C++ или Java, поэтому освоить голанг в качестве второго языка тем, у кого есть база из этих языков, будет несложно. Go не станет чем-то абсолютно новым, но даст новые инструменты и сократит длительность разработки. Если голанг — первый язык, стоит сначала получить базовое представление о C, C++, Java или Python. 

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

    Краткий план освоения Go: 

    • Общие принципы backend-разработки.
    • Основы разработки микросервисов.
    • Работа в Linux.
    • Базовые навыки по работе в Git.
    • Основные функции, операторы и типы данных языка Go.
    • Базы данных и умение формировать запросы.
    • Принципы работы с протоколом HTTP.
    • Основы многопоточности.
    • Тестирование качества кода.

    Что же касается технических навыков, на которые смотрят при приеме на работу, то часто у специалистов проверяют: 

    • Опыт работы с системами контроля версий, такими как Git
    • Понимание принципов объектно-ориентированного программирования и умение их применять. 
    • Навыки работы с базами данных, такими как MySQL или PostgreSQL. 
    • Знание основ сетевого программирования. 
    • Умение работать с API различных сервисов и программ. 
    • Опыт разработки веб-приложений с использованием фреймворка вроде Gin или Echo. 
    • Навык тестирования и отладки кода. 
    • Опыт работы с облачными сервисами, такими как Amazon Web Services или Google Cloud Platform. 
    • Знание принципов работы с контейнерами, такими как Docker. 
    • Владение инструментами для непрерывной интеграции, такими как Jenkins или GitLab CI/CD. 
    • Опыт работы со средствами мониторинга и логирования, такими как Prometheus, Grafana и Loki. 

    А нужны ли soft skills?

    Знать Go и писать на нем — это лишь половина успеха для программиста. Узкие профессиональные знания не перекрывают и не компенсируют замкнутость, недостаток эмоционального интеллекта и отсутствие других soft skills. ИТ-компании предпочитают кандидатов, которые могут и хотят коммуницировать. HR-менеджеры и тимлиды при подборе кандидатов уделяют особое внимание их способности работать в команде, лидерству, навыкам эффективного взаимодействия с клиентами и адаптивности. 

    Также важна готовность постоянно учиться и критически оценивать свое обучение, задавать вопрос: «Как повлияет новое обучение на мой уровень зарплаты или мое развитие?»

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

    Зарплата Go разработчиков 

    По подсчетам сервиса Stack Overflow за 2023 год, Go-разработчик может зарабатывать в среднем в мире $92 тыс. в год — это десятая позиция по прибыльности среди существующих языков. Если же обратиться к популярным языкам, то средняя зарплата Python-разработчика — $78 тыс. в год, JS-разработчика — $74 тыс. в год, а Java-программиста — $72 тыс. в год. Go давно используют ряд таких гигантов, как Amazon, Microsoft, Cisco Systems, Netflix, Spotify, Apple. 

    Что же касается российского рынка голанг-разработчиков, то на середину апреля 2024 года на сайте HeadHunter была 1601 вакансия с упоминанием языка программирования Go. Зарплата начиналась от 50 тыс. рублей, при этом есть около 50 вакансий, где доход стартовал от 500 000 тыс. рублей в месяц. Уже сегодня российские компании пишут часть кода на голанге. Например, его используют в Mail.ru Group, Avito, Ozon, Lamoda, «Ростелекоме».

    По исследованию рынка IT-вакансий Habr, в 2023 году вырос спрос на backend-разработчиков. Самыми быстрорастущими стеками стали Python (30%), Java (17%), С++ (15%) и Golang (13%). Авторы отмечают, что если интерес к Python традиционно высокий, то к Go он значительно вырос, так как этот язык быстрее Java и PHP и многие компании либо запускают новые проекты на Go, либо переписывают на нем старые продукты. Go привлекает все больше внимания благодаря своей производительности, простоте использования и поддержке параллельных вычислений, нo остается нишевым языком. Поэтому пока спрос на таких специалистов превышает предложение.

    Скопировано
    0 комментариев
    Комментарии