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
270
実務未経験からいち早く戦力化するための新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~
おまけ↓(『プログラミング学習における教わる側と教える側の心得』)
https://note.com/nchaaa_mj/n/ne6a2c96205fd
Juri Matsuda
September 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
320
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
1
120
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
0
140
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
410
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
100
ニーリーにおけるプロダクトエンジニア
nealle
0
680
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
0
320
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
180
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
520
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
170
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
670
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Bash Introduction
62gerente
614
210k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
A designer walks into a library…
pauljervisheath
207
24k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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