Slide 1

Slide 1 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 JJUG会⻑と⼀緒に考えた Spring Boot × JavaScript × IntelliJ × アジャイルという モダンな新⼈研修を 今まさにやっている話 (株)カサレアル 多⽥真敏 2019年5⽉18⽇ JJUG CCC 2019 Spring 1

Slide 2

Slide 2 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 このセッションについて ▸ 弊社で担当している
 グロースエクスパートナーズ(GxP)様向け
 新⼊社員研修を紹介します ▸ 実際やってみてどうだったかの知⾒を共有します ▸ 【対象】⼈事担当の⽅、OJT担当の⽅、
     新⼈研修を担当される⽅、
     その他教育に興味のある⽅ 2

Slide 3

Slide 3 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 おことわり 3 100% 宣伝です

Slide 4

Slide 4 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 気になったキーワードはどれですか? ① 「JJUG会⻑と⼀緒に考えた」 ② 「Spring Boot」 ③ 「JavaScript」 ④ 「IntelliJ」 ⑤ 「アジャイル」 4

Slide 5

Slide 5 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⾃⼰紹介 ▸ 多⽥真敏(@suke_masa) ▸ 研修トレーナー@カサレアル ▸ Spring / Java EE / Microservices
 / Cloud Foundry ▸ Pivotal認定講師 ▸ ⽇本Springユーザ会スタッフ 5

Slide 6

Slide 6 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 株式会社カサレアル ▸ 他社には無い⾊々なプログラミング⾔語の研修 を提供しています! 6

Slide 7

Slide 7 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⽬次 ① JJUG鈴⽊会⻑からのメールと、
 従来型のJava新⼈研修の問題点 ② モダンな新⼈研修とはコレのことだ! ③ 多⽥が担当していたA社様の新⼈研修 ④ 実際やってどうだった? 7

Slide 8

Slide 8 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⽬次 ① JJUG鈴⽊会⻑からのメールと、
 従来型のJava新⼈研修の問題点 ② モダンな新⼈研修とはコレのことだ! ③ 多⽥が担当していたA社様の新⼈研修 ④ 実際やってどうだった? 8

Slide 9

Slide 9 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ある⽇、メールをふと⾒ると。 9 JJUGձ௕ͷླ໦༤հ͞Μ (@yusuke_arclamp)
 (౰࣌ɿάϩʔεΤΫεύʔτφʔζࣥߦ໾һɺ
 ݱɿάϩʔεɾΞʔΩςΫνϟˍνʔϜε
 ɹɹ ୅දऔక໾ࣾ௕) 多⽥さん、こんにちは。 従来型の新⼈研修では 現場と乖離があるので、 ⼀緒に作りませんか? (※原⽂ではありません)

Slide 10

Slide 10 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 10 (ɹƅшƅ) ɾɾɾ (ͭд⊂)ŠƄŢŠƄŢ (ʀƅшƅ) ɾɾɾ (ͭд⊂)ŠƄŢŠƄŢŠƄŢ ʢʀƅ Чƅʣ …ʂʁ

Slide 11

Slide 11 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 お打ち合わせして分かった課題 11 https://www.slideshare.net/CASREAL_seminar/ss-112887909/36

Slide 12

Slide 12 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 問題点① 設定された課題をこなすことがゴール ▸ 学習が受け⾝になってしまう ▸ 技術変⾰が次々と起こる現代では、
 主体的に学習する姿勢が重要 12

Slide 13

Slide 13 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 問題点② チーム内のコミュニケーションが古い ▸ 従来型研修 13 ▸ モダンな現場

Slide 14

Slide 14 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 問題点③ そもそも技術がダサい ▸ 従来型のカリキュラム 14 IT基礎 コンピューターの基礎、 ネットワーク、データベース Java 変数、制御構造、クラス、
 継承、インタフェース、API Web HTML/CSS、サーブレット、 JSP、セッション、JDBC 開発演習 ECサイトなどの
 設計・開発・テスト 15年以上 変わってない (Java SE 5 × J2EE 1.4) JavaScript は扱わない Gitなども 扱わない

