Информация в статье обновлена 31 мая, 2023
Go-разработчик – это IT-специалист, который создаёт приложения на языке программирования Go (Golang). Его создала корпорация Google в 2009 г. специально для более удобной и быстрой разработки веб-сервисов и высоконагруженных приложений.
Создатели Golang попытались создать более улучшенную версию языков C/C++ и Java для разработки безотказных бэкенд-сервисов. И это у них получилось! Компилируемый язык Go получился устойчивым к ошибкам, имел строгую типизацию, простой синтаксис и многопоточность. Go можно использовать как для решения простых задач, так и для создания высоконагруженных проектов.
Любопытно, но название “Golang” – не совсем верное, так как оно возникло из-за названия официального сайта (golang.org), который в 2019 г. был переименован в go.dev. Тем не менее, в статье мы будет использовать оба названия.

Профессия Golang-разработчика подходит тем, кто имеет математический склад ума и любит точные науки. Но поскольку Go простой в изучении, то его могут запросто освоить даже гуманитарии с нулевым опытом программирования.
Самый быстрый способ обучения профессии Go-разработчика – это онлайн-курсы, где за короткий срок можно научиться писать с нуля программный код на Go и гарантированно устроиться на работу с минимальной зарплатой от 60-70 тыс. руб. в месяц.
Профессия Go-разработчика – востребованная, поскольку этот язык не очень популярный и мало кто его выбирает в качестве основного (а зря!). Поэтому на рынке имеется дефицит специалистов, а вакансии регулярно выкладывают компании, работающие с блокчейн- и веб-проектами, а также базами данных. Например, это такие фирмы, как Microsoft, Yandex, Сбер, Google, Ozon, Wildberries, Dropbox, Netflix, IBM, Aviasales и многие другие.
В статье подробно расскажем про профессию Go-разработчика: кто это такой, чем занимается, плюсы и минусы, что нужно знать и уметь, востребованность, где найти работу, уровень зарплаты и как им стать с нуля. Обещаю, будет интересно!
Кто это такой
Go (Golang)-разработчик – это высокооплачиваемый специалист, который создаёт программы и приложения на одноимённом языке для бэкенда, сетей и веб-сервисов.
Например, утилиты Kubernetes, Prometheus, Grafana и Docker написаны на Го.
Говоря простыми словами, Go – это как C++, но имеющим под капотом коробку-автомат.
Golang – это серверный язык будущего. Он был специально разработан для таких сервисов, где важны скорость разработки, эффективное использование вычислительных ресурсов и быстрота компиляции кода.
Go помогает сэкономить уйму времени на разработке, оставляя специалистам время на творчество. Поэтому его очень ценят в крупных корпорациях: программный код пишется, компилируется и выполняется очень быстро, с минимальными затратами времени. Поэтому даже начинающий Go-программист может в кратчайший срок создать много хорошего кода.
На практике в разработку на Go переходят с Python, Java и PHP. Golang-разработчика в IT-кругах называют гофером из-за того, что официальный символ языка Go – грызун из семейства гоферовых.
Go применяется хоть для чего: игры, приложения для Android-устройств, микросервисы, консольные утилиты. Порог вхождения в профессию низкий, особенно если вы уже знакомы с другими ЯП (языками программирования).
Очевидный плюс Go в том, что в структуру уже встроены инструменты, позволяющие в разы ускорить разработку. В отличие от C/C++ и Python, код, написанный на Go, легко поддерживать. Согласно всем рейтингам, высокоуровневый язык активно развивается и становится популярнее с каждым годом.
Интересные особенности языка Go
Немного расскажем о плюсах и минусах этого занимательного языка программирования.
Преимущества:
- Простой синтаксис. Объём синтаксиса Go небольшой, он содержит всего 25 ключевых слов, поэтому он по праву считается простейшим типизированным языком программирования. Например, для любых процессов итерации применяется только один ключевик – “for”. Да и разработчики отслеживают, чтобы без сильной не то необходимости в синтаксисе не возникало лишних конструкций. Например, впервые за 12 лет в обновлении от 15.03.2022 была добавлена новая конструкция типизированных параметров. А последнее обновление версии Go (1.19) было 2 августа 2022г. Таким образом, язык активно обновляется, что указывает на его перспективность в обозримом будущем.
В Go нет наследования, классов и иных сложных функций. Всё просто и разложено по полочкам — это позволяет без проблем писать и читать чужой код на Golang даже новичку - Минимальная вероятность возникновения ошибок. Из-за простоты Go уже на этапе написания кода вероятность появления ошибок стремится к нулю. Дополнительно в Golang есть так называемый “сборщик мусора”, который управляет памятью и чистит её сам, в отличие от C++.
- Простое чтение библиотек. Go создан полностью на Go. Поэтому любой программист, освоившийся Golang, может без проблем прочитать стандартную библиотеку и разобраться в принципах работы. Библиотека хорошо организована и содержит примеры сценариев разработки.
- Горутины и каналы. Goroutines – это параллельные операции, которые можно запустить независимо от того, какая функция была создана. Горутины могут работать отдельно на каждом ядре процессора, что увеличивает скорость закрытия ПО. А каналы увеличивают гибкость софта и снижают количество ошибок, возникающих из-за параллелизма.
- Удобная компиляция. Большой плюс Go – он компилируется статически. То есть, когда программист создал и скомпилировал программу, то она будет лежать в одном исполняемом файле. Поэтому такое ПО без проблем открыть на любых устройствах. Если сравнивать с C++, то для использования программы не придётся устанавливать дополнительные библиотеки.
- Активная поддержка разработчиками. Все версии Go совместимы друг с другом. Поэтому можно не беспокоиться о “поломках” при переходе на новую версию, которая будет иметь ещё более высокую скорость принятия.
Недостатки:
- Отсутствует управление памятью. Golang автоматически управляет памятью, но это не так эффективно, нежели ручное управление.
- Небольшие проблемы со стандартной библиотекой. В Go нет некоторых элементов, которые могли бы решить повседневные задачи (например, форматирование дат).
Вот какое решение придумали создатели Golang по сравнению с C и Java - Отсутствуют тернарные операторы. Нельзя при помощи одной строки узнать, является ли функция “ложью” или “правдой”.
Для сравнения, вот как это выглядит на PHP и на Go - Нет поддержки дженериков. Исправлено в версии 1.18.
- Присутствует незначительное количество мусора. Этот минус связан с совместимостью версий, поэтому в Go можно увидеть одинаковые функции, которые делают одно и то же, причём более старую версию убрать нельзя.
Плюсы и минусы профессии Go-разработчика
Перечислим достоинства и недостатки работы Go-разработчиком.
Плюсы:
- Go – лёгкий в обучении, имеет низкую вероятность возникновения ошибок, есть много встроенных инструментов для быстрой разработки. Порог вхождения в профессию низкий, особенно для тех, кот обладает математическим складом ума.
- В сети есть много обучающих и полезных материалов (большая часть – на английском).
- Go можно освоить в качестве вспомогательного языка, чтобы повысить свой уровень профессионализма.
- Высокая заработная плата.
- Присутствует карьерный рост.
- Низкая конкуренция на рынке труда, так как опытных Go-разработчиков в России не так уж много.
Минусы:
- Go не поддерживают дженерики (придётся писать больше кода), отсутствие возможность управления памятью.
- Специалисты чаще всего требуются в крупные фирмы, которые не всегда будут предлагать удалённую форму занятости.
- Узкая сфера применения Go.
- Меньше вакансий по сравнению с разработчиками на C++/ Python.
- Как и у других IT-специалистов, присутствует ненормированный рабочий график.
Как стать Go-разработчиком с нуля
На практике Go любят изучать программисты, которые уже работают с другими ЯП (PHP, Python и пр.). Тем не менее, Go подходит в качестве первого языка программирования, так как он очень простой и исключает появление ошибок при написании кода.
На функциональном Golang можно решать бизнес-задачи любого уровня сложности. Здесь не требуется ручная настройка памяти с потоками. IT-корпорация Google специально создала этот легкочитаемый язык, чтобы его смогло быстро освоить новое поколение зумеров.
Всего есть 3 способа получения навыков Go-разработчика:
- Учёба в высшем учебном учреждении. Долгий процесс, подходит для выпускников школ и колледжей.
- Онлайн-курсы. Быстрый метод обучения + гарантировано трудоустройство по специальности.
- Самообучение. Сложный и долгий путь развития.
Обучение в ВУЗе
Обучаться в ВУЗе придётся 4 года + 2 года в магистратуре. Стоимость одного года обучения дорогая, от 200-250 тыс. руб. В институте упор сделан больше на теорию, чем на практику, да и учебные материалы могут быть устаревшими.
Факультета, посвящённого только языку Go не существует. На специальности вы будете в равной мере осваивать сразу несколько ЯП и иных технологий.
Поэтому мы советует пройти учёбу в ВУЗе школьникам, которые и так хотели поступать в высшее учебное учреждение, хотя на практике работодатели не обращают внимания на диплом. Им важно ваше портфолио и то, насколько вы успешно пройдёте техническое собеседование.
На практике работодатели требуют от соискателей знание ещё одного ЯП, но это не будет являться сильным препятствием, ведь освоить новый язык можно в процессе работы.
Для получения навыков Go-разработчика лучше поступить на следующие направления:
- Разработка программно-информационных систем: МИРЭА, Балтийский гос. тех. универ. «ВОЕНМЕХ», Питерский гос. электротехн. универ. «ЛЭТИ», гос. универ. аэрокосмического приборостроения, г. СПб;
- Компьютерные системы и технологии: Питерский политех Петра Великого, Питерский гос. универ. аэрокосмического приборостроения, Национальный иссл. универ. ИТМО;
- Информационные системы и программирование: Российский государственный гидрометеорологический университет, Сибирский государственный автомобильно-дорожный университет (СибАДИ), Дагестанский государственный университет;
- Информационные системы и технологии: СПбПУ, УрФУ им. Б.Н. Ельцина, СФУ, Первый МГМУ им. И.М. Сеченова Минздрава России (Сеченовский Университет), МГТУ им. Н.Э. Баумана, РХТУ им. Д.И. Менделеева;
- Технологии разработки информационных систем: МИРЭА, Ульяновский государственный университет, Омский государственный университет путей сообщения, Бийский технологический институт (филиал) Алтайского государственного технического университета имени И.И. Ползунова и другие факультеты, связанные с разработкой программного обеспечения.
Полный список специальностей и ВУЗов можете просмотреть на сайте postupi.online.
Онлайн-курсы
Это быстрый способ получения всех необходимых навыков, которые действительно пригодятся в реальной работе. За считанные месяцы вы научитесь создавать микросервисы и даже highload-проекты. План обучения структурирован и содержит огромное количество практических занятий. По итогам занятий вы создадите несколько проектов и пополните ими своё портфолио.
Учёба предполагает свободный график, а домашние задания обязательно проверят преподаватели и дадут обратную связь. Большой плюс такого формата обучения – гарантированная помощь в трудоустройстве (или онлайн-школа вернёт деньги за обучение).
Редакция сайта подготовила рейтинг лучших онлайн-курсов, где можно выучиться на Go-разработчика, ориентируясь на реальные отзывы студентов о качестве учебных программ и реальной помощи в трудоустройстве.
Backend-разработчик на Go от Скиллфактори
Курс рассчитан на 12 месяцев, в ходе которого вы освоите с нуля Go для высоконагруженных проектов. Вас научат мыслить как программист при помощи тренажёров, проектов, вебинаров и консультаций с ведущими-экспертами.
Вы сможете получить любой ответ у менторов на протяжении всего периода обучения. Вы добавите в портфолио 3 полноценных проекта, которые оценят потенциальные работодатели. По окончанию учёбы выдаётся сертификат и диплом государственного образца.
Если вы не сможете найти работу после получения диплома, Скиллфактори вернёт деньги за обучение. Онлайн-школа сопровождает всех учеников курса вплоть до устройства на работу
Что вы изучите на программе обучения:
- Язык программирования Go (синтаксис, циклы, функции, массивы);
- Алгоритмы и структуры данных на Golang;
- Основы многопоточности, горутины;
- Git, Git Flow, GitHub;
- Docker;
- Linux;
- SQL и базы данных (MySQL, PostgreSQL, MongoDB);
- REST API;
- Юнит-тестирование;
- Архитектура и основы DevOps;
- Проведение code review, debugging.
Больше информации о курсе: https://skillfactory.ru/backend-razrabotchik-na-go
Профессия Go-разработчик от Скиллбокс
Онлайн-курс поможет освоить с нуля Golang для микросервисной архитектуры. Если заниматься учёбой по 2 часа в день, то за 3 месяца можно полностью пройти программу обучения.
Онлайн-курс идеально подойдёт абсолютным новичкам и практикующим IT-специалистам, которые хотят освоить Go и зарабатывать ещё больше. После успешной сдачи финального проекта выдаётся диплом об образовании. Программа обучения предполагает освоение SQL, Git, английского языка и гибких навыков.
Скиллбокс гарантирует устройство по специальности, в ином случае деньги за курс будут возращены в полной мере.
Подробнее о курсе: https://skillbox.ru/course/profession-godev/
Факультет Разработки на Go от Geekbrains
Длительность курса – 1 год, но трудоустроиться по профессии реально уже через 9 месяцев обучения. Эта профессия идеально подходит для начинающих разработчиков, так как Golang имеет лёгкий синтаксис и понятную документацию.
За время обучения вы создадите 5 реальных проектов. После сдачи финального экзамена вы получите на руки удостоверение о повышении квалификации государственного образца.
Навыки, которые вы получите:
- Программирование на Go;
- Kubernetes;
- Базы данных (PostgreSQL, MongoDB, Redis);
- CI/CD;
- JavaScript;
- HTML и CSS;
- Git;
- Kafka;
- Linux;
- Docker;
- Prometheus;
- OpenTelemetry;
- REST API, Open API;
- gRPC;
- GraphQL.
Ознакомьтесь с курсом подробнее: https://gb.ru/professions/go-developer
Курс «Go-разработчик» от Яндекс Практикума
Это 3-месячный курс обучения, благодаря которому вы научитесь создавать даже сложные серверные приложения на Go и добавите несколько проектов в своё портфолио. Курс составлен таким образом, что вы сами сможете выбрать темп обучения.
Навыки, которые вы освоите на программе обучения:
- Программирование на Go;
- SQL;
- Многопоточность;
- REST API;
- Дженерики;
- TCP/UDP и HTTP;
- Паттерны и многое другое.
Яндекс 100% поможет найти работу после учёбы. Согласно исследованию НИУ ВШЭ почти 80% студентов трудоустраиваются в течение 4 месяцев после получения диплома. Дополнительно вы сможете получить налоговый вычет 13% от цены курса. Если вам не понравится онлайн-курс, то вы сможете отказаться от него в любое время, вернув деньги.
Подробнее о курсе: https://practicum.yandex.ru/go-advanced/
Дополнительно изучите бесплатный курс “Основы Go” от Яндекса: https://practicum.yandex.ru/go-basics/
Онлайн-курс от Отус “Golang Developer. Professional”
5-месячный авторский курс обучения, который подойдёт практикующим веб-разработчикам и тем, кто только начал изучать Go. Программа обучения направлена на глубокое изучение Go. Практические задания максимально приближены к реальным условиям, а теория – это кейсы переводов с высоконагруженных проектов на Go.
На курсе вы научитесь писать эффективный код, создавать многопоточные микросервисы и приложения, работать с сетью и Docker.
Больше информации о курсе: https://otus.ru/lessons/golang-professional/
Самостоятельное обучение с нуля
Go примечателен тем, что при помощи него можно создавать всё, начиная от простых микросервисов и заканчивая ML-проектами. Поэтому в первую очередь нужно изучить основы Golang и начальные навыки кодирования:
- IDE и редакторы программного кода;
- Работа с командной строкой в ОС Linux;
- Синтаксис, интерфейсы, функции, распределение памяти и другие основы Go, которые можно изучить, прочитав документацию разработчиков, которая написана простым языком;
- Тестирование;
- Обработка ошибок;
- Дополнительные инструменты Go-разработчика.
Чтобы претендовать на позицию стажёра, нужно ежедневно обучаться по 6-8 часов на протяжении 9-12 месяцев.
Кому интересно, в конце статьи опубликован пошаговый план по самостоятельному обучению с ссылками на полезные материалы.
Что нужно знать и уметь
Мы изучили десятки реальных вакансий с сайта hh.ru и выявили основные требования работодателей к соискателям:
- Разработка бэкенд-приложений и высоконагруженных проектов на Go;
- Алгоритмы и структуры данных;
- GoLand, Visual Studio Code, LiteIDE, IntelliJ IDEA или любая другая IDE (интегрированная среда разработки);
- REST-архитектура и HTTP-запросы;
- Принципы CI/CD;
- SQL и СУБД (PostgreSQL, MySQL, Redis, NoSQL, MongoDB);
- ПО для развёртывания контейнеров и приложений (Docker и Kubernetes);
- Система контроля версий кода Git;
- ПО для мониторинга (Prometheus, Grafana и Kibana);
- Менеджеры задач (Jira, Kanban, Agile);
- Тестирование, сборка и развёртывание ПО;
- Умение работать в команде;
- Знание ОС Linux;
- Владение английским на уровне чтения технической документации;
- Будет плюсом знание 1-2 дополнительных ЯП, JavaScript, PHP, SOAP и основ DevOps.

