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
110
実務未経験からいち早く戦力化するための新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~
おまけ↓(『プログラミング学習における教わる側と教える側の心得』)
https://note.com/nchaaa_mj/n/ne6a2c96205fd
Juri Matsuda
September 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
CDKを活用した 大規模コンテナ移行 プロジェクトの紹介
yoyoyopg
0
310
Subclassing, Composition, Python, and You
hynek
3
170
Cloud Adoption Frameworkにみる組織とクラウド導入戦略(縮小版)
tomokusaba
1
190
Remix × Cloudflare Pages × Sentry 奮闘記 / remix-pages-sentry
nkzn
1
410
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
120
Pydantic x Database API:turu-pyの開発
yassun7010
1
570
利用者視点で考える、イテレータとの上手な付き合い方
syumai
4
230
データフレームライブラリ徹底比較
daikikatsuragawa
2
100
.NET Aspireのクラウド対応検証: Azureと他環境での実践
ymd65536
1
430
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
610
Kubernetes上でOracle_Databaseの運用を楽にするOraOperatorの紹介
nnaka2992
0
150
ポケモンで考えるコミュニケーション / Communication Lessons from Pokémon
mackey0225
4
170
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
31
6.2k
A better future with KSS
kneath
237
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.7k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Docker and Python
trallard
40
3k
How GitHub (no longer) Works
holman
311
140k
Web development in the modern age
philhawksworth
205
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
The Language of Interfaces
destraynor
154
24k
Speed Design
sergeychernyshev
22
480
Build The Right Thing And Hit Your Dates
maggiecrowley
31
2.3k
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