「スクール卒業直後↔︎現場で求められるエンジニア」ギャップを埋める海外研修プログラムを実施しました
2019年10月と11月の2ヶ月間、タイ・バンコクにて、プログラミングスクール卒業直後をターゲットとした研修生を集めて、企業から求められる現場で活躍できるエンジニア人材とのギャップを紐解くための世にも不思議なプログラムを実施しました。
背景
私の知り合いのスタートアップ企業エンジニア採用担当者何名かは、プログラミングスクール卒業直後の方からの採用応募は詳細を見ずに落としてしまうと言っていました。おそらく過去に採用の失敗があったのでしょう。もちろん応募者の中には優秀で基準を満たしている方はいるとしても、採用要件を満たしているかスクリーニングすることにコストがかかってしまうのです。
今回GAOGAOが何故研修事業を新たにスタートしたかというと、GAOGAOゲートというプログラミングスクールと、GAOGAOスタジオというプロフェッショナル開発事業の双方を運営しており、「スクール卒業時点↔︎現場で求められる人材のギャップ」を運営側として感じていたからです。
一般的なスクールフェーズと現場のギャップとは
では、スクール卒業直後のレベルと、現場で活躍できるエンジニアのレベルにはどの程度ギャップがあるのでしょうか。
上図は、未経験から一人前のエンジニア(Web系エンジニアを想定)になるために、わかりやすいレベルのチェックポイント目安を4つ「未経験」、「一般的なスクール卒業レベル」、「開発インターン内定レベル」、「社員雇用オファーレベル」と定義した時に、それぞれの間(ギャップ)のフェーズを表しています。
1. 「未経験」から「一般的なスクール卒業レベル」のギャップを埋めるフェーズ(期間目安: 2-6ヶ月)
2. 「一般的なスクール卒業レベル」から「開発インターン内定レベル」のギャップを埋めるフェーズ(期間目安: 2-4ヶ月)←あまり世間的に注目のされていない教育が必要なフェーズ。今回の研修の狙い
3. 「開発インターン内定レベル」から「社員雇用オファーレベル」のギャップを埋めるフェーズ(期間目安: 3-6ヶ月)
"期間目安"の数値は私がスクールなどを経営しながら受講生のその後の現場での活躍などを10件弱見ていて感じた直感的な数値です(統計データに基づいたものではないです)。今回の研修の対象はあまり一般的にエンジニア教育の内容としてスクールなどでカバーされていない2のフェーズです。
開発インターンは効率的だけどスクール卒業直後の内定は難しい
開発インターンエンジニア自身も企業自身も双方お試し期間です。スクール卒業後は、実際の現場の開発体験ができるインターンの内定を取れるとスキルアップの場として非常に効率が良いです。
そして、開発の現場からすると、インターンとして内定を出すか出さないかは「採用&教育コストを上回るアウトプットを持っているか / 見込みがあるか」という判断軸で決まります。スクール卒業直後の方はご自身が金銭的価値を生み出すエンジニアになっているかどうか、を考えてみてください。
教育コストを上回るアウトプットを持っていると企業に見せるには、プログラミングスクール卒業時点には無いどのようなスキルが必要なのでしょうか(上記2のフェーズ)。
このフェーズにフォーカスした教育プログラムがあまりないと考え、今回の研修プログラムの実施に至りました。
ギャップを埋めるための方法論の仮説
金銭的価値を生み出す一人前のエンジニアになるために必要な工程の仮説
一般的なスクールや独学の教材では学べない技術スキルの向上
1. 実案件プロジェクトでの実装体験
2. 現場のプロフェッショナルとの共同開発の経験
3. サービス設計・システム設計の実践
エンジニアとして必要なコアスキルの向上
4. コミュニケーション能力の向上
5. オーナシップを持つこと(自分自身で考え実行すること)
スクールでは学習用の題材をもとに一人で学習することが多いです。チームで開発するにしても、スクール生同士のチーム形式が多く、現場のプロフェッショナルと共同開発を体験できるところはあまり無いため、そのような実践を学べる環境を用意します。また、コミュニケーションを取ること・取り方 / オーナーシップを意識することなどに重点を置いたソフトスキル面の教育も一般的には意識的に教育コンテンツとして入れています。
"GAOGAOゲートZ" プログラムの内容
超実践型スタートアップ・エンジニア育成プログラム “GAOGAOゲートZ” 第1期生を企画・実施しました。
今回のプログラムに参加していただいた4名の方は、ギャップを埋めるための仮説の5点を説明し、NDAを結んだ上で実際の案件を題材に以下を実施しました。
- 実際の開発案件に参加してもらう
- 現場のメンバーとともに共同生活をしながらチーム開発を行う
- 全て0→1開発。サービスの設計から自身で行う
- 担当をしっかり明確にして、自身でオーナシップを持ちアクティブに考え実行に移しているかを重要視(メンターが状況に応じでそのように促す)
参加の声かけ
このツイートがおかげさまで拡散されまして、多数の応募をいただきました。もともと1名採用の予定が、予想以上に応募者のモチベーションが高い方が多く、面談による選考を行い、最終的に4名の方をバンコクに招きました。2名は学生で既に開発経験がある方です。他の2名は今回のGAOGAOゲートZ研修のまさにターゲットであるプログラミングスクールに入り卒業直後に参加されたばかりの方です。
実案件ベースのプロジェクト
参加していただいた実案件ベースのプロジェクトは、自社開発プロジェクトからお客様プロジェクトまで、現場のリーダーと一緒に開発に携わっていただきます。全てのプロジェクトで参加者全員設計フェーズから参加し、オーナシップを持って0->1マインドで取り組んでもらいます。
技術スタックはプロジェクトにより違いますが、Laravel, HTML/SCSS, Vue.js, Nuxt, React, TypeScript, Node.js, TypeORM あたりを使用しました。
中には日本語ができない外国人のお客様とのプロジェクト体験もあり、英語力の大事さを身に染みて感じでいる参加メンバーもいました。
実施期間中の様子
GAOGAOのバンコクでの施設でプロフェッショナルエンジニアと共同生活をしながら、サービスを開発していきます。
朝にスクラムミーティングも行います。
余暇の時間もプログラミングをするエンジニアメンバーも多いので、シェアハウスは朝から夜まで誰かしらが作業しているような環境です。一人で勉強するよりも、近い環境にいる方から刺激を受けて、より邁進できるのも本研修プログラムの売りです。
設計から実装まで、皆さま2ヶ月ストイックに実務に取り組みました!
受講メンバーの最終発表会
最終発表会では今回の研修を通じて参加されたメンバー全員から”学びに関する”様々な知見が集まりました。いくつか抜粋します。
研修参加メンバーによる最終発表会での学び一部
- 言語化と共通認識を持つスキル(コミュニケーション能力)の大事さ
- 単純作業をしていると考えずに、サービスの本質を考えることの大事さ
- 見積もり/開発スケジュール作成は過去の経験を元に俯瞰的に推測する
- インプットだけでなく適宜アウトプット(記事を書く、他人に説明するなど)をすることで理解度を高める
- 聞いて解決したら終わりではなく、自分でなぜだろうともう一段深掘りすることで知識の定着率を上がる
- 自分のレベルより少し高いところでがむしゃらにやる経験が圧倒的成長につながる
- 学びを効率化するための基礎スキルが大事
失敗から学べることは多い
実は研修プログラムの中で失敗を経験したメンバーもいました。例えば今回、小さいプロジェクトでも先方とのコミュニケーションの不十分さにより工数の巻き戻しが発生してしまいました。そこから反省し、コミュニケーションの取り方を見直せるポイントもありました。
エンジニアにとってのコミュニケーション能力の重要さ
いくら一流の技術力を持っていたとしてもコミュニケーションがうまく取れず他者と認識共有がうまくできていない場合、チームとしてはマイナスの存在になりかねません。
元証券会社営業マン出身の共同創業者の @ken さん曰く「コミュニケーション能力はトレーニングで変わる」とのことです。コミュニケーションスキルは現場で非常に重要であるにも関わらず、コミュニケーションにフォーカスしたエンジニア向けの研修プログラムがないのは不思議ではあります。そのあたりは今後も積極的に研修プログラムに取り込んで行こうと思っていますので、また別のnote記事でまとめる予定です。
運営側も学べたこと
運営している私自身も学べたことは、「学びを効率化するための基礎スキルが大事」という意見が参加メンバーか何名かから出てきたこと。例えば、問題解決能力、アルゴリズムの理解力、コミュニケーション能力、英語力、俯瞰して考える力など。それらが学べる今回の研修はVue.jsやLaravelなど技術自体の習得はもちろんのこと、エンジニアとしての基礎体力を向上させるようなプログラムだったと改めて再認識できました。
参加メンバーのインタビュー記事
今回参加した4名の方には今回の研修に関するインタビューを実施しました。第一弾は元々損保大手からキャリアチェンジされた方の記事です。研修卒業後、既にエンジニアとして現場で活躍されています。
超実践型プログラミング海外研修GAOGAOゲートZ | 第1期生インタビューRyosuke Ibusukiさん
他のメンバーも順次公開予定ですので乞うご期待!
まとめ
数値的にエンジニアの能力を測ることは非常に難しいですが、今回のプログラム卒業直後から早速現場で金銭的報酬を受けながら活躍しているメンバーもいます。スクール卒業直後の時点から、どのように金銭的価値を持つ雇いたいと思われる人材になるか、ということを狙いとした研修を実施し、評価を行いました。研修内容として改善すべき点は見えましたが、当初の仮説は大きく外れてはいなかったかなと思います。
重要なポイントは、一般的なスクールや独学では学べない開発のコアスキルをどう学ぶか、これらを効率的に吸収することができれば現場で活躍できる人材に早くなることができるはずです。その先、今後さらにエンジニアとして価値を高めていくには、例えば、特定技術分野でのより深い理解・実装力や、品質や拡張性を考慮した実装の設計力など、が必要になってきます。それらに関しては、今回の次のステップとして、効率的に学べる方法を模索していきたいと思います。
来年もGAOGAOゲートZ2期生参加者募集します
今回の研修プログラム第2弾も2020年に行う予定です。
開催時期はまだ未定ですが、興味のある方は随時 @tejitak もしくは @gaogaoasia にDMぜひお気軽にお願いします。