Slide 15

Slide 15 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 なぜ弊社も従来型研修を続けていたか ▸ モダンな新⼈研修を作っても、
 お客様が導⼊してくれるか不安だったから ▸ お客様からの要望は「『Webの基礎』をフレームワークに 依存せず⾝につけさせたい」がほとんど ▸ St◯utsな現場もまだ世の中には多い 15 GxP様が導⼊決定 → 思い切った研修を作ることに

Slide 16

Slide 16 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⽬次 ① JJUG鈴⽊会⻑からのメールと、
 従来型のJava新⼈研修の問題点 ② モダンな新⼈研修とはコレのことだ! ③ 多⽥が担当していたA社様の新⼈研修 ④ 実際やってどうだった? 16

Slide 17

Slide 17 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 研修のゴール ▸ クライアントサイドからサーバーサイドまで、
 ⼀通り⾃分で作れる ▸ 各種公式ドキュメントでの「調べ⽅」を
 ⾝につけている 17

Slide 18

Slide 18 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 技術スタック 18 クライアント サーバー リクエスト レスポンス
 (JSON) ▸ いわゆるSPA(Single-Page Application) JDK 11

Slide 19

Slide 19 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 React ▸ UIを構築するためのJavaScript
 ライブラリ ▸ Facebook社がオープンソースで開発 19

Slide 20

Slide 20 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 Spring Boot ▸ 現在広く使われている
 オープンソースのJavaフレームワーク ▸ サーブレットAPIはほぼ完全に隠蔽されている ▸ 新⼈研修レベルではサーブレットの知識は不要と判断 20

Slide 21

Slide 21 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 サーブレット・JSP・JDBCは扱わない! ▸ サーブレットはSpring Bootで隠蔽されている ▸ JSPはそもそも使わない ▸ JDBCはORマッパーで隠蔽されている ▸ Spring Data JDBC または MyBatisを利⽤ 21

Slide 22

Slide 22 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 JDK 11 ▸ JDKのLTSとしては最新版 ▸ 2019年5⽉現在 ▸ AdoptOpenJDKを採⽤ ▸ リリース後に半年が過ぎてもLTSが提供される、
 ⾃宅学習でもライセンスを気にせず使える、
 などが採⽤理由 22 ※JDK: Java Development Kit
 ※LTS: Long Term Support

Slide 23

Slide 23 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 開発環境 23 プ ッ シ ュ ク ロ ー ン ローカルPC 研修サーバー

Slide 24

Slide 24 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 IntelliJ IDEA ▸ Java開発のIDE ▸ 弊社はJetBrains社とトレーニングパートナー契約を 結んでいるので使い放題 ▸ しかもAll Products Pack ▸ 国内でも採⽤する企業様が増えている ▸ Eclipseは書籍もネット情報も多いが、IntelliJはまだ少ない 24

Slide 25

Slide 25 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 GitLab ▸ Gitリポジトリ兼CIサーバー ▸ その他、Dockerイメージリポジトリや
 Mavenリポジトリとしても利⽤可能 ▸ .gitlab-ci.ymlをリポジトリ直下に置けば、
 そこに記述された処理でCIできる 25

Slide 26

Slide 26 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 Docker ▸ コンテナ技術のデファクトスタンダード ▸ 今回はGitLabサーバー上で疑似クラウドとして 利⽤ 26

Slide 27

Slide 27 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 全体カリキュラム 27 次にJavaScript システム開発全体の 流れやGitなど Java + Spring Boot 最後に ワークショップ ※カレンダーは2018年度ですが、
  2019年もほぼ同じカリキュラムです

Slide 28