Можно не знать каждый из этих инструментов, достаточно 2-3, а остальному можно научиться уже на рабочем месте. Для трудоустройства достаточно знать уметь писать код на Go в соответствии с официальным руководством и уметь работать с GitHub. Если знаете базы данных, Git и Linux, то шанс устроиться на работу будет вполне реальным.
В профессии существуют несколько позиций, в зависимости от опыта и умений: джуниор, мидл, сеньор и техлид. Чуть подробнее расскажем про то, что должен уметь разработчик на той или иной ступени развития.
Стажёр
Это Go-разработчик с нулевым практическим опытом. Таких специалистов крупные компании нанимают с целью “выращивания” для себя опытного программиста. Стажёр должен знать основы Go, СУБД, HTML и CSS.
Будет хорошо, если новичок знает английский и имеет несколько проектов в портфолио. Начинающий Go-разработчик должен иметь большое желание развиваться и постоянно находится в процессе обучения, чтобы со временем стать по-настоящему классным специалистом.
Junior
Это младший программист с опытом работы от 6 до 12 месяцев. Джуниоров и стажёров обучают наставники – Senior’ы или тимлиды.
Что он должен знать и уметь:
- Знание или желание обучиться Docker, MySQL, MongoDB, FastAPI и Kafka;
- API;
- Опыт работы с ОС Linux;
- Опыт создания микросервисов и приложений на Go.
После трудоустройства Джун должен активно обучаться на протяжении 6-12 месяцев, чтобы получить навыки для перехода на следующую позицию.
Middle
Мидл должен иметь стаж работы от 2 до 4 лет. Он может самостоятельно справиться со сложной задачей, если ему дать на это достаточное количество времени. В дополнение к вышеуказанным обязанностям он должен знать и уметь следующее:
- ООП;
- Паттерны проектирования;
- Проведение код-ревью и багфиксинга;
- REST;
- Структуры данных и алгоритмы;
- Многопоточность;
- Git;
- Unit-тестирование;
- Docker;
- CI/CD;
- Prometheus или другое приложение для мониторинга;
- PostgreSQL или другие СУБД.
Senior
Это старший Go-разработчик с опытом работы от 3-5 лет. В его обязанности входит обучение младших специалистов. Сеньор может самостоятельно разработать крупный сервис или высоконагруженный проект.
Что он должен дополнительно уметь:
- Разработка новых функций проекта;
- Оптимизация готового кода;
- Умение разобраться в сложных системах;
- Практика работы с Kubernetes в DevOps.
Team Lead | Техлид
Это сеньоры с опытом управления командой (тимлиды) или эксперты, глубоко изучившие выбранное направление (техлиды). Для получения этих должностей требуется опыт разработки от 6 лет.
В обязанности этих специалистов входит проведение технических собеседований, адаптация и обучение новичков, определение стека технологий, выстраивание процессов и взятие на себя ответственности за проект в целом.
Soft-skills
У Go-разработчика должны быть личные качества, без которых невозможно успешно выполнять задачи и продвигаться по карьерной лестнице:
- Наличие технического / математического склада ума;
- Умение логически мыслить;
- Ответственность;
- Умение отстаивать свою точку зрения;
- Желание учиться новому;
- Умение спокойно воспринимать аргументированную критику;
- Навыки тайм-менеджмента;
- Умение полностью сосредоточиться на выполняемой задаче;
- Способность договариваться;
- Умение работать в команде;
- Целеустремлённость.
Чем занимается Go-программист
Как уже говорилось ранее, Go разработали на замену C++ для тех проектов, где важна скорость и компиляция. Вот что делает Go-разработчик на работе:
- Написание программного кода на Go;
- Создание микросервисов и бэкенд-приложений;
- Работа с разными базами данных и запросами SQL;
- Взаимодействие с файловой системой;
- Применение объектно-ориентированного программирования и паттернов программирования;
- Оптимизация и отладка кода;
- Создание многопоточного ПО;
- Работа с ОС семейства Linux и консолью;
- Работа с Git;
- Развёртывание и управление приложениями через Docker;
- Автоматизированный сбор и систематизация информации (парсинг);
- Работа с REST API и HTTP.
Как проходит рабочий день разработчика на Go:
- Получение техзадания, его анализ и уточнение деталей у техлида / руководителя.
- Непосредственное написание программного кода и разработка нужных сервисов / приложений.
- Тестирование и код-ревью. На это может уйти очень много времени.
- Исправление багов, комментирование изменений.
- Передача готового билда.
- Написание технической документации к проекту.
- Поддержка стабильной работы приложения и выпуск обновлений.
Каждое утро начинается с чтения электронной почты. Чаще всего туда приходят отчёты об ошибках, комментарии других разработчиков, запросы о рассмотрении кода, дополнительные вопросы и пр.
Большая часть первой половины дня уходит на написание кода на Go. Если задач несколько, то важно правильно расставить приоритеты (создание новой функции, багофиксинг, код-ревью и др.). Вторая половина дня иногда может проходить в совместном обсуждении проекта. В каждой компании свой режим работы, например, разрешают приходить в любое время, главное чтобы все задачи были выполнены в срок.
Перспективы и востребованность
Часто ли переходит в Go-разработчики специалисты, владеющими другими языками программирования? Да, и причина этого довольно простая – это требование работодателя, который решил увеличить быстродействие или масштабируемость своего проекта. Или разработчики так устают от монолитной архитектуры и регрессионных тестов, что самостоятельно решают освоить Go, чтобы отвлечься. Ведь Go позволяет разработать нужный проект очень быстро и без особых усилий.
Давайте взглянем на рейтинг Go. На Stackoverflow.com опубликован рейтинг самых любимых ЯП за 2020г. Go набрал 62%, уступая Python лишь на 5%, и обогнав C# и JavaScript. А ведь Питон – это самый один из самых популярных языков во всём мире.
В индексе TIOBE (индекс популярности языков программирования) за декабрь 2022г. Go занял 12 место, уступив всего 2 места PHP. А ещё Golang был признан TIOBE в 2009 и 2016 г. языком года. И это, несмотря на то, что это молодой, только набирающий обороты язык программирования!
В индексе популярности языка программирования PYPL, который основан на анализе количества введённых поисковых запросов в Google, Go занял 11 место.
Согласно сайту Spectrum.ieee.org в рейтинге лучших языков программирования в 2022г. Go занял 11 место, обогнав PHP.
На Statista.com опубликован рейтинг наиболее используемых языков программирования среди разработчиков по всему миру (за 2022г.). Go набрал 11% популярности, немногим уступив C/С++.
Среди всех самых быстро развивающихся языков Go занял 5 место, обогнав Python и C (источник octoverse.github.com).
В 2021г. был проведён опрос по поводу основного языка программирования среди разработчиков (источник: Jetbrains.com).
Go набрал в рейтинге 8%, немного уступив C++/C#, и обогнав C.
Таким образом, можно сделать вывод, что Go – востребованный язык, который, несмотря на свой молодой возраст, только начинает завоёвывать популярность. Golang очень любят разработчики. Да и список компаний, которые используют Go, поражает: Google, Intel, Microsoft, Avito, Mail.ru, Ростелеком. На Golang написаны стриминг-сервисы, большинство интернет-магазинов, разнообразные мессенджеры, Kubernetes. Проще перечислить организации, которые не используют Go в своей работе.
В будущем потребность в Go-разработчиках будет только расти, поэтому в качестве первого языка программирования это будет наиболее оптимальный вариант. Также помните, что Go разрабатывает Google, поэтому за его развитие и обновление можно не переживать. Вложиться в изучение Go – это хорошая инвестиция, которая хорошо окупится, ведь зарплаты программистов выше среднего по рынку.
Работа
Давайте взглянем, сколько вакансий опубликовано на самом популярном сайте по поиску работы hh.ru. На декабрь 2022г. опубликовано почти 1100 вакансий “Go-разработчика”. Отметим, что некоторые вакансии могут повторяться или не соответствовать запросу. Но, несмотря на это, показатель всё равно высокий – и это связано с дефицитом программистов на Go, чём упоминалось ранее в статье.
Работодателям требуется 24 стажёра, когда как с опытом работы от 1 года количество предложений работы составляет уже 326.
На удалёнку нужно почти 32% соискателей от общего количества (343 вакансии). Здесь есть все шансы устроиться в крупную компанию, не проживая в центральных районах России и получать зарплату как в Москве.
Давайте ещё изучим вакансии с сайта Хабр Карьеры. На сайте нашлось 185 вакансий, что является хорошей цифрой для этого сайта, который менее популярен, чем hh.ru.
Go-разработчики требуются в такие известные компании как Лаборатория Касперского, МТС, VK, Сбер и многие другие.
Вакансии размещаются в основном у средних и крупных компаний, на фрилансе заказов очень мало. Список сайтов, где можно найти себе работу Go-разработчиком:
- HH.ru;
- ГородРабот;
- СуперДжоб;
- Зарплата.ру;
- Авито Работа;
- dtf.ru/job;
- geekjob.ru;
- habr.com;
- itmozg.ru;
- Работа.ру;
- careerist.ru;
- Stackoverflow;
- Toptal;
- Relocate.me;
- www.angellist.com;
- www.dice.se;
- careerjet.ru;
- jobfilter.ru;
- www.jobinmoscow.ru.
Вакансии выкладывают ещё в Телеграм-каналах, рекомендуем на них подписаться:
- golangjob;
- devjobs;
- newhr;
- jobGeeks;
- myjobit;
- newdirections;
- headzio;
- devops_jobs;
- logic;
- fordev;
- vdhl_good;
- mobile_jobs;
- devops_jobs_feed;
- prwork;
- freelancetaverna;
- jc_it;
- perezvonyu;
- theyseeku.
Полезный совет: до начала трудоустройства обязательно изучите основы языка и создайте несколько приложений для портфолио. В этом здорово поможет Github, где содержится большое количество полезного кода, который будет очень полезен в изучении Go. И ещё одно – работодателям отправляйте резюме вместе с сопроводительным письмом, которое вы напишите сами. В нём подробно напишите, чем именно вы сможете помочь компании и приведите примеры своих профессиональных успехов.
Зарплата
Рассмотрим уровень зарплаты Go-разработчиков, ориентируясь на статистику вакансий с hh.ru. Минимальный уровень заработной платы составляет 115 тыс. руб., а максимальный – 545 т. р. и более. Это очень высокий показатель по сравнению с другими IT-профессиями.
На практике средний заработок Go-разработчиков выглядит так:
- Стажёр – от 30 т. р./мес.;
- Джуниор – от 70 тыс. руб. /мес.;
- Мидл – 120 т. р.;
- Сеньор – 290 т. р.;
- Тимлид / техлид – 350 т. р. и более.
Средняя зарплата Go-разработчика составляет 220 тыс. руб. в месяц, что является тоже очень высоким показателем среди айтишных профессий.
Go-разработчик может зарабатывать деньги не только в одной компании, но и в нескольких одновременно, что существенно увеличит итоговый заработок.
А сколько зарабатывает Go-разработчик в США? Согласно сайту Glassdoor.com средняя годовая зарплата составляет 101 418 долларов или 8451 баксов в месяц.
По курсу 1$=70 р. получается 591 тыс. руб. Это примерно в 2,5 раза больше, чем в России. Поэтому при хорошем знании английского можно попробовать устроиться в зарубежную компанию.
Практическое руководство: как стать профессиональным Go-разработчиком
Самостоятельно обучение профессии на практике занимает большое количество времени. Так, если ежедневно заниматься Go-разработкой по 6-8 часов в день, то через 9-12 месяцев можно попробовать устроиться стажёром. Разумеется, если за это время не будут брошены занятия, особенно при изучении малопонятной темы. Будет здорово, если вы найдёте себе наставника, который объяснит, что надо делать, а что нет.
Самостоятельно обучение рекомендуется сочетать с онлайн-обучением, чтобы за короткий срок достичь отличных результатов.
Ознакомьтесь с дорожной картой Go-разработчика, чтобы понять, куда нужно двигаться. Roadmap можно сохранить себе на компьютер или распечатать.
Редакция сайта составила пошаговый план обучения профессии Go-разработчика.
- Основы Go. Изучите синтаксис и базовые понятия языка (операторы, карты, указатели, функции, интерфейс, CLI, горутины и каналы, шаблоны проектирования и пр.) Даже если у вас есть опыт программирования, то всё равно нужно изучить основы Go, так как он отличается от других ЯП моделью и подходом к ООП. В Go используется очень мало ключевых слов, поэтому здесь придётся писать гораздо меньше кода, чем в других языках программирования.
- Библиотеки и инструменты Go. После изучения основ Go начинайте осваивать разные библиотеки и инструменты, которые значительно ускорят и облегчат разработку. Список библиотек: CLI, GORM, Go Kit, Gen. Список фреймворков: Echo, Chi, Gin, Beego, Revel. Список инструментов: GIT, SQL, HTTP/HTTPS, PostgreSQL, фреймворк Zap.
- Тестирование в Golang. Это один из важных скиллов, который высоко ценят многие работодатели. Тестирование – это проверка программного обеспечения на наличие багов. Для начинающих разработчиков Go лучше всего подойдёт модульное тестирование с применением фреймворков GoCheck и Ginkgo.
- Шаблоны Go. Шаблоны проектирования или паттерны – это примеры решения, которые можно применять для своих задач. Для начала лучше всего изучить порождающие, поведенческие и структурные шаблоны.
- Портфолио. Для создания проектов для портфолио создавайте приложения с нуля, участвуйте в открытых проектах Github, улучшайте существующие программы. ПО может быть такое, какое вам нравится, начиная от простых микросервисов и заканчивая играми.
- Подготовка к техническому собеседованию. Этому можно научиться быстрее всего, участвуя в большом количестве собеседований. Самые частые вопросы, которые могут задать: “Как проводить конкатенацию строк?”, “Как инициализировать структуру?”, “ Что такое горутина и как её остановить?” и т.д.
Go – это очень простой язык, где нет ничего лишнего. Именно таким его создали разработчики. Даже если взглянуть на официальную документацию, то она будет не более чем 40-50 страниц, куда входит простое описание с большим количеством примеров. Если вы уже знаете другие ЯП, то понять Go вы сможете просто прочитав официальную документацию.
В первую очередь установите дистрибутив Go себе на компьютер: официальная ссылка. Дистрибутив можно установить на ПК с любой ОС: Windows, Linux или Mac. Далее перейдите к прохождению следующих обучающих материалов, которые мы для вас тщательно подобрали.
Онлайн-курсы и мануалы:
- Отличное пошаговое интерактивное руководство, именно отсюда можно начать обучение Go;
- Хороший бесплатный курс “Программирование на Golang”;
- Бесплатный курс “Go (Golang) – первое знакомство”;
- Онлайн-книга от Калеб Докси на русском;
- Вольный перевод книги “The Little Go Book” (Карл Сегин);
- Effective Go – практическое руководство по написанию высококачественного кода (на англ.). Рекомендуем его прочесть, когда у вас будет общее представление о Golang;
- Перевод Effective Go;
- Краткое изложение Effective Go;
- Go в примерах;
- Учебное официальное пособие;
- Коллекция докладов, лекций и других видеоматериалов о Go на Github;
- Часто задаваемые вопросы по Golang;
- Большое количество обучающих материалов по GO на русском.
Полезные видеоуроки:
- Полезный видеоурок “Введение в Go-разработку”;
- Полезный вебинар от экспертов “Разработка приложения на Golang”;
- Обучающее видео “Введение в Go-разработку”;
- Интересное видео “Учим бота на Golang общаться с пользователями”;
- Запись видео от профессионалов “Знакомимся с профессией Go-разработчика”;
- Отличная подборка видео “Уроки по Golang” The Art of Development;
- 24 полезных видео по программированию на Golang от Be Geek;
- Обучающий видеоролик “Все основы Go за 4 часа для начинающих”;
- Интересный ютуб-канал Максима Жашкевича;
- Видеокурс по программированию на Go от VK Team;
- Список митапов, где можно почерпнуть много полезной информации.
Полезные ссылки:
- The Go Blog – блог от разработчиков Golang;
- Github-репозиторий со списком отличных ссылок на библиотеки, фреймворки и прочее программное обеспечение на GO;
- Интересный и очень полезный блог программиста Дейва Чейни;
- Пример создания простого пакета на Golang;
- Инструкция по написанию кода от Uber;
- Подкаст Go Get Podcast;
- Ещё один подкаст о Golang;
- Хаб “Go” на Хабре;
- Хорошая статья “50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков”;
- Один из первых веб-проектов на русском по Go;
- Полезный блог о языке программирования Go;
- Пост о написании простейшего веб-приложения;
- Большое руководство по web-программированию на Go;
- Список университетских курсов, применяющих Golang;
- Обсуждение Go на StackOverflow.
Шпаргалки по Go:
- https://devhints.io/go;
- http://www.cheat-sheets.org/saved-copy/go-lang-cheat-sheet-master.20181212/golang_refcard.pdf;
- https://cheatography.com/andanhm/cheat-sheets/golang/;
- https://github.com/dennyzhang/cheatsheet-golang-A4/blob/master/cheatsheet-golang-A4.pdf;
- https://www.programming-idioms.org/cheatsheet/Go;
- https://cdn.comparitech.com/wp-content/uploads/2020/03/Network-Programming-with-Go-Cheat-Sheet.jpg;
- https://inblockchainwetrust.medium.com/go-golang-cheat-sheets-cheatsheets-for-beginners-tutorial-6a2571f2ba90;
- https://www.guru99.com/google-go-tutorial.html;
- https://programming.guide/go/string-functions-reference-cheat-sheet.html.
Книги по Go на русском языке:
- “Язык программирования Go”, Алан Донован, Брайан Керниган;
- “Программирование на Go. Разработка приложений XXI века”, Марк Саммерфильд;
- “Head First. Изучаем Go”, Джей Макгаврен;
- “Язык Go для начинающих”, Максим Жашкевич;
- “Go на практике”, Фарина Мэтт Мэтт, Butcher Matt;
- “Golang для профи”, Михалис Цукалос.
Сообщества:
- https://t.me/golang_talk;
- https://t.me/golang_org;
- https://t.me/Golang_google;
- https://t.me/gogolang;
- https://t.me/gophernews;
- https://groups.google.com/g/Golang-ru;
- https://t.me/gogolang;
- https://t.me/proGO;
- https://vk.com/gogolang;
- https://vk.com/golang_lib.
Полезное видео по теме “Go-разработчик”
Язык программирования Golang – что на нем пишут, чем он хорош, зарплаты разработчиков
Как устроен язык Go, для каких задач он лучше всего подходит, и в чём заключается его главное преимущество
Golang developer, кто такой, чем занимается и сколько зарабатывает
Открытое собеседование на Go-разработчика | Тренировочные интервью
Golang – что на нем пишут, зарплаты разработчиков, как найти первую работу в IT
Заключение
- Go-разработчик – это востребованный IT-специалист, который чаще всего создаёт бэкенд- и веб-сервисы на Go (Golang).
- Go разработала компания Google для программирования различных приложений с минимальным количеством лишнего кода и быстрой компиляцией.
- Golang регулярно обновляется и имеет отличную документацию, что указывает на перспективность профессии. А это так и есть – на сайтах по поиску работы опубликованы сотни вакансий практически всеми ведущими компаниями, которые работают с веб-сервисами, блокчейном и базами данных.
- Минимальная зарплата начинающего Golang-разработчика составляет 70-100 тыс. руб./мес., в том числе без требований к опыту разработки.
- Порог вхождения в профессию низкий, Go идеально подходит в качестве первого языка даже для тех, кто не имеет никакого опыта в программировании.
- Самый быстрый способ обучения профессии Go-разработчика – это онлайн-курсы, где вы за считанные месяцы с нуля научитесь программировать на Golang и будете гарантированно трудоустроены на позицию Junior’а / стажёра с зарплатой от 70 тыс. руб. в месяц.