2018年セプテーニ・オリジナル 新卒研修について
by
taketora
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2018年セプテーニ・オリジナル 新卒研修について 2018年6月20日 池田 健虎 新宿Geek Lounge#5 新卒・中途研修Meetup
Slide 2
Slide 2 text
発表の目的 ● 新卒エンジニアの研修を行う人のご参考に ● 自社でScalaエンジニアを育てるご参考に ● これからScalaを独学で学ぶ方へScalaを、スムーズに習得す る方法を伝えたい
Slide 3
Slide 3 text
目次 ● 自己紹介 ● 去年までの研修の振り返り ● 課題の抽出 ● 2018年度研修の目標設定 ● 2018年度の研修内容について ● Scala研修について ● 現状の振り返り
Slide 4
Slide 4 text
● 池田 健虎(タケト) ● セプテーニ・オリジナル4年目 ● セプテーニもくもく会の企画運営 ● オンラインスクールのScala講師 ● 2018年4月より組織開発部へ ○ ( 新卒・中途の研修をサポートする業務など ) 自己紹介 @taket0ra1
Slide 5
Slide 5 text
新卒の人数:3人 研修期間:4〜 8,9月 ( 5,6ヶ月 ) 研修内容:Java、Scala、データベース、インフラ、TDD DDD、設計、Play Framework、アルゴリズムなど 研修に関わった人員:12人 → 研修期間が長く、現場投入まで5,6ヶ月かかる 昨年のセプテーニ・オリジナルの新卒研修
Slide 6
Slide 6 text
研修内容 日数 Mac講座 1 Web基礎 2 Scala研修準備 12 Scala研修 21 DB基礎 3 インフラ研修 1 ロジカルシンキング 1 研修内容 日数 設計(アルゴリズム) 1 スクラム研修 0.3 TDD研修 1 DDDの基礎研修 1 チーム開発 40~60 予備 7 Git、Atlassian講座 1 昨年度(2017年)の研修内容と研修日数
Slide 7
Slide 7 text
過去の研修内容の振り返り① ● 研修期間が長い割に身につくスピードが遅い ○ 原因:書籍を配布した自習形式にしていたため → 都度講師がインタラクティブに教えたり、ペアプロで理解してもら う。
Slide 8
Slide 8 text
過去の研修内容の振り返り② ● 現場で不自由なく開発ができるScala力の基準が曖昧 → Scalaの研修はドワンゴさん提供のscala_textに変更。 他の研修も新卒が研修で学ぶべき領域を明確にした。
Slide 9
Slide 9 text
新入社員が研修で学ぶべき領域を明確に 学ぶべき領域は、全てのプロジェクトで必要になる知識のみ。 研修で扱わなかった部分は、チームでカバーしてもらう。 チームA チームB チームC ・digdag ・docker ・ETL処理 ・React.js 研修で学ぶべき領域 全プロジェクトで 必要な知識・スキル ・DDD応用
Slide 10
Slide 10 text
研修で学ぶべき領域(開発スキル) 開発スキル 1.Scala ドワンゴさんのカリキュラムと演習問題を通して 基本的なScalaの書き方を理解する。 9. macOS macOSに慣れていない新卒もいるので、一通りターミナル操作や Linuxコマンドに慣れてもらう。 2.Play Framework ドワンゴさんの課題、自作のアプリケーション、 DDDによ るアプリケーションを作る。 10.IntelliJ IntelliJでの便利なショートカットや、開発環境の作り方など覚えてもら う。 3.Unitテスト ScalaTestを使ってテストがかける状態。 テストを書く意味を理解する。 11.PRの出し方 レビューがしやすいプルリクの出し方を学ぶ。 4.Database 基本的なクエリがかける。 joinができる。 正規化ができる。など。 12.エラーの 調べ方 エラーを読む習慣をつける。スタックトレースの見方。 5.Web基礎 Webの概念的知識の理解。 (プロトコル、webサーバ、webクライアント) 13.共同開発 効率よく共同でアプリケーションを作ってもらうことを学ぶ。 6.OOP 構造化プログラミング、モジュールプログラミングユビキタ ス言語の重要性などの基本概念を理解。 14.スクラム スクラムマスターによるスクラムの説明。 7.DDD DDDとは?なぜやるのか? 戦術的設計を覚えてもらう。 (業務で必要なため) 15.設計 要望を要件に落とし込み、機能を開発できるようにする。 8.Git 共同開発するための gitの操作に慣れてもらう。 - -
Slide 11
Slide 11 text
研修で学ぶべき領域(ヒューマンスキル) ヒューマンスキル 1.コミュニケーション 円滑に開発するために必要なコミュニケーション。 2.段取り力 上手く仕事を進める段取り力を学んでもらう。 (やるべきかどうかなど ) 3.質問の仕方 具体的な言葉や概念を用いて質問できる。 4.聞く力 物事を素直に聞くこと。 5.ホウレンソウ 結論から伝える。説明が簡潔でわかりやすい。 6.共同開発の心得 3本柱(HRT) 謙虚・尊敬・信頼 研修を通して学んでもらう。
Slide 12
Slide 12 text
エンジニアとして自ら学び、アウトプットして チームに貢献できる状態を目指す 開発スキル ヒューマンスキル
Slide 13
Slide 13 text
2018年度の新卒研修 ● 新卒の人数:2人 ● 研修期間:4月〜7月(3,4ヶ月) ● 研修に関わった人員:12人(講師やレビューのサポート) ● 1日の終わりに日報の提出 ○ 今日やったこと、気付いたこと、困ったことなど。 ● 日報の提出後に夕会 ○ 日報の内容を共有してもらう。
Slide 14
Slide 14 text
2018年度の新卒研修 期間 講義名 研修日数 内容 4月上旬 Mac講座 0.5日 macの操作、Linuxの知識。ターミナル操作など。 4月 Scala研修① 15日 ドワンゴさんのscala_text、過去に研修で解いてきた練習問題 4月後半 Webの 概念的知識 1日 Webアプリケーション概要、Webサーバー、Webクライアント、 HTTP、DNS、TCP/IP、データベース、フレームワーク 5月前半 Database研修 3日 「ゼロからはじめるデータベース操作」を解いてもらう。 5月前半 OOPの基礎 2日 オブジェクト指向とは何か、オブジェクト指向が必要になった背景、 オブジェクト指向で実現したいこと、ユビキタス言語について 5月中旬 Git研修 0.5日 Gitの概要説明、Gitをどう使うか、MR/PRのより良い進め方 5月中旬 Scala研修② 8日 美容室の予約コンソールアプリケーションの開発。Scala講座①の復習、 DI、インターフェースのプログラミング、マルチプロジェクト、Unitテスト 5月末 Webアプリ研修① 7日 ドワンゴさんのscala_textを解く。Play FrameWorkの入門。ScalaTest。
Slide 15
Slide 15 text
2018年度の新卒研修 期間 講義名 研修日数 内容 6月上旬 6月中旬 Webアプリ研修② 15日 PlayFrameWorkで美容室の予約webアプリケーションを作成。 要望から要件に落とし込んで開発していく。 6月中旬 DDDの基礎 2日 DDD Quicklyを読む。戦術的設計を一通り把握したあと、システム全体の設計や要 件定義にDDDがもたらすかメリットを説明。設計の実践。 6月後半 7月中旬 Webアプリ研修③ 15日 美容室の予約webアプリケーション。DDDに沿って作っていく。 7月中旬 スクラム研修 0.5日 スクラム開発する上でスクラムの基礎を学ぶ。 チーム配属へ
Slide 16
Slide 16 text
Scala研修
Slide 17
Slide 17 text
3年前に私が入社した時 Java未経験、webアプリケーションを作ったことがなく、 書籍ベースの研修が難しかった。 自分があの時こう勉強すればよかったと思った内容で カリキュラムを考えた。 ボトムアップ型で行う
Slide 18
Slide 18 text
Scala研修①の内容(15日間) ● ドワンゴさんのscala_textを一巡する。 ○ REPLで動作確認 ○ 理解できるまで質問 or 調査 ○ slackを活用し現場のエンジニアがサポート ○ 各章で演習問題の実施
Slide 19
Slide 19 text
Scala研修②の内容(8日間) ● 復習を兼ねてコンソールアプリケーションを作る ○ 美容室の予約アプリケーション ● 学んで欲しかったこと ○ DIの学習 ○ マルチプロジェクトなど構築 最初からベストの答えを教えるのではなく プロセスを通して理解してもらう
Slide 20
Slide 20 text
33日→23日 例年のScala研修の工数を削減
Slide 21
Slide 21 text
Webアプリ研修
Slide 22
Slide 22 text
Webアプリ研修①の内容(7日間) ● ドワンゴさんのscala_textの「Play Frameworkを使ったWebアプリ ケーション作成」を行った。 ● 学んで欲しかったこと ○ スクラッチからWebアプリケーションを作る ○ フォームを使って実装する ○ DBにデータを保存する ○ jsonを返すapiサーバー
Slide 23
Slide 23 text
Webアプリ研修②の内容(15日間) ● コンソールアプリをwebアプリケーションにした ● 新卒同士による共同開発 ● 要望を要件に落とす設計も行う
Slide 24
Slide 24 text
Webアプリ研修③の内容(15日間) ● DDDによるwebアプリケーションの作り直し ● 学んで欲しいこと ○ DDDの戦術的設計のを理解して使ってもらう ■ 経験の浅いエンジニアにDDDの戦略面について理解す るのは難しい。 ■ 現場のプロダクトは戦術的設計で開発されているので言 葉の意味を理解する ○ 全体像を把握した状態から作り直すことにより、コードをブ ラッシュアップ
Slide 25
Slide 25 text
40~60日 → 37日 Webアプリ研修の工数を削減予定
Slide 26
Slide 26 text
良かったこと ● 研修期間の工数削減 ○ 5,6ヶ月→3ヶ月半 ● プロセスを通してなぜ必要なのかを学習 ● 開発チームへのアサイン時期が早まる ● 早期即戦力化が実現できる
Slide 27
Slide 27 text
失敗したこと ● 自分の理解力不足で教えられない箇所があった ○ 都度勉強し直しよりわかりやすい例を用意した ● 適切な演習課題が用意できなかった ○ scala_textに沿った課題を用意する ● 教える側のリソース不足 ○ 教えてる時は次の準備ができない
Slide 28
Slide 28 text
教えることが 一番勉強になる 「教えること」でより理解が深まるので2 年目、3年目の新卒エンジニアが教え れる仕組みを作りたい。
Slide 29
Slide 29 text
ご静聴ありがとうございました