SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
大規模 Perl 初心者研修を支える技術
株式会社ディー・エヌ・エー
玉田 大輔
1
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
自己紹介
2
• 玉田 大輔 (29)
• DeNA 新卒5年目
• エンジニア
• 戦国ロワイヤル立ち上げ担当
• 2012 年春に HR に異動
新卒エンジニア採用と
中途エンジニア採用を担当
• 2013 年春 新卒エンジニア研修
Project Manager
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
どんな研修をしたか
3
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
13’ 新卒エンジニア研修生
4
• Web 開発経験豊富な新卒
• いるけどごく少数
• Web 開発経験少しある新卒
• 情報系だけど Web …はあまり
• 理系だけど情報系じゃない
• Web 開発経験ない新卒
• 文系の新卒
• C 言語の授業さえ無かった
⇒ 総勢 71 名
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
どんな風に育てたいのか
5
• 変化に対応できる
• 自分で考えて自分で解決できる
• 大きな壁を越えられる
• 主体的に技術習得できる
• 研修後も技術知識習得継続できる
• 技術以外も成長できる
• 自身の弱みを改善しつづけられる
⇒ 自走できるエンジニア
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の設計
6
• 講義だけ受けて卒業
• … …育成は現場が 大変すぎる
• ワークショップ:チーム
• Skill あるメンバのみ成長
• Skill ないメンバの成長が困難
• ワークショップ:個人
• Skill に合わせたカスタマイズ可能
• 技術以外も育成できる
⇒71 名への個別指導研修
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の基準
7
• ふつうの web engineer
• 設計: MySQL
⇒ 大規模想定の深い知識
⇒ Index, Transaction の深い知識
• 実装: Perl, OOP
CPAN⇒ モジュール普通に使える
⇒オブジェクト指向での開発スキル
• その他: Git, GitHub
• 基礎力
• 論理的思考力: MECE, ロジックツリー
• ふりかえり手法: KPT
⇒ 現場即戦力。中途採用市場で希少な ( と思う ) 基準
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の運営
8
• 体制
• @ryopeko :パーフェクト Ruby の著者
• 西野さん: SG のリードエンジニア
• その他外部講師など数名
• 会議体
• 毎日夜 1 時間振り返り MTG
• 情報共有&課題への施策検討
• 業務
• 個別指導 ( レビュー , フォローアップ )
• 施策検討と実施 ( テスト , 見える化 )
⇒ 数名の運営で 71 名を育成
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の概要
9
• 座学 ( 講義 + テスト )
• Linux, Network, MySQL, Web, Security, Git を講義 (2week)
• Perl は書籍読み独学で身に付ける
• ワークショップ
• 企画⇒設計⇒実装を一人でやりぬく
• 成功している大規模サービス想定
• 卒業は早抜け方式
• その他
• 各種ワークショップ ( スクラム , ストレス・マネジメント )
• Perl 技術テスト
企画 設計 実装
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の詳細
10
• 既にある企画書がベース
• 企画レベルで分散すると、講師にとってレビューがつらい
• 最低限必要な技術要素 (batch, daemon, ranking) 詰め込める
• オリジナル機能を提案する
• 既存企画の問題点への解決施策
• 大きな改善が期待できるもの考える
• 論理的に優先度を検討
• 各施策の重要度、コストを考える
• コストと重要度から優先度を導き出す
⇒ 優先度高い施策を論理的に立案
企画 設計 実装
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の詳細
11
• 遷移図 , DDL を作成
• 非エンジニアに共有できるレベルの遷移図つくる
• 大規模前提の DDL
• MySQL について深い理解
• 高トラフィック対応に必要な現場で得られる知識
• Cardinality, Cluster Index, Storage Engine, Range Search
• 抜け盛れない SQL, DDL を作成
• SQL 一覧作成し DDL と照合
• 高トラフィックサービスに適切な Index か網羅的に検証
⇒MySQL を深く理解した上での設計
企画 設計 実装
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の詳細
12
• オブジェクト指向での Web Application 開発
• オブジェクト指向の理解が一番の難関
• 現場ではなく研修にて OOP で理想的なコードとは何か学ぶ
• 高トラフィック , レプリケーション遅延も対応
• トランザクション , Gap/Next Key/Record Lock
• Share/Exclusive Lock, レプリ遅延わざと起こして検証
• チーム開発を意識した情報整理 / 一貫性のあるコード
• オレオレコード撲滅 , MVC, 読みやすい変数、関数
• 自身の開発領域、チーム共通利用領域など役割わけ
⇒ 実装しながら理想的なコードとは何か理解
企画 設計 実装
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修の詳細:その他
13
• 技術力確認テスト: Perl
• 筆記テスト ( 何も見ちゃだめ )
• 技術知識の定着度確認
• スクラムワークショップ
• 認定スクラムマスターに依頼
• チームワークについて学ぶ
• ストレスマネジメント研修
• 臨床心理士に依頼
• Sys 障害にどう向き合うか学ぶ
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
大規模により得たモノ
14
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
人大杉で起きた問題
15
• 顔と名前が一致せず、状況把握も大変
• 似たような顔 ( メガネ多い ) や名前 (We have four Suzuki …)
• 各人の進捗、評価、問題点を全て把握する必要
• 講師間での意思疎通も大変
• 講師がバラバラに動いてしまう可能性高い
• 研修生だけじゃなく他の講師が何やってるかも把握すべき
• 全員と深い信頼関係を築くのも大変
• 一人ひとりと話す頻度は低下してしまう
• 潜在的な課題 , 不満の抽出も難しい
⇒ マネジメントうまくやらないと大失敗に
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution :顔と名前一致せず
16
• 顔と名前のリストを作成
• 入社時の写真で作成
• 講師全員に印刷して配布
• 鈴木は姓で呼ばず , 名で呼んだ
• 意識的にコミュニケーション
• リストをチラ見して話しかける
• 一致しない人をレビューするように
• 知ったかぶりをする
• 名前呼ばずにコミュニケーション
• あとでリスト見て思い出す
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution:71 人の状況把握が大変
17
• Google Docs で見える化
• 研修生に進捗を書いてもらう
• 研修生に日報 , 週報でまとめてもらう
• 講師はレビュー結果を毎日まとめる
• 研修生の卒業予測つくった
• 徹底的に見える化
• 記録残せるものは徹底的に残す
• どうやるか考えて作ってみる
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution: 講師の意思疎通大変
18
• 毎日 1 時間の振り返り MTG
• 講師全員集まり 1 日の振り返り
• レビュー結果を全員で共有
• KPI 等見て進捗確認
• 全員で PDCA サイクルまわしてた
• By-name で情報共有し続けた
• 基準のすりあわせ
• 講師毎の差が出てしまうのは許容
• 大きな Point のみコンセンサスとった
• 現場エンジニアに基準を合わせた
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution: 信頼関係築くの大変
19
• ランチ , 飲み会等で frank に話す
• 本音聞ける:飲み会 >> ランチ
• 飲み会頻度増やす工夫した
• 回数多くできるように低コストで
• ぶらりと席近くに行って雑談も良い
• レビューでしっかりぶつかる
• ぶつかり合えば信頼関係できてくる
• 研修生に尊敬されることは大事
• ちゃんと叱り , 励ますこと
• “ ” ” ”人前 で褒め、 個別 に叱ること
• 叱咤激励により急成長した人多かった
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
人大杉だから良かったこと
20
• 急成長メンバーが複数名でてくる
• 急成長の秘密を同期から盗める
• 横展開を容易にできる
• 同じ問題抱えるメンバも複数名でてくる
• 誰か改善すれば他のメンバも改善できる ( マインド含めて )
• 少数で試して全展開できる
• データ比較することで傾向や平均を導出できる
• 各 Phase の進捗から卒業予想を見積もりできる
• KPI 管理して施策検討&実施することができる
⇒ 様々な成長を観測し、共有することができた
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
規模関係なしに得たモノ
21
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
規模に依存しない , 起きた問題
22
• オブジェクト指向を理解させるのは大変
• 大きな壁すぎて去年までは見送っていた
• 基本的なプログラミングの理解ないと厳しい
• 完全未経験の新卒をエンジニアにすることは超大変
• 技術だけ教えてもダメ
• マインド , 仕事の進め方も身につけないとできない
• 主体性のないヒトは更に難しいと思う
• 研修生の意識を変えること
• 言い訳しがちな研修生やっぱいる⇒外部環境に左右
• 学生気分からの脱却⇒作業者マインドから抜け出す
⇒ 技術、仕事力、マインドの全てを注入する必要
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution:OOP の教育は大変
23
• Sample を参考にして
オブジェクト指向を学ばせる
• OOP な WAF 使うと教えやすい
• SQL::Maker など読んでもらった
• 継承元となる Sample つくった
• 必要なものはオーバーライドさせた
• 技術テスト (Perl) で理解度確認
• チェックポイントとして確認
• 研修生が解説して理解度高めた
• 勉強会を主催してもらった
• SQL::Maker 等の CPAN を読む会
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution: 未経験者の育成大変
24
• 基礎 Skill 向上のきっかけつくる
• MECE, KPT, タスク管理を指導
• 面談で研修生の弱みを指摘
• フォローアップで個別ケア
• 成長加速する方法を講師と考える
• 自己分析して KPT しっかりとやる
• レビューだけでは見えない点育成
• 優秀な同期から盗ませる
• 急成長の同期から聞き出してもらう
• 他研修生の日報 , 週報から学ぶ
• ギャップを埋めるように改善を実施
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
Solution: 意識面での育成大変
25
• 経営目線に触れてもらう
• 取締役の小林さんなどに依頼
• 意識面でよい刺激をもらった
• フォローアップで個別ケア
• 環境次第で performance 違うの残念
• 言い訳は成長阻害の最大の原因
• 自身を客観的に観測してもらう
• セルフモチベーションコントロール
• 学生気分脱却できるようサポート
• 本当に成長する人は目の色が違った
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
規模に依存しない , 良かった事①
26
• フォローアップで成長加速をサポートしたこと
• 研修生が自身の weak point を克服する手助けとなった
• どうやったら底上げできるか、ノウハウがたまった
• 研修生に手をあげてもらい、積極的に任せたこと
• 主体的に同期を巻き込んで活動するきっかけをつくれた
• マルチタスクやチームワークなども経験できた
• 研修生自身でのふりかえり手法を早期から共有したこと
• 早期から自身を観測し改善しつづけるクセをつけることできた
• 振り返り上手い研修生はやはり急成長できた
⇒ 意識、仕事力の向上を手助けできた
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
規模に依存しない , 良かった事②
27
• 現場の技術志向高いメンバが技術基準を決めたこと
• 現場で即戦力となる技術知識に集中して教えることができた
• 参考となる書籍 , CPAN を教えたこと
• 書籍購入や CPAN 読むハードルを下げることができた
• GitHub 活用してレビュー等進めたこと
• GitHub ネイティブな初の研修生で現場からの評判良い
• 技術テスト (Perl) を実施したこと
• 進捗とは別軸で公正に定量的に評価できた
• 研修生が主体的に解説し , 抑える点を主体的に学んでもらえた
⇒ 技術 Skill の向上を手助けできた
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修生に聞いてみた
28
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
アンケートとりました
29
• どんな書籍がどう参考になったか
• 書籍、 Web などが対象
• どう利用したか、感想なども教えて
• 苦労した Point と Solution は?
• どこで心が折れそうになったか
• どうやって克服したのか
• 初心者たちへ伝えたいことは?
• Web Engineer 目指す初心者たちへ
• アドバイスをもらいました
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった書籍
30
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Perl 書籍 Ranking
31
• 6th
. CPAN モジュール ( 書籍じゃないですが )
• Class::Data::Inheritable( 難しい ),SQL::Maker( 読み易い ) が評判
• 読むために必要な知識を得る過程が良い
• 色々な要素詰まっており、初心者脱出に最適
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Perl 書籍 Ranking
32
• 5th
. モダン perl 入門 ( 牧 大輔さん著作 )
• “ ”デザインパターン , “ ”テスト の章が特に評価高い
• Moose, Catalyst, 他 CPAN 使う前提なので中級者以上向け
• 2013 年 10 月に電子版 , 2014 年 1 月に発売予定
• 半分以上書き直されたそうなので、ぜひ買いなおしましょう !!
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Perl 書籍 Ranking
33
• 4th
. すぐわかるオブジェクト指向 Perl
• 非常に丁寧な解説で本当にすぐ分かると評判
• Perl でのオブジェクト指向実装方法を学びやすい ( 続 Perl よりも )
• オブジェクト指向の概念や必要性は別書籍で学ぶと良い
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Perl 書籍 Ranking
34
• 3rd
. Perl ベストプラクティス
• 自由度高い Perl ” ”で こうあるべき という可読性高い書き方学べる
• 基礎的なコーディングできるようになってから読むと良い
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Perl 書籍 Ranking
35
• 2nd
. 独習 Perl
• プログラミング未経験者には最も手をつけやすい
• 他言語でのプログラミング経験者にとっては物足りない
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Perl 書籍 Ranking
36
• 1st
. 初めての Perl, 続・初めての Perl
• 仕様についての情報の正確さ , 網羅率が支持された
• 練習問題が充実しており、しっかり解けば力がつきやすい
• 翻訳読み難い , プログラミング未経験者には難易度高い
• 続 Perl ” ”で リファレンス は良い ,” ”オブジェクト指向 はわかりにくい
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった MySQL 書籍 Ranking
37
• 5th
. エキスパートのための MySQL[ 運用 + 管理 ]
トラブルシューティングガイド
• 第 3 章 5 に InnoDB のロックモニタとロックモードに関してすご
く詳細に書かれているのでトランザクションの挙動を追いかける
ときに役に立った
• データの断片化がどう起こるのかが非常にわかりやすかった。
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった MySQL 書籍 Ranking
38
• 4th
. Web エンジニアのためのデータベース技術 [ 実践 ] 入門
• どうやって大規模 DB 設計するのか基礎を学ぶことができた
• 正規化 / 非正規化の話がかなりためになりました。
• WebApp で , どの程度のアクセスが見込まれ , 許容できるのかを知る上
で、非常に助かりました。
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった MySQL 書籍 Ranking
39
• 3rd
. 漢のコンピューター道 (Blog)
• Web なのに信頼できる。深い内容がわかりやすくまとまっている
• ココで構造的な理解の後、公式リファレンス使うと良い
• 本質的な理解をするためにとても役に立った
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった MySQL 書籍 Ranking
40
• 2nd
. MySQL 5.1 リファレンスマニュアル ( 公式 )
• Index 走査や Lock 取得など詳細がわかる。概要分かった後に使う
• 日本語読みにくいので英語版の方がオススメ
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった MySQL 書籍 Ranking
41
• 1st
. 実践ハイパフォーマンス MySQL 第 2 版
• 大半の研修生が購入して参考にしていた書籍
• 3 章の Index についての解説が特に読むべきところ
• 内部構造や内部処理を詳細に理解することができる
• 必要な章だけ読むべき , 公式リファレンスも合わせて読むべき
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Git 書籍 Ranking
42
• 3rd
. Git によるバージョン管理
• 各コマンドをどのような場面で使うのかを理解できる
• 具体例がわかりやすい
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Git 書籍 Ranking
43
• 2nd
. Git ポケットリファレンス
• 分からないコマンドがあったときに調べることができる
• プルリクエストの図がみやすい
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になった Git 書籍 Ranking
44
• 1st
. こわくない Git (Slide Share)
• とにかく分かりやすいと評判
• Git の概念を初めの一歩としてみるのに良い
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になったその他書籍 Ranking
45
• 4th
. Vim テクニックバイブル
• vim で作業効率を上げたい人にはおすすめ
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になったその他書籍 Ranking
46
• 3rd
. 体系的に学ぶ安全な Web アプリケーションの作り方
• 古典的・代表的なセキュリティバグとその対策を(おそらく)網羅的に
、理論と実践の両輪から筋道立てて丁寧に解説した良著
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になったその他書籍 Ranking
47
• 2nd
. – デザインパターンとともに学ぶ - オブジェクト指向のこころ
• 最初の 30 ページほどにオブジェクト指向の真髄が詰まっている
• この本 ( の 1 章 ) でオブジェクト指向の概念学び , 他を読めば良い
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
参考になったその他書籍 Ranking
48
• 1st
. リーダブルコード
• 「動けばいいコード」から脱却する学習時間対効果の高い本
• 良いコード , 悪いコードの基準を学べた
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
苦労した Point と Solution
49
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
苦労した Point と Solution
50
• 3rd
. 綺麗なコードを書けない
• リーダブルコードで得られた知識を実践した研修生多数
• 全体設計を考え、オブジェクトとメソッドをモックで作る。
その上で既存モジュールで流用できる場所を考える。
• 知識より各機能をどう分類、階層化、共通化するかが大事。
自分なりの思考整理術を身につけておく事がオススメ。
• 4th
. Web の情報が正しくない , 質も悪い
• ブログは参考程度に。“これ本当?”と思いながら、 perldoc や
公式リファレンス、書籍等で裏を取るようになった。
• MySQL の Lock 周りが公式でも信用出来ないので苦労している。
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
苦労した Point と Solution
51
• 1st
. オブジェクト指向を理解できない
• 理解深い同期と飲んで「オブジェクト指向って何なのか」を朝
まで語り合った。それにより概念的な理解が進んだ。
• 「オブジェクト指向のこころ」を読み、自分の実装と照らし合
わせる事で、オブジェクト指向の感覚をつかむ事ができた。
• 実装機能を「何をどうする(動詞+目的語)」と書き出して、
オブジェクトとして実装すべきもの / どう使うかを整理した。
• 2nd
. Web Application Framework を把握できない
• リクエストからレスポンスまでを追って地道に解決していった
• 巨大な敵にそのまま立ち向かうのでなく、一つ一つの機能ベー
スで理解して、着々と進めていった
• 型グロブやコードレフなど、見たことのないコードが多かった
ので、ググりながらその機能を自分で試すことで理解した
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
初心者へ伝えたいこと
52
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
初心者へ伝えたいこと
53
• 3rd
. 知識を人に晒してインプットを得ろ
• コードを積極的に人に見せてディスってもらうと刺激になるし、ブ
ログなどで技術知識をまとめるといいプレッシャーになる。
• 勉強会を主催するとプレッシャーにより学習濃度がとても高まる。
観覧者も発言すると大きく学びの幅が変わると思います。
• 相当な理解がないと人に教えることは出来ない。最初から「人に教
えられる」というレベル感で学び、定着させると良い
• 4th
. 信頼できるエンジニアからのサジェストを活用しろ
• 講師、先輩からサジェストされる情報、技術は非常に有用。
• 自信の無い人は先輩などにアドバイスをもらってみると良い。
• 自分より少し上くらいの技術力の同期と仲良くなるとよさそう。
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
初心者へ伝えたいこと
54
• 1st
. 不確実な Web の情報に迷わされるな ( 大多数の意見 )
• 信頼できる順:実験 > 公式 > 書籍 >>>>>>>>> Web
• 本当にブログの記事は信用ならない事は痛感しました。
• Web 上で情報を探すより本を買った方が最終的に早い。
• 書籍で基本をマスターし、詳細は公式ドキュメントで学ぶべき。
• 2nd
. 実際にコードを書いて試すとよい
• 公式と書籍にプラスして実験。いつ壊れても良い仮想マシンを常備して
、気になることは即実験する。わからないことや危険なことを躊躇する
ことなく試す。
• 悩んでも分からない事は多いので、実際試す事が非常に大事。
• 公式ドキュメントより、実践する方が何倍も知識が得られた。
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修した結果
55
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
研修した結果
56
• 研修中に大きな壁を乗り越えた
• 2014 年 2 月卒業予想⇒ 9 月卒業と巻き返した新卒も
• 自身の強みと弱みを理解して、弱みを克服できるように
• 本当に自走できるエンジニアとなった
• 新卒たちで様々な勉強会を主催するように
• BBQ, 屋形船 , YAPC 幕間 CM, Perl テスト解説など手をあげて担当
• 書籍や公式 Web などから高度な技術知識を自分で得られるように
• 技術以外でも大きな成長をしてくれた
• ロジカルシンキング等の基礎力が大きく向上した新卒も
• みんなの手本になる大きな成長をし、同期に還元してくれた
⇒ 期待以上の成長をしてくれた
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
さいごに
57
Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved.
さいごに
58
• ヒトに focus して良かった
• 見違えるように急成長した研修生が多数いた
• 個別に watch しつつ , 早期発見 , 早期対応することが大事
• 現場エンジニアと共に研修フルコミットしたのも良かっ
た
• 理想的な Web 開発とは何か研修で知ることができた
• 現場と研修の差異を極力無くすことができた
• 「自走できるエンジニア」が目的で良かった
• どんな現場 , 環境に配属されても成長していける ( 実例も )
• 良い意味で期待を裏切って成長した研修生多数いた

