Slide 1

Slide 1 text

PHP Conference Okinawa 2024 実務未経験からいち早く戦力化するための 新人エンジニア育成術 ~ 具体的な方法と育成する側の心得 ~ 合同会社春秋 共同代表 マツダジュリ @nchaaa_mj

Slide 2

Slide 2 text

マツダ ジュリ  自己紹介 ● 合同会社春秋 共同代表 ○ あまり表に出ない方 ● プログラミングスクール講師 ○ CODEBASE OKINAWA ○ 小学生~70代まで約500名 ● X → @nchaaa_mj ○ 無益な発信しかしない ○ 酒とメシとキングダムなど

Slide 3

Slide 3 text

合同会社春秋  会社紹介 ● 代表 マツダジュリ , さぼ ● 2022年7月設立 ● 主にシステム受託開発 ○ PHP, Ruby, GraphQL, Vue, React…etc ● 社員数9名(アルバイト含む ) ○ 未経験6名 ■ 県庁職員, アパレル, 介護福祉...etc ● 美味い酒とメシのために命かけてる

Slide 4

Slide 4 text

琉球新報さん(9/28付け)に弊社の取り組みを紹介していただきました!!

Slide 5

Slide 5 text

 はじめに ● この資料は公開します! ● 手法・考え方はあくまで参考程度に! ● 育成について考えるきっかけになれば嬉しい! ● 感想・FBください!!!!!!󰢛 ● 懇親会参加します! ● 懇親会後飲みに行きましょう! (一番重要)

Slide 6

Slide 6 text

みなさんの会社ではエンジニア育成に どのくらい力を入れていますか?

Slide 7

Slide 7 text

