自己紹介
- 中小SIerに所属
- 客先常駐で、社内Webシステムを開発しているプログラマ
- 使用言語はHML, CSS, JavaScript, Java, SQLなど
- 2017年3月から、毎週チーム内勉強会を開催している
伝えたいこと
- 勉強会をはじめた経緯、勉強会の運営
- 勉強会を簡単に始めることができた
「勉強会をはじめてみたいんだけど…」と思っている方の参考になれば、嬉しいです。
勉強会をはじめる前の話
勉強会をはじめたきっかけ
-
コードレビュで、いつも同じような指摘をしている
(メンバ2~3人をレビュ)- HTML:IDが重複している
- Java:ArrayListで宣言している
既存コードの品質が悪く、コードから学ぶのは適切でない
⇒ 勉強会を開催して、メンバー全員に教えよう!!
勉強会の開催を上司に相談
- 自分:「毎週30~60分、業務内で勉強会をやらせてもらえませんか?スライドは家で作るんで。」
- 上司:「OK!やって!」
- 自分(心):「簡単にOKもらえた。スライド作成は業務時間に含めていないから?」
- 上司:「ただし業務でやるんだから、勉強会の効果を定量的に評価できるようにしておいて!」
- 自分(心):「定量的な評価は難しいなあ。とりあえずレビュ指摘件数を評価対象にしよう。」
- 自分:「わかりました。」
⇒ 翌週から勉強会を開催
勉強会の目的
メンバーの技術力の向上!!
私が考える技術力とは?
品質:保守性が高くて、読みやすいコードが書けるか
⇒ レビュ指摘件数の少なさ生産性:コーディングや影響範囲調査などが速いか
問題解決能力:技術的な問題を解決できるか
勉強会をはじめた後の話
勉強会で話した内容
-
品質の向上
- 良いコードの書き方
- アンチパターン
-
生産性の向上
- 正規表現の検索/置換
- Eclipseのよく使う機能/ショートカット
- Unixコマンド(grepコマンドなど)
-
問題解決能力の向上
- 各言語の基礎
- フレームワークの中身の処理
- Tomcat, Apacheの基礎
- 文字コード
勉強会の運営
- 毎週1回開催、時間は30~60分。
-
場所は打合せ席
- 22インチモニタありの8人がけ机
- 会議室より途中参加/退場しやすい
参加者は2~4人
-
発表者は自分のみ
- できれば他の人にも発表してもらいたい…
勉強会用のスライド
- 自分がプライベート時間に作成
- Qiitaスライドモードで作成
- MarkDownで簡単に作成できる
- 見た目にこだわらず「内容」に集中できる
(フォントサイズや画像サイズ/位置の調整ができない)
勉強会の効果
まだ目に見える形では効果は出ていない。
参加者の感想
- Google検索するときの幅が広がった(検索ワードが増えた )
- 変数名やメソッド名を意識するようになった
発表者(自分)の感想
- 成長していると感じた
- 曖昧だった知識が整理された。
- 自分の理解している範囲が明確になった
- LT駆動開発?
- 「次回は何を教えようか」と考えるのが楽しくなった
- 毎週スライドを作成するのは結構大変
レビュ指摘件数の評価
レビュ指摘件数に有意差はなかった
項目 | Before | After |
---|---|---|
プロジェクト | A | B |
期間 | 1~3月 | 4~6月 |
ステップ数 | 4000 | 4000 |
技術力不足による指摘件数 | 14 | 14 |
※レビュイーとレビュアーは、BeforeとAfterで同じ人
レビュ指摘件数で評価するのは難しい!!
技術力以外の部分で指摘件数が変わる。
- メンバーが他のチームに移る
- プロジェクトが変わる(同じWebシステムだけど異なるシステム)
まとめ
- 勉強会の開催は、上司から簡単にOKをもらえた
- 「メンバの技術力向上」を目的として、毎週勉強会を開催している
- 勉強会の効果は、目に見える形ではまだ出ていない
- レビュ指摘件数の評価は難しい
ご清聴ありがとうございました
補足
気になった記事の紹介
通常の講義が終わった後、「気になった記事」を5分程度で紹介。
箸休め的な内容。
- おもしろそうな技術
-
自己啓発、プロジェクト管理
-
業務には関係ない記事