概要
社内で勉強会の時間を取り分けることが出来たので、数人で集まって毎週2時間程度、Go言語の勉強をする事にしました。PHPプログラマや機械学習チーム、インフラさんの混成チームで、社歴も年齢も様々なので、基本的に皆Go言語の初心者としてスタートしました。(途中から詳しいメンバーが合流)
Goを選んだ理由としては、
- PHP以外の選択肢を増やしておきたい
- PHPでは難しい処理(並行処理等)が行える言語がよい
- 複数人で限られた時間で行うので、学習コストがそこまで高くない
- 業務の合間での息抜きや刺激が欲しい
と大それた志があるわけではありません。
業務ですぐいに活かせそうな、Vue.jsとも迷ったのですが、今回はサーバーサイド言語になりました。
A Tour of Go
-
https://go-tour-jp.appspot.com/welcome/1
- 6時間程度
- 「あーでもないこーでもない」 と言いながらドキュメントも参照しつつ動かしてみる
- 環境作りもこの頃学ぶ
Codewars
-
https://www.codewars.com
- 6時間程度
-
coding dojo
でコード戦士としてkata
を学んでkyu
を上げていくという雰囲気のトレーニングサイト - 解答提出後、他の人の解答も見ることができ投票で人気のものが見れるので、初心者でイケてる書き方がわからないうちはとても参考になります
Go言語によるWebアプリケーション開発
-
https://www.amazon.co.jp/Go言語によるWebアプリケーション開発-Mat-Ryer/dp/4873117526
- 12時間程度
- チャットアプリケーションのサンプルアプリケーションを写経
- 週替りで担当者を決めなんとなく司会進行、時間配分等を主導
社内ツール作り
-
https://github.com/google/go-github を使ったアプリ
- 8時間(4週間)〜現在
- モブプログラミング形式(ドライバーとモブたち)
- 内定の出ているメンバーも参加するようになり、 ミニプロジェクトとしてプロダクトオーナーを立て要件決め、設計と普段の開発フロー風に実施
- 業務遂行より、お勉強がメインなので「とにかく作ってみよう要素」が強い為、アジャイルに最低限の機能から実装して動かしていくスタイルを採用
おわりに
1週間に1回だと毎回思い出すのに苦労することや、メンバーによって普段の学習の方法や観点が違っていること、いわゆる先生がいない時期は全員分からない状況になったこと等、今までもこれからも考慮・改善すべき点はありますが、普段は1人でやる学習をこうして色々な人と出来るのは貴重ですし思った以上に面白いですね✨
初心者が集まって言語を学んだサンプルとして参考になれば幸いです。
もう少し続けて良かったことなど本記事を更新出来ればと思います。