Weitere ähnliche Inhalte

Was ist angesagt?

SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介JustSystems Corporation
 
ふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかたふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかたYoshitaka Kawashima
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なことアプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なことTakao Sumitomo
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveTokoroten Nakayama
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考えるryuz88
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」Recruit Technologies
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るTakeru Maehara
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールdcubeio
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門Yoshimura Soichiro
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 

Was ist angesagt? (20)

SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
 
ふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかたふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかた
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なことアプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考える
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 

Andere mochten auch

Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!Yasuyuki Sugitani
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発するHiroyuki Kusu
 
Maglica - A Simple Internal Cloud Tool at #techkayac
Maglica - A Simple Internal Cloud Tool at #techkayacMaglica - A Simple Internal Cloud Tool at #techkayac
Maglica - A Simple Internal Cloud Tool at #techkayacGosuke Miyashita
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~Yuki Hirano
 
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術div Inc
 
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannelmganeko
 
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)Kazuo Murakami
 
人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのかYamaura Kiyoto
 
Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Junichi Okamura
 
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまでShuichi Tsutsumi
 
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術Isamu Suzuki
 
KPTの基本と、その活用法
KPTの基本と、その活用法KPTの基本と、その活用法
KPTの基本と、その活用法ESM SEC
 
元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。takako onoue
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンスLivesense Inc.
 

