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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Juri Matsuda
September 28, 2024
Programming
0
320
実務未経験からいち早く戦力化するための新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~
おまけ↓(『プログラミング学習における教わる側と教える側の心得』)
https://note.com/nchaaa_mj/n/ne6a2c96205fd
Juri Matsuda
September 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
210
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.2k
へんな働き方
yusukebe
5
2.8k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
370
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
390
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
150
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
150
SourceGeneratorのマーカー属性問題について
htkym
0
210
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building Applications with DynamoDB
mza
96
7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
How to build a perfect <img>
jonoalderson
1
5.3k
GraphQLとの向き合い方2022年版
quramy
50
14k
Designing Powerful Visuals for Engaging Learning
tmiket
0
290
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
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