Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
実務未経験からいち早く戦力化するための新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~
Search
Juri Matsuda
September 28, 2024
Programming
0
150
実務未経験からいち早く戦力化するための新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~
おまけ↓(『プログラミング学習における教わる側と教える側の心得』)
https://note.com/nchaaa_mj/n/ne6a2c96205fd
Juri Matsuda
September 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
最新TCAキャッチアップ
0si43
0
230
Tauriでネイティブアプリを作りたい
tsucchinoko
0
380
距離関数を極める! / SESSIONS 2024
gam0022
0
320
初めてDefinitelyTypedにPRを出した話
syumai
0
450
Contemporary Test Cases
maaretp
0
140
Jakarta EE meets AI
ivargrimstad
0
930
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
2.2k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
770
Amazon Qを使ってIaCを触ろう!
maruto
0
430
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
150
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
Vapor Revolution
kazupon
2
1.7k
Featured
See All Featured
It's Worth the Effort
3n
183
27k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing the Hi-DPI Web
ddemaree
280
34k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fireside Chat
paigeccino
34
3k
Code Review Best Practice
trishagee
64
17k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Scaling GitHub
holman
458
140k
Building Applications with DynamoDB
mza
90
6.1k
Transcript
PHP Conference Okinawa 2024 実務未経験からいち早く戦力化するための 新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~ 合同会社春秋
共同代表 マツダジュリ @nchaaa_mj
マツダ ジュリ 自己紹介 • 合同会社春秋 共同代表 ◦ あまり表に出ない方 • プログラミングスクール講師
◦ CODEBASE OKINAWA ◦ 小学生~70代まで約500名 • X → @nchaaa_mj ◦ 無益な発信しかしない ◦ 酒とメシとキングダムなど
合同会社春秋 会社紹介 • 代表 マツダジュリ , さぼ • 2022年7月設立 •
主にシステム受託開発 ◦ PHP, Ruby, GraphQL, Vue, React…etc • 社員数9名(アルバイト含む ) ◦ 未経験6名 ▪ 県庁職員, アパレル, 介護福祉...etc • 美味い酒とメシのために命かけてる
琉球新報さん(9/28付け)に弊社の取り組みを紹介していただきました!!
はじめに • この資料は公開します! • 手法・考え方はあくまで参考程度に! • 育成について考えるきっかけになれば嬉しい! • 感想・FBください!!!!!! •
懇親会参加します! • 懇親会後飲みに行きましょう! (一番重要)
みなさんの会社ではエンジニア育成に どのくらい力を入れていますか?
なぜ企業は育成に力を入れないといけない のか? • 業界の人材不足(2030年には最大約80万人 • 新卒・中途の採用難 • 社内の技術力底上げ • 長期的な成長(会社も個人も)
と、一般的には言われるわけですが
個人的に最近こんなこと感じてます。 • リアルコミュニケーションの変化(コロナ禍以降 • 未経験の転職希望が急増(コロナ禍、リスキリング) • テクニック重視(生成AIに使われている) ※ あくまで観測範囲内
つまり、未経験者をどうにかこうにか 鍛え上げなければならない。
エンジニア育成で大事なことは?
それは『自走力』を身につけさせること。 ※ 外部の動力ではなく、自身の動力によって走ること。
技術はやっていれば身についてくる。
自走力を身につけるとどうなるか? • コミュニケーションコストが低くなる • 問題解決能力が上がる • インクリメンタルな成長 => 自分で”育つ人”になる。
春秋でやっていること • 生きたコードに触れさせる • 言語化能力を鍛える • 目標設定と管理 • 業務時間内での自己学習
「生きたコードに触れさせる」とは? • 実際に稼働しているシステムのコード • 設計やデザインパターンに基づいている • 教科書的なコードはほとんど出てこない • 独学でできた癖を修正する
生きたコードに触れさせる • ペアプロで成功体験を積む • ”できない”なりにどうするか • 技術的な問題と進め方的な問題 • 聞かざるを得ない状況を作る •
開発の進め方やマインドセットも学ぶ ✔ 実案件に即投入
「言語化能力を高める」とは? • 結局はプログラミング “言語” • 言語能力低いと成長が遅い (”理解”に必要 • 感覚部分(= 技術)を言語化することで再現性を高める
• 曖昧な表現や非論理的なことは徹底的に潰す • 抽象化や概念の解像度を上げる
言語化能力を高める • 週単位 • 成功要因と失敗要因の抽出 • 根本まで「なぜ?」を問いかけ続ける • 失敗はほぼほぼパターン化する •
できること・できないことを認識 • 週初で共有し自分の糧に ✔ 振り返りを徹底させる
言語化能力を高める ✔ 振り返りの良い例 • 実際のシーンが想像できる ◦ 言語化◎ • 本でインプットしたことが実務で アウトプットできている
• 今後のアクション (keep)に本で のインプットを掲げている ◦ 成功パターンの把握
言語化能力を高める ✔ 振り返りの悪い例 • 「頑張る」は当たり前 ◦ 何をどう頑張るか • ブラッシュアップの具体性がない ◦
ゴールが見えていない • 「時間を作っていく」の具体性がな い ◦ プロセスがない
「目標設定と管理」とは? • 短・中・長期のなりたいエンジニア像 • 目標は抽象的でもいい • そのためのアクションプランを定量的に設定する • 目標に対する現在地の確認 •
やり切ることが重要
目標設定と管理 • ミッション・ビジョン・バリュー • 会社と個人を全員で考える • カスケードダウンでベクトル合わせ • 社外の人も呼んで多角的に考える ✔
春秋軍議
参考: USJを劇的に変えた、たった1つの考え方 成功を引き寄せるマーケティング入門 (角川書店単行本)
目標設定と管理 • 目標に対して進捗面談 • スキルの棚卸し • 振り返りの壁打ち • 会社からの期待 •
やらないことを明確化 ✔ 1on1
「業務時間内での自己学習」とは? • 毎月20Hを好きな分野の学習に充ててよい • アウトプットとセット • 毎月学習成果の発表会
業務時間内での自己学習 • 会社で購入した本をデータベース化 • 社員には自由に本の購入を許可 • 読んだら専用ページでアウトプット ✔ 春秋文庫
業務時間内での自己学習 • 各本データに紐付けている • ”理解”と”できる”を分ける • 言語化することで理解の整理 • 読む人は自分の理解・解釈の仕方が似 ている人を探すことができる
(聞ける ✔ 春秋文庫 - アウトプットページ
業務時間内での自己学習 • 毎月LTやハンズオンでアウトプット • 実務や学習で得た知見の深掘りを共有 • PJ固有の技術に縛られないキャッチ アップが可能 ✔ アウトプット会
未経験育成の成果例 • 第一号社員にして最年長 • 元沖縄県庁職員 • Rails, GraphQL, React, Next.js
• 入社1年で詳細設計・社内レビュー担当 • 入社1年半でクライアントとの窓口担当 ✔ 伍長 - T・A
まとめ - 自走するための春秋の取り組み • 育成とは『自走力』を身につけさせること • 生きたコードに触れさせて戦場 (現場)で学ぶ • 振り返りで言語化能力を鍛える
• 目標(= 理想の状態 )と向き合う • 学習し続けることは会社と個人にとって投資 ※ 今は少人数だからできているところもある ※ 将来はチーム単位での活用になりそう
次は『教える側の心得』をお伝えします。
みなさんは新人や部下に教える時、 何か気をつけていることはありますか?
それは『補助輪の機能 』に徹すること。
『教える側の心得』五箇条 • 公式ドキュメントの読み方を教えるべし • 伝え方・教え方は相手に合わせるべし • 経験を伝えるべし • 見守るべし •
ポジティブ FBは大胆にすべし
公式ドキュメントの読み方を教えるべし • 一緒に読み合わせをする ◦ 「ドキュメント読んで」はかなり乱暴 ◦ 欲しい情報が別の用語や概念で説明されるので難しい • 付随情報とセットで教える ◦
用語の解説、概念の具体化、実務ではどのように使うか ◦ 実務での使用例は未経験者もイメージしやすいので質問を引き出せる • バージョン違いによるミスリード ◦ 未経験者にとっては盲点 ◦ 例) Laravelでは5.6と5.7でヘルパ関数の書き方が違う • 教える側にとって一番投資リターンが大きい ◦ まずは道具の使い方を教えましょう
伝え方・教え方は相手に合わせるべし • 相手の抽象度・具体度に合わせる ◦ 「あの人はいつも抽象的」、「もっと具体的に言って」みたいなあのやりとり ◦ 人間は具体→抽象は得意(心理学・認知科学 • 伝え方のバリエーション ◦
文字, 図, 例え話(擬人化) … etc. • 目標はコードレベルで会話できること ◦ なるべくコードを用いましょう(実装例など • 一番コストのかかる投資 ◦ コミュニケーションを重ねないとわからない ◦ まずは相手がイメージできるところから
経験を伝えるべし • 未経験者にとって経験者は神 ◦ 我々にもできなかった過去がある ◦ 神でも最初は”未経験”から始まった • 失敗談はかなり有効 ◦
神の失敗談は安心感をもたらす ◦ 神はより身近な存在へ • 方法論はその後 ◦ 多くの場合は手法を聞かれる(エラーの解決など ◦ 調べ方も教えるとプロセスとして手法が確立する (断片的ではなくなる ◦ このプロセスが次の小さな成功体験に繋がる
見守るべし • 口出しするな ◦ 表情で応える ◦ 自走するためのプロセスを奪ってしまっている • 口出しするのは相手が沈んでいる時 ◦
諦めかけたり、心が折れかけたり、投げ出しそうな時 ◦ 「なんでできないの?」は絶対に言わない • 「見てくれている」という安心感 ◦ 未経験者にとっては喜びでもある ◦ 質問されるということは教える側にとって良いこと
ポジティブ FBは大胆にすべし • できたことは一緒に喜びましょう ◦ 成長プロセスを共有できている ◦ その場で振り返りができる ◦ 成功体験を積んだ実績
• 褒めることを怠らない ◦ プロセスではなく結果に対して ◦ 難しい課題であればあるほど有効 • 自信につながる ◦ 自走するための最大の要因(自己効力感と自己肯定感
まとめ - 『教える側の心得』五箇条 • まずは道具の使い方を教えましょう • 抽象と具体の行き来 • 経験 ⇒
手法の順で • 口出し厳禁 • ポジティブ FB = 成功体験 = 自信
最後にメッセージ ... 相手と向き合い、 自分なりの育成法を見つけましょう!
ご清聴ありがとうございました Thank You