Andere mochten auch (15)

Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
 
Maglica - A Simple Internal Cloud Tool at #techkayac
Maglica - A Simple Internal Cloud Tool at #techkayacMaglica - A Simple Internal Cloud Tool at #techkayac
Maglica - A Simple Internal Cloud Tool at #techkayac
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
 
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
 
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
 
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
 
人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか
 
Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112
 
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
 
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
 
KPTの基本と、その活用法
KPTの基本と、その活用法KPTの基本と、その活用法
KPTの基本と、その活用法
 
元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス
 

Ähnlich wie 大規模Perl初心者研修を支える技術

オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11Katsuhiro Morishita
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)Masayuki Kanou
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_opsume3_
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - Makoto SAKAI
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンスGuildWorks
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス増田 亨
 
20130603 aspnet勉強会 実践的debugging
20130603 aspnet勉強会 実践的debugging20130603 aspnet勉強会 実践的debugging
20130603 aspnet勉強会 実践的debuggingkumake
 
アーキテクト養成講座「入門編」
アーキテクト養成講座「入門編」アーキテクト養成講座「入門編」
アーキテクト養成講座「入門編」takemi_orita
 
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205leverages_event
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Cloudera Japan
 
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Preferred Networks
 
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]David Buck
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 
ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表shingo suzuki
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introductionMasahito Zembutsu
 
