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
220
実務未経験からいち早く戦力化するための新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~
おまけ↓(『プログラミング学習における教わる側と教える側の心得』)
https://note.com/nchaaa_mj/n/ne6a2c96205fd
Juri Matsuda
September 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
生産性アップのためのAI個人活用
kunoyasu
0
360
DenoでOpenTelemetryに入門する
yotahada3
1
110
Ça bouge du côté des animations CSS !
goetter
2
170
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.1k
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
200
Google Cloudとo11yで実現するアプリケーション開発者主体のDB改善
nnaka2992
1
170
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
740
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
170
Better Code Design in PHP
afilina
0
200
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
4
820
Jakarta EE meets AI
ivargrimstad
0
1.1k
Accelerate your key learnings of scaling modern Android apps
aldefy
0
100
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
99
5.4k
GraphQLとの向き合い方2022年版
quramy
44
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The World Runs on Bad Software
bkeepers
PRO
67
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
460
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
The Cult of Friendly URLs
andyhume
78
6.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making Projects Easy
brettharned
116
6.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
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