Goでプログラミング未経験の新入社員の研修をやった

今年の6月に配属されてそれから10ヶ月、3月末まで新入社員の研修を行った。

新入社員(以下Aさん)はプログラミング未経験ということで、どんな言語で研修を進めるか悩んが、これからチームとしてはGoでやって行こうという状況だったので、Goで研修を行うことにした。

以下散文。

プログラミング未経験向けのGoの情報は多くない

まずは参考になる書籍を探してみた。もともとGoの書籍は少ない上に、既存の言語を経験したことがある人を対象とした書籍ばかりなので、その辺りがなかなか悩ましかった。

とりあえず店頭で中身を眺めながら、スターティングGoにした。とりあえずこの書籍を中心に基本的なことを学んでもらうことにして、写経をしつつわからないところをフォローするというスタイルで始めた。

あとは、過去に自分が作っていたGoの基本的なハマりどころを確認するための問題集をやってもらうことにした。

最初はそんな感じで進めた。

カレンダーを扱うライブラリを作る

あるプロジェクトで必要だったので、カレンダーを扱うライブラリを作ってもらうことにした。

もともとRubyの実装があったので、それを元に作ってもらうようにお願いしていたが、自分も忙しかったりしてほとんどフォローできてなかったので、正直モチベーションは高くなかったと思う。

ちょっとしたウェブプリケーションを作る

一通り書籍の学習ができたタイミングで、グループ内で使用するための社内ツール的な位置づけで、ウェブプリケーションを作ってもらうことにした。

ここではDB周りの学習もするため、ER図書いたり、SQLを頑張って書くということもやってもらった。

LINEのボットを作る

年明けあたりからLINEのボットを作ることにして、天気予報ボットみたいなものを作ってもらった。

ボットは実装したら実際に動かして確認のレスポンスが得やすい、というところが研修には向いているのかもしれない。

多分この辺りから本人も楽しんでプログラミングができるようになってきたんじゃないかなと思う。

もともとLINEのボットはやるつもりだったけど、もっと早く着手してたら楽しめたかなぁと思う。ここは研修の見通しが良くなかった反省点。

大阪で行われていたLINEのハッカソンにも参加したりとなかなかアクティブに動いてもらっていた感じ。

社内の情報共有

社内の情報共有用のサイトに、Goのスライスについてきちんと調べてもらって記事を書いてもらった。

他にもポインタの話とか、よく調べてくれてまとめてくれた感じ。

自分が教えたこと

まぁそんな感じで10カ月を過ごしてもらった。自分ができることはあまり多くなくて「プログラマかくあるべき」みたいな話が多かったと思う。

Goって初心者向きなのか?

自分としては向いていたと思う。

Goは愚直に書くことが許されるというか、洗礼された書き方を追求しなくて良いというか、やってることは一緒だけどコードの書き方がイケテナイのでダメみたいなこともあまりない。

そういう観点で素人も玄人も近しいコードになると思っている。

なので、最終的にAさんが書いていたコードは設計上の問題を除くと、特にどうこういうつもりもないし、それで良いんだというのがGoの良いところだと思っている。

とはいえ、Goで飯が食っていけるのか?

これについてはちょっと確信が持てない。東京にいるならまだしも、大阪だとGoやってれば食いっぱぐれないみたいな状況も想像できない。

わかんないけど、転職したいんですけど〜みたいな状況になるとGoだけでは厳しいかもしれない。

本人もそういうあたりは理解していると思うので、うまく自分のスキルを磨いてもらえればと思う。

終わりに

特にまとめはないんだけど、そういう環境でGo勉強してたプログラミング未経験者もいたよって話です。