DataEngConf NYC’18 セッションサマリー #2
DataEngConf NYC’18 セッションサマリー #2DataEngConf NYC’18 セッションサマリー #2
DataEngConf NYC’18 セッションサマリー #2gree_tech
 

Ähnlich wie 大規模Perl初心者研修を支える技術 (20)

オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
20130603 aspnet勉強会 実践的debugging
20130603 aspnet勉強会 実践的debugging20130603 aspnet勉強会 実践的debugging
20130603 aspnet勉強会 実践的debugging
 
20180717 grid
20180717 grid20180717 grid
20180717 grid
 
アーキテクト養成講座「入門編」
アーキテクト養成講座「入門編」アーキテクト養成講座「入門編」
アーキテクト養成講座「入門編」
 
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014
 
Kaleidox
KaleidoxKaleidox
Kaleidox
 
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
 
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
 
DataEngConf NYC’18 セッションサマリー #2
DataEngConf NYC’18 セッションサマリー #2DataEngConf NYC’18 セッションサマリー #2
DataEngConf NYC’18 セッションサマリー #2
 

Kürzlich hochgeladen

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 

Kürzlich hochgeladen (6)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 

大規模Perl初心者研修を支える技術

  • 1. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 大規模 Perl 初心者研修を支える技術 株式会社ディー・エヌ・エー 玉田 大輔 1
  • 2. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 自己紹介 2 • 玉田 大輔 (29) • DeNA 新卒5年目 • エンジニア • 戦国ロワイヤル立ち上げ担当 • 2012 年春に HR に異動 新卒エンジニア採用と 中途エンジニア採用を担当 • 2013 年春 新卒エンジニア研修 Project Manager
  • 3. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. どんな研修をしたか 3
  • 4. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 13’ 新卒エンジニア研修生 4 • Web 開発経験豊富な新卒 • いるけどごく少数 • Web 開発経験少しある新卒 • 情報系だけど Web …はあまり • 理系だけど情報系じゃない • Web 開発経験ない新卒 • 文系の新卒 • C 言語の授業さえ無かった ⇒ 総勢 71 名
  • 5. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. どんな風に育てたいのか 5 • 変化に対応できる • 自分で考えて自分で解決できる • 大きな壁を越えられる • 主体的に技術習得できる • 研修後も技術知識習得継続できる • 技術以外も成長できる • 自身の弱みを改善しつづけられる ⇒ 自走できるエンジニア
  • 6. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の設計 6 • 講義だけ受けて卒業 • … …育成は現場が 大変すぎる • ワークショップ:チーム • Skill あるメンバのみ成長 • Skill ないメンバの成長が困難 • ワークショップ:個人 • Skill に合わせたカスタマイズ可能 • 技術以外も育成できる ⇒71 名への個別指導研修
  • 7. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の基準 7 • ふつうの web engineer • 設計: MySQL ⇒ 大規模想定の深い知識 ⇒ Index, Transaction の深い知識 • 実装: Perl, OOP CPAN⇒ モジュール普通に使える ⇒オブジェクト指向での開発スキル • その他: Git, GitHub • 基礎力 • 論理的思考力: MECE, ロジックツリー • ふりかえり手法: KPT ⇒ 現場即戦力。中途採用市場で希少な ( と思う ) 基準
  • 8. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の運営 8 • 体制 • @ryopeko :パーフェクト Ruby の著者 • 西野さん: SG のリードエンジニア • その他外部講師など数名 • 会議体 • 毎日夜 1 時間振り返り MTG • 情報共有&課題への施策検討 • 業務 • 個別指導 ( レビュー , フォローアップ ) • 施策検討と実施 ( テスト , 見える化 ) ⇒ 数名の運営で 71 名を育成
  • 9. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の概要 9 • 座学 ( 講義 + テスト ) • Linux, Network, MySQL, Web, Security, Git を講義 (2week) • Perl は書籍読み独学で身に付ける • ワークショップ • 企画⇒設計⇒実装を一人でやりぬく • 成功している大規模サービス想定 • 卒業は早抜け方式 • その他 • 各種ワークショップ ( スクラム , ストレス・マネジメント ) • Perl 技術テスト 企画 設計 実装
  • 10. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の詳細 10 • 既にある企画書がベース • 企画レベルで分散すると、講師にとってレビューがつらい • 最低限必要な技術要素 (batch, daemon, ranking) 詰め込める • オリジナル機能を提案する • 既存企画の問題点への解決施策 • 大きな改善が期待できるもの考える • 論理的に優先度を検討 • 各施策の重要度、コストを考える • コストと重要度から優先度を導き出す ⇒ 優先度高い施策を論理的に立案 企画 設計 実装
  • 11. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の詳細 11 • 遷移図 , DDL を作成 • 非エンジニアに共有できるレベルの遷移図つくる • 大規模前提の DDL • MySQL について深い理解 • 高トラフィック対応に必要な現場で得られる知識 • Cardinality, Cluster Index, Storage Engine, Range Search • 抜け盛れない SQL, DDL を作成 • SQL 一覧作成し DDL と照合 • 高トラフィックサービスに適切な Index か網羅的に検証 ⇒MySQL を深く理解した上での設計 企画 設計 実装
  • 12. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の詳細 12 • オブジェクト指向での Web Application 開発 • オブジェクト指向の理解が一番の難関 • 現場ではなく研修にて OOP で理想的なコードとは何か学ぶ • 高トラフィック , レプリケーション遅延も対応 • トランザクション , Gap/Next Key/Record Lock • Share/Exclusive Lock, レプリ遅延わざと起こして検証 • チーム開発を意識した情報整理 / 一貫性のあるコード • オレオレコード撲滅 , MVC, 読みやすい変数、関数 • 自身の開発領域、チーム共通利用領域など役割わけ ⇒ 実装しながら理想的なコードとは何か理解 企画 設計 実装
  • 13. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修の詳細:その他 13 • 技術力確認テスト: Perl • 筆記テスト ( 何も見ちゃだめ ) • 技術知識の定着度確認 • スクラムワークショップ • 認定スクラムマスターに依頼 • チームワークについて学ぶ • ストレスマネジメント研修 • 臨床心理士に依頼 • Sys 障害にどう向き合うか学ぶ
  • 14. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 大規模により得たモノ 14
  • 15. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 人大杉で起きた問題 15 • 顔と名前が一致せず、状況把握も大変 • 似たような顔 ( メガネ多い ) や名前 (We have four Suzuki …) • 各人の進捗、評価、問題点を全て把握する必要 • 講師間での意思疎通も大変 • 講師がバラバラに動いてしまう可能性高い • 研修生だけじゃなく他の講師が何やってるかも把握すべき • 全員と深い信頼関係を築くのも大変 • 一人ひとりと話す頻度は低下してしまう • 潜在的な課題 , 不満の抽出も難しい ⇒ マネジメントうまくやらないと大失敗に
  • 16. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution :顔と名前一致せず 16 • 顔と名前のリストを作成 • 入社時の写真で作成 • 講師全員に印刷して配布 • 鈴木は姓で呼ばず , 名で呼んだ • 意識的にコミュニケーション • リストをチラ見して話しかける • 一致しない人をレビューするように • 知ったかぶりをする • 名前呼ばずにコミュニケーション • あとでリスト見て思い出す
  • 17. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution:71 人の状況把握が大変 17 • Google Docs で見える化 • 研修生に進捗を書いてもらう • 研修生に日報 , 週報でまとめてもらう • 講師はレビュー結果を毎日まとめる • 研修生の卒業予測つくった • 徹底的に見える化 • 記録残せるものは徹底的に残す • どうやるか考えて作ってみる
  • 18. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution: 講師の意思疎通大変 18 • 毎日 1 時間の振り返り MTG • 講師全員集まり 1 日の振り返り • レビュー結果を全員で共有 • KPI 等見て進捗確認 • 全員で PDCA サイクルまわしてた • By-name で情報共有し続けた • 基準のすりあわせ • 講師毎の差が出てしまうのは許容 • 大きな Point のみコンセンサスとった • 現場エンジニアに基準を合わせた
  • 19. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution: 信頼関係築くの大変 19 • ランチ , 飲み会等で frank に話す • 本音聞ける:飲み会 >> ランチ • 飲み会頻度増やす工夫した • 回数多くできるように低コストで • ぶらりと席近くに行って雑談も良い • レビューでしっかりぶつかる • ぶつかり合えば信頼関係できてくる • 研修生に尊敬されることは大事 • ちゃんと叱り , 励ますこと • “ ” ” ”人前 で褒め、 個別 に叱ること • 叱咤激励により急成長した人多かった
  • 20. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 人大杉だから良かったこと 20 • 急成長メンバーが複数名でてくる • 急成長の秘密を同期から盗める • 横展開を容易にできる • 同じ問題抱えるメンバも複数名でてくる • 誰か改善すれば他のメンバも改善できる ( マインド含めて ) • 少数で試して全展開できる • データ比較することで傾向や平均を導出できる • 各 Phase の進捗から卒業予想を見積もりできる • KPI 管理して施策検討&実施することができる ⇒ 様々な成長を観測し、共有することができた
  • 21. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 規模関係なしに得たモノ 21
  • 22. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 規模に依存しない , 起きた問題 22 • オブジェクト指向を理解させるのは大変 • 大きな壁すぎて去年までは見送っていた • 基本的なプログラミングの理解ないと厳しい • 完全未経験の新卒をエンジニアにすることは超大変 • 技術だけ教えてもダメ • マインド , 仕事の進め方も身につけないとできない • 主体性のないヒトは更に難しいと思う • 研修生の意識を変えること • 言い訳しがちな研修生やっぱいる⇒外部環境に左右 • 学生気分からの脱却⇒作業者マインドから抜け出す ⇒ 技術、仕事力、マインドの全てを注入する必要
  • 23. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution:OOP の教育は大変 23 • Sample を参考にして オブジェクト指向を学ばせる • OOP な WAF 使うと教えやすい • SQL::Maker など読んでもらった • 継承元となる Sample つくった • 必要なものはオーバーライドさせた • 技術テスト (Perl) で理解度確認 • チェックポイントとして確認 • 研修生が解説して理解度高めた • 勉強会を主催してもらった • SQL::Maker 等の CPAN を読む会
  • 24. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution: 未経験者の育成大変 24 • 基礎 Skill 向上のきっかけつくる • MECE, KPT, タスク管理を指導 • 面談で研修生の弱みを指摘 • フォローアップで個別ケア • 成長加速する方法を講師と考える • 自己分析して KPT しっかりとやる • レビューだけでは見えない点育成 • 優秀な同期から盗ませる • 急成長の同期から聞き出してもらう • 他研修生の日報 , 週報から学ぶ • ギャップを埋めるように改善を実施
  • 25. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. Solution: 意識面での育成大変 25 • 経営目線に触れてもらう • 取締役の小林さんなどに依頼 • 意識面でよい刺激をもらった • フォローアップで個別ケア • 環境次第で performance 違うの残念 • 言い訳は成長阻害の最大の原因 • 自身を客観的に観測してもらう • セルフモチベーションコントロール • 学生気分脱却できるようサポート • 本当に成長する人は目の色が違った
  • 26. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 規模に依存しない , 良かった事① 26 • フォローアップで成長加速をサポートしたこと • 研修生が自身の weak point を克服する手助けとなった • どうやったら底上げできるか、ノウハウがたまった • 研修生に手をあげてもらい、積極的に任せたこと • 主体的に同期を巻き込んで活動するきっかけをつくれた • マルチタスクやチームワークなども経験できた • 研修生自身でのふりかえり手法を早期から共有したこと • 早期から自身を観測し改善しつづけるクセをつけることできた • 振り返り上手い研修生はやはり急成長できた ⇒ 意識、仕事力の向上を手助けできた
  • 27. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 規模に依存しない , 良かった事② 27 • 現場の技術志向高いメンバが技術基準を決めたこと • 現場で即戦力となる技術知識に集中して教えることができた • 参考となる書籍 , CPAN を教えたこと • 書籍購入や CPAN 読むハードルを下げることができた • GitHub 活用してレビュー等進めたこと • GitHub ネイティブな初の研修生で現場からの評判良い • 技術テスト (Perl) を実施したこと • 進捗とは別軸で公正に定量的に評価できた • 研修生が主体的に解説し , 抑える点を主体的に学んでもらえた ⇒ 技術 Skill の向上を手助けできた
  • 28. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修生に聞いてみた 28
  • 29. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. アンケートとりました 29 • どんな書籍がどう参考になったか • 書籍、 Web などが対象 • どう利用したか、感想なども教えて • 苦労した Point と Solution は? • どこで心が折れそうになったか • どうやって克服したのか • 初心者たちへ伝えたいことは? • Web Engineer 目指す初心者たちへ • アドバイスをもらいました
  • 30. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった書籍 30
  • 31. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Perl 書籍 Ranking 31 • 6th . CPAN モジュール ( 書籍じゃないですが ) • Class::Data::Inheritable( 難しい ),SQL::Maker( 読み易い ) が評判 • 読むために必要な知識を得る過程が良い • 色々な要素詰まっており、初心者脱出に最適
  • 32. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Perl 書籍 Ranking 32 • 5th . モダン perl 入門 ( 牧 大輔さん著作 ) • “ ”デザインパターン , “ ”テスト の章が特に評価高い • Moose, Catalyst, 他 CPAN 使う前提なので中級者以上向け • 2013 年 10 月に電子版 , 2014 年 1 月に発売予定 • 半分以上書き直されたそうなので、ぜひ買いなおしましょう !!
  • 33. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Perl 書籍 Ranking 33 • 4th . すぐわかるオブジェクト指向 Perl • 非常に丁寧な解説で本当にすぐ分かると評判 • Perl でのオブジェクト指向実装方法を学びやすい ( 続 Perl よりも ) • オブジェクト指向の概念や必要性は別書籍で学ぶと良い
  • 34. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Perl 書籍 Ranking 34 • 3rd . Perl ベストプラクティス • 自由度高い Perl ” ”で こうあるべき という可読性高い書き方学べる • 基礎的なコーディングできるようになってから読むと良い
  • 35. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Perl 書籍 Ranking 35 • 2nd . 独習 Perl • プログラミング未経験者には最も手をつけやすい • 他言語でのプログラミング経験者にとっては物足りない
  • 36. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Perl 書籍 Ranking 36 • 1st . 初めての Perl, 続・初めての Perl • 仕様についての情報の正確さ , 網羅率が支持された • 練習問題が充実しており、しっかり解けば力がつきやすい • 翻訳読み難い , プログラミング未経験者には難易度高い • 続 Perl ” ”で リファレンス は良い ,” ”オブジェクト指向 はわかりにくい
  • 37. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった MySQL 書籍 Ranking 37 • 5th . エキスパートのための MySQL[ 運用 + 管理 ] トラブルシューティングガイド • 第 3 章 5 に InnoDB のロックモニタとロックモードに関してすご く詳細に書かれているのでトランザクションの挙動を追いかける ときに役に立った • データの断片化がどう起こるのかが非常にわかりやすかった。
  • 38. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった MySQL 書籍 Ranking 38 • 4th . Web エンジニアのためのデータベース技術 [ 実践 ] 入門 • どうやって大規模 DB 設計するのか基礎を学ぶことができた • 正規化 / 非正規化の話がかなりためになりました。 • WebApp で , どの程度のアクセスが見込まれ , 許容できるのかを知る上 で、非常に助かりました。
  • 39. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった MySQL 書籍 Ranking 39 • 3rd . 漢のコンピューター道 (Blog) • Web なのに信頼できる。深い内容がわかりやすくまとまっている • ココで構造的な理解の後、公式リファレンス使うと良い • 本質的な理解をするためにとても役に立った
  • 40. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった MySQL 書籍 Ranking 40 • 2nd . MySQL 5.1 リファレンスマニュアル ( 公式 ) • Index 走査や Lock 取得など詳細がわかる。概要分かった後に使う • 日本語読みにくいので英語版の方がオススメ
  • 41. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった MySQL 書籍 Ranking 41 • 1st . 実践ハイパフォーマンス MySQL 第 2 版 • 大半の研修生が購入して参考にしていた書籍 • 3 章の Index についての解説が特に読むべきところ • 内部構造や内部処理を詳細に理解することができる • 必要な章だけ読むべき , 公式リファレンスも合わせて読むべき
  • 42. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Git 書籍 Ranking 42 • 3rd . Git によるバージョン管理 • 各コマンドをどのような場面で使うのかを理解できる • 具体例がわかりやすい
  • 43. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Git 書籍 Ranking 43 • 2nd . Git ポケットリファレンス • 分からないコマンドがあったときに調べることができる • プルリクエストの図がみやすい
  • 44. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になった Git 書籍 Ranking 44 • 1st . こわくない Git (Slide Share) • とにかく分かりやすいと評判 • Git の概念を初めの一歩としてみるのに良い
  • 45. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になったその他書籍 Ranking 45 • 4th . Vim テクニックバイブル • vim で作業効率を上げたい人にはおすすめ
  • 46. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になったその他書籍 Ranking 46 • 3rd . 体系的に学ぶ安全な Web アプリケーションの作り方 • 古典的・代表的なセキュリティバグとその対策を(おそらく)網羅的に 、理論と実践の両輪から筋道立てて丁寧に解説した良著
  • 47. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になったその他書籍 Ranking 47 • 2nd . – デザインパターンとともに学ぶ - オブジェクト指向のこころ • 最初の 30 ページほどにオブジェクト指向の真髄が詰まっている • この本 ( の 1 章 ) でオブジェクト指向の概念学び , 他を読めば良い
  • 48. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 参考になったその他書籍 Ranking 48 • 1st . リーダブルコード • 「動けばいいコード」から脱却する学習時間対効果の高い本 • 良いコード , 悪いコードの基準を学べた
  • 49. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 苦労した Point と Solution 49
  • 50. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 苦労した Point と Solution 50 • 3rd . 綺麗なコードを書けない • リーダブルコードで得られた知識を実践した研修生多数 • 全体設計を考え、オブジェクトとメソッドをモックで作る。 その上で既存モジュールで流用できる場所を考える。 • 知識より各機能をどう分類、階層化、共通化するかが大事。 自分なりの思考整理術を身につけておく事がオススメ。 • 4th . Web の情報が正しくない , 質も悪い • ブログは参考程度に。“これ本当?”と思いながら、 perldoc や 公式リファレンス、書籍等で裏を取るようになった。 • MySQL の Lock 周りが公式でも信用出来ないので苦労している。
  • 51. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 苦労した Point と Solution 51 • 1st . オブジェクト指向を理解できない • 理解深い同期と飲んで「オブジェクト指向って何なのか」を朝 まで語り合った。それにより概念的な理解が進んだ。 • 「オブジェクト指向のこころ」を読み、自分の実装と照らし合 わせる事で、オブジェクト指向の感覚をつかむ事ができた。 • 実装機能を「何をどうする(動詞+目的語)」と書き出して、 オブジェクトとして実装すべきもの / どう使うかを整理した。 • 2nd . Web Application Framework を把握できない • リクエストからレスポンスまでを追って地道に解決していった • 巨大な敵にそのまま立ち向かうのでなく、一つ一つの機能ベー スで理解して、着々と進めていった • 型グロブやコードレフなど、見たことのないコードが多かった ので、ググりながらその機能を自分で試すことで理解した
  • 52. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 初心者へ伝えたいこと 52
  • 53. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 初心者へ伝えたいこと 53 • 3rd . 知識を人に晒してインプットを得ろ • コードを積極的に人に見せてディスってもらうと刺激になるし、ブ ログなどで技術知識をまとめるといいプレッシャーになる。 • 勉強会を主催するとプレッシャーにより学習濃度がとても高まる。 観覧者も発言すると大きく学びの幅が変わると思います。 • 相当な理解がないと人に教えることは出来ない。最初から「人に教 えられる」というレベル感で学び、定着させると良い • 4th . 信頼できるエンジニアからのサジェストを活用しろ • 講師、先輩からサジェストされる情報、技術は非常に有用。 • 自信の無い人は先輩などにアドバイスをもらってみると良い。 • 自分より少し上くらいの技術力の同期と仲良くなるとよさそう。
  • 54. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 初心者へ伝えたいこと 54 • 1st . 不確実な Web の情報に迷わされるな ( 大多数の意見 ) • 信頼できる順:実験 > 公式 > 書籍 >>>>>>>>> Web • 本当にブログの記事は信用ならない事は痛感しました。 • Web 上で情報を探すより本を買った方が最終的に早い。 • 書籍で基本をマスターし、詳細は公式ドキュメントで学ぶべき。 • 2nd . 実際にコードを書いて試すとよい • 公式と書籍にプラスして実験。いつ壊れても良い仮想マシンを常備して 、気になることは即実験する。わからないことや危険なことを躊躇する ことなく試す。 • 悩んでも分からない事は多いので、実際試す事が非常に大事。 • 公式ドキュメントより、実践する方が何倍も知識が得られた。
  • 55. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修した結果 55
  • 56. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. 研修した結果 56 • 研修中に大きな壁を乗り越えた • 2014 年 2 月卒業予想⇒ 9 月卒業と巻き返した新卒も • 自身の強みと弱みを理解して、弱みを克服できるように • 本当に自走できるエンジニアとなった • 新卒たちで様々な勉強会を主催するように • BBQ, 屋形船 , YAPC 幕間 CM, Perl テスト解説など手をあげて担当 • 書籍や公式 Web などから高度な技術知識を自分で得られるように • 技術以外でも大きな成長をしてくれた • ロジカルシンキング等の基礎力が大きく向上した新卒も • みんなの手本になる大きな成長をし、同期に還元してくれた ⇒ 期待以上の成長をしてくれた
  • 57. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. さいごに 57
  • 58. Copyright (C) 1999-2013 DeNA Co.,Ltd. All Rights Reserved. さいごに 58 • ヒトに focus して良かった • 見違えるように急成長した研修生が多数いた • 個別に watch しつつ , 早期発見 , 早期対応することが大事 • 現場エンジニアと共に研修フルコミットしたのも良かっ た • 理想的な Web 開発とは何か研修で知ることができた • 現場と研修の差異を極力無くすことができた • 「自走できるエンジニア」が目的で良かった • どんな現場 , 環境に配属されても成長していける ( 実例も ) • 良い意味で期待を裏切って成長した研修生多数いた