Slide 28 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⽇々の進め⽅ ▸ ハンズオンによる最⼩限のインプットと、
 チームorペア演習によるアウトプット 28

Slide 29

Slide 29 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 Webシステム構築ワークショップ 29

Slide 30

Slide 30 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 Webシステム構築ワークショップ 30

Slide 31

Slide 31 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⽬次 ① JJUG鈴⽊会⻑からのメールと、
 従来型のJava新⼈研修の問題点 ② モダンな新⼈研修とはコレのことだ! ③ 多⽥が担当していたA社様の新⼈研修 ④ 実際やってどうだった? 31

Slide 32

Slide 32 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 新⼈研修の体制 32 @yamamotokaoru77 GxP様メイン講師 全体の取り仕切り JavaScriptコンテンツ作成 @suke_masa A社様メイン講師 進め⽅のアイデア出し Spring Bootコンテンツ作成 @zer0_u GxP様サブ講師 演習のサポート Javaコンテンツ作成 GxP様担当 A社様担当

Slide 33

Slide 33 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 JDK 11 A社様向け技術スタック 33 クライアント サーバー リクエスト レスポンス
 (JSON) B Bootstrap

Slide 34

Slide 34 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 GxP様向けカリキュラムとの違い ▸ クライアントはjQuery + Bootstrap ▸ 多⽥がReact未経験だったため ▸ 開発演習はA社様内で実施 ▸ アジャイルな進め⽅ / Dockerは導⼊を⾒送り ▸ ソースコード解析ツールを導⼊ 34

Slide 35

Slide 35 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ソースコード解析ツール ▸ ESLint (JavaScript向け解析ツール) ▸ Checkstyle (Java向け解析ツール) 35 例年の他社様研修と⽐較して、 明らかにコードが綺麗になった

Slide 36

Slide 36 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ⽬次 ① JJUG鈴⽊会⻑からのメールと、
 従来型のJava新⼈研修の問題点 ② モダンな新⼈研修とはコレのことだ! ③ 多⽥が担当していたA社様の新⼈研修 ④ 実際やってどうだった? 36

Slide 37

Slide 37 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 鈴⽊さんの感想 37 https://www.slideshare.net/CASREAL_seminar/ss-112887909/37

Slide 38

Slide 38 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 講師の感想 38 https://www.slideshare.net/CASREAL_seminar/2018-111874250/30

Slide 39

Slide 39 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 講師の感想(つづき) 39 https://www.slideshare.net/CASREAL_seminar/2018-111874250/31

Slide 40

Slide 40 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 多⽥の感想 ▸ JavaScript → Javaの順番で学ぶのは⾮常に良い ▸ 早い段階から、GUIで実⾏結果を⾒れるから ▸ IntelliJの設定がプロジェクトごとに必要で⾟い ▸ GitLabのテスト結果出⼒がショボい・・・ ▸ 学ぶ範囲が広いので、要所要所でまとめ・復習を ⼊れたほうが良い 40

Slide 41

Slide 41 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 サーブレット・JSP・JDBCは教えなくてもOK ▸ これらの知識がなくてもSpring Bootを学習する ことは可能 ▸ ただし、動作の仕組みをどうやって説明するかは⼯夫 が必要 41

Slide 42

Slide 42 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 最⼤の課題 ▸ 企業様によって合う/合わないが分かれる ▸ カリキュラムが独特なので仕⽅ない⾯も ▸ 実際、2019年度はGxP様・A社様ほか計3社のみ 42

Slide 43

Slide 43 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 従来型の新⼈研修に満⾜できない企業の皆様、 お問い合わせ待ってます! ▸ Web -> https://www.casareal.co.jp/ls/ contact/i ▸ Twitter -> @suke_masa にDM/リプライ ▸ メール -> [email protected] 43

Slide 44

Slide 44 text

(C) CASAREAL, Inc. All rights reserved. #jjug_ccc #ccc_e6 ご清聴ありがとうございました! 44