師弟登壇2015参加しました。各社の色が研修に出ていておもしろかったです。
(色は人によって作られるのだから、人をつくるための研修に企業の理念が反映されるのは当然といえば当然の話だなと)
来年度新卒入社する身として色々自分の感想なども書きたいですが、とりあえずメモ書きを。
資料
- Gaiax
- カヤック
- pixiv
- mixi
- はてな
開会の辞
今回で3回目
2012は永和で(名前も違った)、2013、そして今年2015
Gaiax
資料:師弟登壇 Gaiax編 / Shitei Toudan // Speaker Deck
師:papix / 弟:ufo_ocha
どちらも関西人で同い年
アディッシュ(子会社)
Gaiaxとは
エヴァンゲリオンの会社ではない!!
B2B中心 最近はC2Cやシェアリング
150人、うちエンジニア50人
弟から研修内容紹介
同期は3人 スキルに違い
研修とは、与えられるものではない
自分たちで作っていこう by papix
4月:シェア研修→マナー系の合同研修
5月:社内研修
HTML/CSS、ユニットテスト、オブジェクト指向
app boot camp:1人でPerlで簡単なTwitterっぽいのを作る
6月:サービス開発研修
社内蔵書管理ツール
社内研修
講義+資料での自習
自由課題:自分の力量に合わせて
+挑戦課題:自分で課題と目標を考える
自由課題でexpress勉強、abcでreact使ってみたり、perlのテストモジュール使ってみたり
ドキュメントはQiita:Team
サービス開発研修
3人でチーム:プロダクトマネージャー+スクラムマスター
教え合おう
→うまくいかなかった 当初予定の60%程度
プロダクトをつくるということと自分の成長(技術的チャレンジ)とのバランス
→ ユーザーに価値を届けることが研修においても大事
失敗からの学び
チーム開発の難しさ
現在
新規事業に配属:Rails、React、Swift
インターン生のメンター
研修で活きていること
- 自分で考えて目標をたてる
- サービスのことを考える過程で成長する
- 学んだようにインターン生に教える
- 目の前のことを全力で!
考えたことを実践していくことを学ぶ研修
研修とは、与えられるものではない
研修だからと思わない:成長するために何か?ではなく、目の前の問題を自分で考えることこそが成長につながる
by 師
2年目のエンジニアが主導
2年目+部長+技術部長
10-15人が関わる
夢を語って→部長に承認
昨年は講義形式
直接質問できるが、時間や進め方が拘束
行間の補足を口頭でやる:使い回しがしにくい→資料にすべて入れる
→25万行近くの資料を書いていた……
各々伸ばしたい技術をみつける
ABCは実践
「仕様」がある→どう実装するか?どこまでやるか?を考える
サービス開発は、社内課題を解決するアプリの開発
ユーザーに価値を届けることを実践
合同研修の実施:お互いの知見を学び合う、研修の効率化ができる
研修の作り方
コンテンツをつくる→ その前に!理念と目標をしっかり作る
「主体的に動く」文化を叩き込む
理想と現実を理解して理想を目指す!!
若者の力を引き出せ
今のGaiaxと「+1」を教える:理想
昨年の反省:オーバーワーク
実際に一般公開するサービスを作ったので、頑張りすぎた
今年は社内ツールを作ることにした
ポエム
最小コストで最大効率
長い期間やればいい、というわけではない
→資料のテキスト化や合同研修
新人研修には多くの変数があるため、他社を真似ても通用しない
→毎年変えていく、工夫していく
コンテンツを真似するのではなく、 「理念」「目標」を参考にする!
→X社がこうしているのは、「こうなってほしいから」←ココを参考!
DeNAの「自走できるエンジニア」目標を参考に
新人研修の失敗ってなんだ?→失敗から学ぶことも研修
コントロールできる範囲で失敗してもらう
研修の中で自分も学ぶ
正解のない問題を試行錯誤する
走り続ける人材→つまり、新人研修の半分は採用の時点で終わっている??
新人の現在のスキルセットを確かめ、最適な方針を選択する
→今年は全員情報系だったので、これでもいけると考えた
カヤック
資料:カヤックの新卒研修 #師弟登壇2015 // Speaker Deck
Lobi、ゲーム、クライアントワーク ちゃんりおメーカーなど
弟:nukokusa、師:Konboi
面白法人というだけでハードル上がる…
新人研修の狙い
すべてのエンジニア参加
Paasが増えたので、Linuxサーバの知識が乏しくなってきた→研修で底上げ
現場で実務に追われると身につきにくい基礎的な内容をメイン
Golangの推進:どこに情報あるか、カヤックでどこに使っているのか
1週間でやる、GoからWAFまで
tour of goに挑戦
サーバー構築:chef+serverspec
講師が用意したspecが通るように構築
HTTPとはどのようなものか パケットキャプチャなど
クライアント/サーバーを自分たちでやる
Go net/httpでつくる
RDBMS
最終日 社内ISUCON 先輩エンジニアも参加
研修後は歓迎会
K:サーバーの知識とGoの最低限
P:6日間は短い
T:余裕をもつ、複数台サーバー構築も
弟
高専のためほぼ研究用途→Webアプリ
なぜ?の部分をわかるように
師
初メンターの不安
書籍「ザ・コーチ」
「たった1%のリーダーうんたら」
プログラミングスキルを新卒研修で把握+サーバー知識も最低限ある
→配属時も役に立つ
「どういうエンジニアになりたい??」+チーム・会社が求めること
新卒研修後の話:ネットにあるよ
OJT
4-5月
デバッグの機能追加や、QAの補助ツール
8-11月
大きめの新規機能開発
インフラもやる chef、nginx、docker
ある程度の裁量
やりとりはGitHub+Slack
メンター以外もアドバイスできるようにする
絵文字多めにして親近感出す:高校時代のメール思い出せ
tmuxをなぜ使うか?とか
タスクのやらされてる感をなくす:説明する
無意識にやってることをきちんと学ぶ
DBのマスター/スレーブ構成
体験記:migrate中にタイムアウト
やばい 先輩焦ってる
理由:indexの時間が長かったのでwrite timeout超えた
数週間後再びmigrate→今度はいけるやろ→timeout!!??
→編集するファイルを間違えていた
prodではなくadminファイルを編集しなければならなかった
→接続情報を明示しよう
助けてもらった経験を自分もやっていきたい
→着実な成長!!
最小限で最大限:知識の底上げ
配属受け入れもスムーズになる、研修でできないことはOJT
圧倒的ではなく、着実に成長を!!
エンジニアで8人 講師3人
6日間は短かったので課題でフォローアップ
クックパッド
師:makimoto、弟:giginet
弟
会員事業部 プレミアムサービスの向上
バックエンドやモバイルアプリ
新卒研修について+クックパッドのものづくりで大切にしていること
→技術だけではなく、サービスの考え方を重視
10人、うちエンジニア4人
開発経験豊富な人が多い
エンジニアはコードを書いてるだけでは生きていけない
→農業研修(!)野菜をとった
→自動化の大切さを学んだ
→ウォーターフォールの問題を学んだ
→にんじんを売った
→エンジニアリングを学ぶ
次は営業研修
スーツ来てビジネスマナー、テレアポ、訪問営業
→4月は社会の厳しさを知る
5月以降は普通の研修
技術研修+サービス開発研修
サービス:技術的課題のクリアは前提で、「仮説と検証」
書籍「リーンスタートアップ」
「誰も欲しがらないものを作ってはいけない」→作れるかではなく、作るべきかを考えろ
思い込みの企画→イケてると思い込んでるアプリ→「誰も欲しがってくれない…」
リーンスタートアップとは、実験のように仮説検証
プロトタイピング
社内環境をよくするアプリを開発→蔵書管理アプリ
まとめ
- 社会は厳しい
- リーンスタートアップ:思い込みで作らない、数値と動くもので語る
師
研修全体の設計、総合職向けの技術研修の講師も
なぜ新卒採用をするのか?
- 企業文化の継承
- 将来の土台となる人材
- 社内に人を育てる意識や経験をもたらす
→細かいのはブログにて
総合職向け技術研修
→技術的な背景に基づいた意思決定
→共通言語
→どんな考え方でどういうキーワードで調べればいいか、がゴール
技術職向け研修
- クックパッドで活躍できるエンジニアになる
- プログラミングそのものは扱わない
- 全員情報系出身、開発経験あり
- 個人開発では経験できないことにフォーカス
- インフラ、巨大コードベース、チーム開発
- 例)rootを渡してサーバ構成調査、Sentryを見て例外調査から解決まで
サービス開発研修
エンジニア・総合職どちらも参加:クックパッドの開発フローの実践
ユーザーの課題を見つけ、それを解決する
何を作るかではなく、そもそも「何が課題か」が先行
しつこい振り返り:毎日日報、節目でKPT
社内の知り合いを増やす
2016に向けて
- さまざまなバックグラウンド
- 経験ありから研究のみまで
- スキルも趣味も多様な新人をどう伸ばしていくか
技術を学ぶ仕組み→社内で人を育てる仕組みの体系化
総合職でエンジニアになりたい人にトレーニング
夏のインターンでの講義
4月研修の意図:会社の色んな側面を知る、触れてもらう
このタイミングでしかやれないことをやろう
質問から
現在はある程度経験ある人を採用しているが、将来的にはプログラミング経験ないけど別のスキルがある人をとって研修する体制も作りたい。総合職向け技術研修はその土台とする意図もある
pixiv
資料:新卒のギーク揃ってプログラミング研修|師弟登壇2015 // Speaker Deck
師:bash0C7、弟:FromAtom
開発マネージャー、アニメイトラボの技術責任者も兼任
場作りを担う
評価制度、esaを使ったポエム
フジと番組もやってる、画廊も、岸田メル展、アイドルもやってる
ぐにゃっとした机で1チームを密着←おもしろい
100名で大部分がエンジニア ポエムを書く
新卒採用
- 腕に覚えのある学生:開発だけではなく何かに対して
- 納得度重視、必ずインターンを経る
- 現場が主導して選考
新卒研修
OJT+Off-JTは3:2 2ヶ月間
pixivを作りたい人が入ってくるが、基礎も重視
会社の理念と歴史も学ぶ
プログラミング研修
pixiv sketch
弟子であり、師匠である 僕が師弟です(!?)
新卒(エンジニア)が新卒(総合職)に教える研修
エンジニア6、総合職5
1日4時間、7日間でミニpixiv:画像投稿掲示板をつくる
4時間のうち1,2時間は講義
「ムリ」→「いけるいける」
1日目:プログラミングを始めよう
OSとは、シェル、エディタ、プログラミング irbで
2日目:GitとGitHub
郵便局メソッド 基本コマンド
GitHubでREADMEいじる
3日目:Web
Webサーバーにリクエスト、立ち上げ
Sinatra利用
4日目:DB
なぜExcelじゃだめなのか→実際の数字を使うとわかりやすい
正規化とトランザクション、SQL文
ここから個人差が出てくる-丁寧に
5日目:POSTとJavaScript
JavaとJavaScriptはメロンとメロンパンぐらい違う
6日目:セキュリティ
XSS、SQLインジェクション、ディレクトリトラバーサル
→実際にサイトを壊す エンジニアは一番楽しかった
障害時に困るのはユーザー:現場対応するエンジニアにできないことをやってほしい
社内に状況を知らせる、ユーザーに情報公開など
こだわりはじめて頑張りすぎ問題をコントロール
☆は連打したい
勉強会の提案をあっちからしてくれたり
気をつけたこと
- Macしか使わせない
- 環境構築はやっておく
- PHPは使わない
→ここで詰まってもつまらない
答えを教えない 釣り方を教える
なぜするのか?
- 新卒同士が仲良くなる
- エンジニアを敬え
もあるけど…
一緒にきもちよく仕事ができるように!!
プログラミングは難しい
エンジニアは人間じゃないのでコミュニケーションが大変
少しでもエンジニアの言葉を使えるように
俺が師弟になる!!
やはり個々の事情に合わせることが大事
→今年は比率がよかったからできた、来年は総合職多いので難しいのではないか
課題
- 頑張りすぎて通常業務に支障が出る問題
- ユーザー目線の意識が徹底できていなかったので、せっかく機能追加してもおもしろ機能とかであまり褒められなかった残念
質問から
エンジニア側でよかったこと:あいまいになっていた知識の再確認
mixi
資料:師弟登壇 2015 mixi GROUP(師匠側) // Speaker Deck
師 2年目
JavaScript研修講師:研修企画ではない
研修方針:背景
グループ会社9、サービス18
必要なスキルはさまざま→現場が教えよう
- 現場がおしえる
- 自分で育つ
内定者に行動支援金10万円支給(!!!)
計画立てる→コードレビュー並にレビュー→支給
札束に殴られて育つ
技術研修
こだわりの教材を使用:iOS Training, JS Training
講義+実践 分野ごとに講師+チューターをつける
個人で予習、復習ができるように=自分で育つ
→ドリルで育つ
仮配属:1年目は上期下期で配属先が変わる
OJT エルダーがつく
ドリルたち
分野ごとに現場の人が用意:perl/ruby/js/git
講義+テスト駆動学習
どこを見ればわかるかを重視→ドキュメントから仕様までリンク
テスト駆動学習とは
テストコードを使って問題を解いていく
テストに触る良い機会
教材はコスト?
研修資料をOSSに→「徳」を積む
うちは徳を重視しますよ、と態度を示す
教材は数年使って減価償却できると判断
おもしろさ
例えばdevtoolのインスペクタが使えないシチュエーションを作り、実践
→x-flying-sushi-monster→寿司が踊る→インスペクタで掴めない!!
上級者にも歯ごたえ
skipされたテストを外すと動くようにしておく
- 創意工夫ステージ
- 流行り廃りに左右されない技術を紹介:コア部分
- ポエムを入れる 教材作成者のモチベーション
まとめ
- 現場がおしえる
- 自分で育つ
弟 @side_tana
ノハナ配属
研修の振り返り
方針
自分でそだつ
→内定者研修
計画書作成と承認、隔月でレポートを送って内定者同士でレビュー
→全員githubを利用
目指す姿 To Be+施策 To do+スケジュール
会社の金でジムに行ったあれは僕だ
お金の使いみちが難しい→とはいえサーバー1台買えば使い切る
目標を設定してステップを組み立てていく
技術研修
講師は2年目、3年目が多い ハンズオン中心
配属後使うであろう技術に絞る
「人間は 追いつめられると コピペする」
rubyでrack middleware
jsテスト 研修資料自体が参考になったり
まとめ
- 内定者課題:内定者を東京に呼んで研修より安上がりになるかも?
- ハンズオン、自学自習できるのよかった
質問から
内定者大変では?→自分でスケジュール立てるので、忙しいときは減らすことはできる
はてな
資料:
師:shiba_yu36、弟:amagitakayosi
師
研修の考え方
エンジニアの覚えることは無限
→実践で都度身に付けるしかない
実践で自ら考える
研修はできるだけ短く:爆速で最低限
2週間後にチーム配属(!)
- はてな教科書で1週間で
- オリジナルサービスを1週間で
- 実際にチーム配属
はてな教科書
1週間で最低限のWebの技術を学ぶための教科書
最低限??言語、テスト、DB……
段階的に学ぶ:ブログサービスを作りながら積み上げ
基礎→DB→Webアプリ→JS(→モバイル)
それぞれの概念だけを学んでいって積み上げ
基礎ではオブジェクトの関係だけでブログをつくる
DB永続化はしない→概念だけを学ぶ オブジェクト指向や設計
次にDB永続化をCLIで→Webアプリ化→JS
JSON APIを使ってオートページャー
オリジナルサービス
自分で企画して作る 1週間で作って全社員の前で発表
いきなり本番コードは大きすぎる、小さいプロダクトで実践する
闇市や実績システムのアプリなど
発表:サービスをアピール、コードも突っ込まれる、セキュリティホールを探される
配属、実業務へ
挑戦してもらう→実際に動いているサービスを触る
挑戦とは?
- その人が興味があること
- 技術的に難しい課題
- エンジニアからの越境→別のこともサポート(ディレクターなど)
サポート体制
チームメンター、GHでコードレビュー
シニアエンジニア:エンジニアとしての方向性サポート
社内勉強会、技術書、合宿などなど
弟 はてなブログ
インターン→バイト→新卒
経験あるので研修省略!!→研修は最低限、即仕事へ
- 大変さ
- 責任感
- たのしい!
いきなりユーザーに価値を届けられる
座学も必要だが、いつ勉強するの?
勉強しやすい体制をつくることで対応
- 社内勉強会→週2人の当番制
- パブリックなイベントもオフィス利用OK
- 技術書購入は基本承認
- 開発合宿
- 実績システム
- 同期が優秀でむかつく!!
- ライバル!!
質問から
基本「ブログをつくる」を中心にやっている
ペパボ
デザイナー ちーちゃん@chinu_t
メンター2人、ご意見番3人
4-5月は全職種合同研修
6-8月:カラーミーショップOJT
8-10月:30days album
「誰のためのデザイン?」読書+HTML/CSS/Rails講習
「リスティング広告用バナーを自由に作れ」
自由に作る→カラーミーっぽくないのでボツに
相談の結果ストーリー仕立てにし、デザイン作成開始
→文字多すぎ、色迷走、レイアウトも苦戦
自由に作っていてもうまくいかない→デザインにはすべて意味がある
「意味のあるデザイン」とは??→試行錯誤
30dはロゴ2パターン:広告バナーはどれも縦型を採用
→なぜ?ロゴを文字として読ませないため
→意味を考えるように
サンプルアルバムページの改修
アルバム作成→合言葉で鍵
- 合言葉を使用してページを見る
- それが周知されていない
改善→合言葉を目立つ位置に、ボタンにも説明を加えた
自分で考えて、提案して、デザインをつくる
「自由に」は考えなしのことではない!!
→根拠のある提案をしよう→説得力のあるデザインができる!
エンジニア あらみそ@orzup「委員会に出会った話」
総合職2名、デザイナー2名、エンジニア6名
Web開発1人、オペレーション2人、モバイルアプリ、お産ウィーク4人、サイクルOJT
→だんだんチーム開発に近づいていく
委員会とは?→例えば学校でよくある「クラスのだしものを決める」→いつまでたっても決まらない問題
読書会
1時間の輪読を4ヶ月間やった
「ハッカーと画家」に気になるワードが: 「委員会が決めたことは、本当は気に入っていなかったとしても誰も言い出さない」
→これを笑ったのはフラグだった……
モバイルアプリ研修
「ねはん」「じょうど」2チーム
「ねはん」はstep2まで辿りつけなかった!
「なーんかうまくいかない…」空気の蔓延→決める人がいなかった
一人が顔色をうかがいはじめるとみんなが顔色をうかがいはじめる→委員会を開催していた…
お産ウィーク
1週間→発表と資料作成があるので実質4日間
なんとか2チームとも作ることができた→が、もっとうまくできたのでは?
案決定のために1日半かかってしまった→またしても委員会…
Issueで案出しまで?PRでコードレベルまでなのか?
→よくわからないままOJTへ
サイクルOJT:6サービスを1週間ごとに回り、2周する
先輩がいると委員会にならない:じっと見る
- コードを見てしゃべる
- 理由を添えてしゃべる
→当たり前のことだが、意外とできていない
委員会にならないためにはどうすれば?は結局わからなかった
→でも、先輩と自分との違いを見て、実践すれば、予防していけるのでは?
師 おっくん@hfm
研修計画
採用の延長に研修はある
→スケジュール感や、何人メンターを用意するかといったもの
→15新卒はエンジニア比率が高い
4月上旬はGMO合同研修
4月中旬〜5月末:福岡研修
→総合職は配属
→デザイナー・エンジニアはほぼ年内は個別研修
福岡:基礎研修+電話やメール対応など、CS研修をやる→つらい
研修内容
〜10月は基礎研修(読み書きソロバン)、10月〜サイクルOJT(より良いやり方を学んで実践する)
Web開発、オペレーション、モバイルアプリ、+お産ウィーク
それぞれ1ヶ月ずつ+1週間
1週間ずつ2周する→積み残しもやり直せる
Railsチュートリアルをやる- **"Web開発を"**Railsで学ぶ というサブタイトル
→見積もり立てから:1日1章はNG→あとになるほど時間かかるから
ステップバイステップ
Vagrantで動かす→Serverspec→Itamaeでコード化
Nyah(OpenStack)で構築する→ロールごとにインスタンス分割
→チームをぐるぐる変えた:自分の知らないコードを読み書き
コミュニケーション、チームでつくること重視
→モバイルアプリ開発ではそれをさらに進める:3人ずつ2チーム
→何が起こったかはあらみそ参照
→リーダー的人物がいないと崩壊する
チーム開発プロセスに学び、チームの難しさと喜びを感じる
そしてお産ウィーク 1週間
サイクルOJT
これまで同期同士→次は先輩がいるとこで
チーム開発を再重視
研修体制
教育を提供する主体は企業であって私ではない
-中原淳「企業内人材育成入門」より
→新卒研修はひとりで完遂できるものではない
→組織全体で提供する研修であることを念頭に置く
→全員で呼吸を合わせる
歴史に学ぶ エンジニアリングだけでなく、教育論、組織論などから学ぶ
人材開発、マネジメントの本
研修に共通言語を導入する→「俺はこう思う」だけではない
「いるだけで成長できる環境」
変化に柔軟に対応できることが重要→継続的に成長し続ける
「継続的に成長し続ける」ためには?→研修で「配属後の成長もサポートする」ことが重要
スタート地点からのサポート
研修をやって終わりにしてはいけない
課題
- 研修そのものの評価
- 配属後サポート
- 採用人数を増やしたときどうすればいいか(研修のスケール方法)
質問より
チーム開発の失敗からの学びや、考えて説明することの大切さなどがあったが、研修として意図していたのか?→かなり狙ってやっている
学生でチーム開発経験あるひとはほとんどいない→ほぼ必ず地雷は踏む
→現場で失敗してほしくない、研修の中で失敗してほしい