新人向けにJava関連の読書会をはじめた話


# はじめに
* [Stylez Advent Calendar 2016](http://qiita.com/advent-calendar/2016/stylez)の2日目です。
* 弊社の代表が [javaプログラマー向け学習のための本（新人から５年めくらいまで）を考えてみた](http://qiita.com/bonybeat/items/a7ed6cc96d256570ac74) みたいな記事で680ストック超（2016/12/1現在）してるようですが、その中の以下の技術書を弊社新人向けに読書会形式で読み進めるという取り組みをはじめてみたので、その話を書きます。
	* [スッキリわかるJava入門 第2版](http://www.amazon.co.jp/Java-2/dp/484433638X/ref=dp_ob_title_bk)
	* [スッキリわかる Java入門 実践編 第2版](http://www.amazon.co.jp/dp/toc/4844336770/ref=dp_toc?_encoding=UTF8&n=465392)
	* [スッキリわかる サーブレット&JSP入門](http://www.amazon.co.jp/dp/4844335804)
	* [Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発](http://amzn.asia/hdw5bm8)

* 本読書会の講師は私で、メンバーは新人だったり中途入社の社員だったり別言語でバリバリだったり、だけど基本Java初心者の開発系です。
* スッキリわかるシリーズでは、毎週章ごとに担当を振り分けて、Qiitaに記事を書いて来てもらい、その内容を発表してもらいました。
* Spring徹底入門では、章の内容に合わせた宿題を出して、実際にコードを書いて来てもらい、Githubにコミットされたコードのレビューをしてきました。
* この取り組みを開始してから、はや8ヶ月経過しようとしているところです。
* ということで、キリと機会が良いので、講師をしてる私の観点で5分ほど振り返ります。

# コンセプト
* 既に習ったところがあるかも知れないけど、Javaとオブジェクト指向の基礎入門からじっくりやってく
* 教わるより、自身で学んで行くスタンス
* 楽しく覚える、引きづられて色々なことに興味を持つ
* 業務忙しくて内容がグダグダな時があるかもしれないけど、毎週実施する
* 自身の発表時以外でも進んで発言していく
* 得た内容はアウトプットする
* 疑問点もアウトプットする（Slackを有効活用）
* 講師は、メンバーの記事やSlack投稿には、なるべくリアクションする
* 来年度以降も新たなメンバーで続けて行ける取り組みとなるよう、振り返り、改善、残すを行う

# スケジュールの振り返り
* 7月, 8月は、おさらいの意も込めて、会社から報酬のある`Java Programmer, Silver SE 8`の資格講座を実施し、資格試験に挑み、見事全員資格と報酬をゲットしました。
* 細かいところで、他にも読書した本はあるのですが、ここでは割愛します。
* Spring徹底入門は現在継続中で、1月一杯掛かりそう。

![skitch.png](https://qiita-image-store.s3.amazonaws.com/0/39596/6a0f04fc-c7f5-8349-304a-aee53ebb6cb7.png "skitch.png")


# 7月時点のメンバーの振り返り抜粋
* 以下は、7月に行った読書会の振り返り（KPT）の抜粋です。

<hr>

- Keep
   - 一人でやるよりも一緒に勉強する仲間がいたほうが断然モチベーションも上がる。
   - ただただ単純に楽しいです。
   - 自分の成長を感じることができた。
   - 書いたものに対してさらにフィードバックがあることで、自分では気づかなかった部分も調べて勉強できた。
   - まとめること、発表することで理解が深まったこと
   - 時間をうまく使って、業務時間内でまとめとかできた！

- Problem
   - 実装した方が良い、できなかった
   - 計画性がなく、寝不足になった
   - 読んだ直後は理解した気がするが、全体的につながっているか微妙な気がする
   - 記事を書くのに思ったより時間がかかる。
   - 忙しくなってくると毎週は正直大変と感じる

- Try
   - 資格とりたい（目標つくりたい）<- 試験勉強会したい
   - 継続したい
   - 記事をもっとうまくまとめて作成時間を短縮させたい
   - プログラミングをしていきたい、eclipse使いたい
   - 実装の宿題やりたい
   - もっとスキルアップしたい、フレームワーク勉強したい
   - 外部セミナーとか行ってみたい
   - 自分のコードを書く、人のコードを読んでそれを解説すること
      - メンバーの意見で良く出たネタ。良い方法を模索する、考える、ググる

<hr>

# まとめ
* どちらかと言うと、新しもの好きな講師なので、色々な誘惑が有りつつも、なるべく初歩からコツコツ進めることを心掛けてる。また、技術面じゃなくて、この取り組み自体が新しいチャレンジと意識してモチベーションを上げてる。
* 何にしても、選出した4冊が良書過ぎた。
* 9月までの取り組み方で、Javaの基本、Webシステムの基本は習得できる。残り半年でその知識をベースとしてフレームワークを習得する目論見だが、今のところ上手くいってる。
* ハッとさせられる質問があったり、それに対応してた講師の私が一番勉強になってるのかもしれない。[JavaBeans](http://qiita.com/ukitiyan/items/3b7f1ea7eb3d208ed5fe)の話とか。
* 開始を朝一としたことで、業務による急なリスケを回避できてる。
* 楽しく出来てる。メンバーのモチベーションも維持できてる。でも、業務と平行で大変だったと思う。メンバーは良く頑張ってる。
* 経験が浅いとIT関連のワードでハテナになることが多い。理解できるように、そのワードが生まれた背景を交えつつ説明するようにしてる。それに関連して別言語、Linuxの歴史、オープンソース、データベース等のJava以外の話を挟むことで、IT全般に対する知識や興味を持ててると感じる。
* 知ったことをマークダウンで纏めて、人前でアウトプットすることは貴重な体験になってる。
* 流行のフレームワークやアーキテクチャを知らないと、実業務で直に役立つ実感は得られないし、ソースも書けるようになっとは言えない。文法と基本を覚えてスタートラインに立った感じ。#例えば文法覚えたからといって本を書ける訳ではない。
* でも、確実にスキルは向上してるし、この手の内容を知ってるか知らないかは、後々響いてくる。気付きにくいところだけど。
* そういうこともあって、例えばピュアなJDBCでDBに接続してから、Spring Data JPAで接続するとかフレームワーク使うにしても、原理を学習するようにしてる。
* 本は章の順番通りではなく、こちらで決めたカリキュラムに応じた順番で読むようにしてる。不要な章は読まない。ここは講師が事前に本を読んで計画する必要がある。
* メンバーに一番効果があったと感じるのは、この読書会を通して、Javaやオブジェクト指向の基礎を知れたので、ソースと対面した時に以前より恐怖心が減ってること。
* 7月時点のTryは回収したので、1月末に振り返りして、さらに改善しようと思う。
* この取り組みで、他のレベルの勉強会が始まる等、全社的にも良い効果があった。
* 社員のタイプや計画に合わせて、この手の取り組みを全社的にやるのは良いことだと思う。