なぜ企業は育成に力を入れないといけない のか? ● 業界の人材不足(2030年には最大約80万人 ● 新卒・中途の採用難 ● 社内の技術力底上げ ● 長期的な成長(会社も個人も)

Slide 8

Slide 8 text

と、一般的には言われるわけですが

Slide 9

Slide 9 text

個人的に最近こんなこと感じてます。 ● リアルコミュニケーションの変化(コロナ禍以降 ● 未経験の転職希望が急増(コロナ禍、リスキリング) ● テクニック重視(生成AIに使われている) ※ あくまで観測範囲内

Slide 10

Slide 10 text

つまり、未経験者をどうにかこうにか 鍛え上げなければならない。

Slide 11

Slide 11 text

エンジニア育成で大事なことは?

Slide 12

Slide 12 text

それは『自走力』を身につけさせること。 ※ 外部の動力ではなく、自身の動力によって走ること。

Slide 13

Slide 13 text

技術はやっていれば身についてくる。

Slide 14

Slide 14 text

自走力を身につけるとどうなるか? ● コミュニケーションコストが低くなる ● 問題解決能力が上がる ● インクリメンタルな成長 => 自分で”育つ人”になる。

Slide 15

Slide 15 text

春秋でやっていること ● 生きたコードに触れさせる ● 言語化能力を鍛える ● 目標設定と管理 ● 業務時間内での自己学習

Slide 16

Slide 16 text

「生きたコードに触れさせる」とは? ● 実際に稼働しているシステムのコード ● 設計やデザインパターンに基づいている ● 教科書的なコードはほとんど出てこない ● 独学でできた癖を修正する

Slide 17

Slide 17 text

 生きたコードに触れさせる ● ペアプロで成功体験を積む ● ”できない”なりにどうするか ● 技術的な問題と進め方的な問題 ● 聞かざるを得ない状況を作る ● 開発の進め方やマインドセットも学ぶ ✔ 実案件に即投入

Slide 18

Slide 18 text

「言語化能力を高める」とは? ● 結局はプログラミング “言語” ● 言語能力低いと成長が遅い (”理解”に必要 ● 感覚部分(= 技術)を言語化することで再現性を高める ● 曖昧な表現や非論理的なことは徹底的に潰す ● 抽象化や概念の解像度を上げる

Slide 19

Slide 19 text

 言語化能力を高める ● 週単位 ● 成功要因と失敗要因の抽出 ● 根本まで「なぜ?」を問いかけ続ける ● 失敗はほぼほぼパターン化する ● できること・できないことを認識 ● 週初で共有し自分の糧に ✔ 振り返りを徹底させる

Slide 20

Slide 20 text

 言語化能力を高める ✔ 振り返りの良い例 ● 実際のシーンが想像できる ○ 言語化◎ ● 本でインプットしたことが実務で アウトプットできている ● 今後のアクション (keep)に本で のインプットを掲げている ○ 成功パターンの把握

Slide 21

Slide 21 text

 言語化能力を高める ✔ 振り返りの悪い例 ● 「頑張る」は当たり前 ○ 何をどう頑張るか ● ブラッシュアップの具体性がない ○ ゴールが見えていない ● 「時間を作っていく」の具体性がな い ○ プロセスがない

Slide 22

Slide 22 text

「目標設定と管理」とは? ● 短・中・長期のなりたいエンジニア像 ● 目標は抽象的でもいい ● そのためのアクションプランを定量的に設定する ● 目標に対する現在地の確認 ● やり切ることが重要

Slide 23

Slide 23 text

 目標設定と管理 ● ミッション・ビジョン・バリュー ● 会社と個人を全員で考える ● カスケードダウンでベクトル合わせ ● 社外の人も呼んで多角的に考える ✔ 春秋軍議

Slide 24

Slide 24 text

参考: USJを劇的に変えた、たった1つの考え方 成功を引き寄せるマーケティング入門 (角川書店単行本)

Slide 25

Slide 25 text

 目標設定と管理 ● 目標に対して進捗面談 ● スキルの棚卸し ● 振り返りの壁打ち ● 会社からの期待 ● やらないことを明確化 ✔ 1on1

Slide 26

Slide 26 text

「業務時間内での自己学習」とは? ● 毎月20Hを好きな分野の学習に充ててよい ● アウトプットとセット ● 毎月学習成果の発表会

Slide 27

Slide 27 text

 業務時間内での自己学習 ● 会社で購入した本をデータベース化 ● 社員には自由に本の購入を許可 ● 読んだら専用ページでアウトプット ✔ 春秋文庫

Slide 28

Slide 28 text

 業務時間内での自己学習 ● 各本データに紐付けている ● ”理解”と”できる”を分ける ● 言語化することで理解の整理 ● 読む人は自分の理解・解釈の仕方が似 ている人を探すことができる (聞ける ✔ 春秋文庫 - アウトプットページ

Slide 29

Slide 29 text

 業務時間内での自己学習 ● 毎月LTやハンズオンでアウトプット ● 実務や学習で得た知見の深掘りを共有 ● PJ固有の技術に縛られないキャッチ アップが可能 ✔ アウトプット会

Slide 30

Slide 30 text

 未経験育成の成果例 ● 第一号社員にして最年長 ● 元沖縄県庁職員 ● Rails, GraphQL, React, Next.js ● 入社1年で詳細設計・社内レビュー担当 ● 入社1年半でクライアントとの窓口担当 ✔ 伍長 - T・A

Slide 31

Slide 31 text

まとめ - 自走するための春秋の取り組み ● 育成とは『自走力』を身につけさせること ● 生きたコードに触れさせて戦場 (現場)で学ぶ ● 振り返りで言語化能力を鍛える ● 目標(= 理想の状態 )と向き合う ● 学習し続けることは会社と個人にとって投資 ※ 今は少人数だからできているところもある ※ 将来はチーム単位での活用になりそう

Slide 32

Slide 32 text

次は『教える側の心得』をお伝えします。

Slide 33

Slide 33 text

みなさんは新人や部下に教える時、 何か気をつけていることはありますか?

Slide 34

Slide 34 text

それは『補助輪の機能 』に徹すること。

Slide 35

Slide 35 text

『教える側の心得』五箇条 ● 公式ドキュメントの読み方を教えるべし ● 伝え方・教え方は相手に合わせるべし ● 経験を伝えるべし ● 見守るべし ● ポジティブ FBは大胆にすべし

Slide 36

Slide 36 text

 公式ドキュメントの読み方を教えるべし ● 一緒に読み合わせをする ○ 「ドキュメント読んで」はかなり乱暴 ○ 欲しい情報が別の用語や概念で説明されるので難しい ● 付随情報とセットで教える ○ 用語の解説、概念の具体化、実務ではどのように使うか ○ 実務での使用例は未経験者もイメージしやすいので質問を引き出せる ● バージョン違いによるミスリード ○ 未経験者にとっては盲点 ○ 例) Laravelでは5.6と5.7でヘルパ関数の書き方が違う ● 教える側にとって一番投資リターンが大きい ○ まずは道具の使い方を教えましょう

Slide 37

Slide 37 text

 伝え方・教え方は相手に合わせるべし ● 相手の抽象度・具体度に合わせる ○ 「あの人はいつも抽象的」、「もっと具体的に言って」みたいなあのやりとり ○ 人間は具体→抽象は得意(心理学・認知科学 ● 伝え方のバリエーション ○ 文字, 図, 例え話(擬人化) … etc. ● 目標はコードレベルで会話できること ○ なるべくコードを用いましょう(実装例など ● 一番コストのかかる投資 ○ コミュニケーションを重ねないとわからない ○ まずは相手がイメージできるところから

Slide 38

Slide 38 text

 経験を伝えるべし ● 未経験者にとって経験者は神 ○ 我々にもできなかった過去がある ○ 神でも最初は”未経験”から始まった ● 失敗談はかなり有効 ○ 神の失敗談は安心感をもたらす ○ 神はより身近な存在へ ● 方法論はその後 ○ 多くの場合は手法を聞かれる(エラーの解決など ○ 調べ方も教えるとプロセスとして手法が確立する (断片的ではなくなる ○ このプロセスが次の小さな成功体験に繋がる

Slide 39

Slide 39 text

 見守るべし ● 口出しするな ○ 表情で応える ○ 自走するためのプロセスを奪ってしまっている ● 口出しするのは相手が沈んでいる時 ○ 諦めかけたり、心が折れかけたり、投げ出しそうな時 ○ 「なんでできないの?」は絶対に言わない ● 「見てくれている」という安心感 ○ 未経験者にとっては喜びでもある ○ 質問されるということは教える側にとって良いこと

Slide 40

Slide 40 text

 ポジティブ FBは大胆にすべし ● できたことは一緒に喜びましょう ○ 成長プロセスを共有できている ○ その場で振り返りができる ○ 成功体験を積んだ実績 ● 褒めることを怠らない ○ プロセスではなく結果に対して ○ 難しい課題であればあるほど有効 ● 自信につながる ○ 自走するための最大の要因(自己効力感と自己肯定感

Slide 41

Slide 41 text

まとめ - 『教える側の心得』五箇条 ● まずは道具の使い方を教えましょう ● 抽象と具体の行き来 ● 経験 ⇒ 手法の順で ● 口出し厳禁 ● ポジティブ FB = 成功体験 = 自信

Slide 42

Slide 42 text

最後にメッセージ ... 相手と向き合い、 自分なりの育成法を見つけましょう!

Slide 43

Slide 43 text

ご清聴ありがとうございました Thank You