опрос

опрос

foxcool

Не могли бы Вы ответить на несколько наших вопросов:


1. Разработчик Go: какими знаниями и навыками должен обладать?


Go достаточно молод, и обычно специалисты в него приходят с опытом разработки уже на других языках программирования. У него достаточно низкий порог вхождения, и начать разрабатывать можно после прохождения Go tour на официальном сайте, чтения документации и довольно небольшой web книжки Go book. Однако для найма на работу обычно требуют уже более глубокие знания. Часто рекомендуют прочитать, например, книгу Марка Самерфилда «Программирование на языке Go» или аналогрчную книгу Брайана Кернигана и Алана Донована.

Про другие полезные материалы можно спросить в сообществах Go-программистов

https://t.me/gogolang

https://t.me/proGO

https://t.me/golangjob

Некоторые мануалы есть только на английском.



2. Инструментарий разработчика Go?

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

Многие инструменты поставляются с самим языком. Например gofmt и goimports являются консольными утилитами, которые форматируют код за разработчика по общим стандартам, принятым в сообществе. Редакторы как правило просто вызывают эти утилиты при сохранении. Еще используются так называемые Линтеры — это такие средства, которые анализируют твой код и указывают на недоработки: отсутствие комментариев у экспортируемых сущностей, применение импорта с относительными путями и прочие недочеты, которые не являются грубыми ошибками, но в перспективе усложняют использование данного кода или его поддержку.


3. Каковы требования компании к уровню образования потенциальных сотрудников?


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


4. Какие требования предъявляться к опыту работы?


На мой взгляд, пока достаточно мало вакансий для Junior разработчиков. Это отчасти связано с «молодостью» языка и большим количеством разрабочиков, которые пишут на нескольких ЯП. Они же обычно обладают многолетним опытом работы на различных ролях. Но постепенно будут появляться люди, для которых этот язык первый.


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


5. Есть ли специфические требования, которые обусловлены спецификой деятельности компании?


Естественно. На языке Go разрабатываются не только стандартные вещи вроде WEB-бекенда, но и какие-то сложные финансовые инструменты, распределенные системы хранения данных (IPFS), блокчейн приложения (go ethereum) и т.д. Компании могут предъявлять повышенные требования к знаниям работы высоконагруженных систем, баз данных. Кроме этого, любой программист как правило должен вникать в контекст работы продукта. Если работаешь в финтех проекте, то общие знания экономики точно не будут лишними, например. Разработка решения для медиков может потребовать освежить знания биологии и т.д. Для любого программиста навыки непрерывного самообразования важны уже в наше время.


На собеседованиях Go-программистов часто спрашивают про многопоточность, т.к. это одно из конкурентных преимуществ языка.


Report Page