Каким багажом знаний должен обладать go программист, чтобы суметь найти работу?
Пересмотрев кучу видео с конференций я заметил одну штуку...
Кто бы не был докладчик (из яндекса, майла, баду и т.д) у всех примерно одинаковая история:
- Нам нужно было написать (микро)сервис, мы выбрали GO. За выходные мы его освоили и запилили все что нам нужно, и это уже месяц\пол года\год работает в продакшине.
Т.е по сути нужны не знания GO, а общие знания программирования.
GO слишком молодой, и пока что нету какого-то "стека" который необходимо знать. Все пилят как умеют и что умеют.
Вы слишком серьезно относитесь к языку. Язык программирования - это не человеческий язык. Он изучается быстро. Для программиста знание очередного языка программирования - это ерунда. Это такая же элементарная база как владение слепым десятипальцевым методом набора на клавиатуре или умение делать git add, git commit, git push, git pull.
Для Go:
Технологии Google AppEngine хорошо описаны, есть примеры (endpoint, очереди)
git (базовые вещи)
хотя бы в общих чертах знать что такое вендоринг, а лучше уметь glide/godeps/gb
Gorilla Toolkit (mux, websocket, schema)
RESTful/RPC
gometalinter, golint
Умение пользоваться специализированным редактором или IDE, настроенными под Go. И умение его настроить под себя.
знакомство с Martini, Revel или т.п.
знакомство с gizmo, go-micro
А вообще - см. тут список в разделе "Related projects"
https://github.com/go-kit/kit