未経験から始めるエンジニアキャリアへの道

「エンジニアが足りない」という声を聞く一方で「エンジニアになりたい」という声も聞きます。これだけ聞くと、需要と供給はマッチしてそうですが、現実はそうなっていません。

多くの企業で求められるのは実務経験ですが、実務経験がないからこそ未経験からの就職や転職を目指そうというのですから、その道のりは簡単ではないのでしょう。

本稿では、未経験と実務経験の間にあるギャップについて考察し、私たちソニックガーデンの取り組みについて紹介します。ちなみに、ここでの「未経験」とは独学・スクール問わず学習はしてても実務経験がないことを指します。

未経験から職業エンジニアになるのが難しい理由

未経験から職業エンジニアになるのが非常に難しい理由は、実務経験がない人を採用しても、多くの場合ソフトウェア開発においては楽にならないからです。

このことは拙著「人が増えても速くならない」に詳しく書いていますが、実際のところ未経験者をプロジェクトに入れたら、生産性が上がらないどころか、むしろ落ちてしまいます。

仕事を細かく指示するくらいなら、そのままプログラミングした方が速いし、低い品質の設計は指摘して直させるよりゼロから考え直した方が速い。それが現実です。

すぐに役に立たなくても、少しして慣れたら戦力になるのでは・・・と思うかもしれませんが、ソフトウェア開発はルーチンワークではないため、キーボードやツールの使い方に慣れることはあっても、設計や問題解決といった本質的な部分で成果を出すには、やはり相応の経験が要ります。

そして、ソフトウェア開発では本質的な仕事以外の雑用だったり、言われた通りにやるだけでいいような作業などは、今やほぼ自動化できるため殆どありません。むしろ、そうして人手をかけなくて済むようにすることがエンジニアの仕事ともいえます。

技術的負債にもならず、メンテナンスしやすく、機能が増えても機能追加しやすく、不具合の少ない品質の高いソフトウェアを作り続けることは、今や事業や経営にとっても重要なことだと理解できるはずです。ただ、そうしたソフトウェアを作るのは未経験者を何人集めたところで出来ません。

もちろん、未経験だからと言って可能性はゼロではありません。当人の努力と運次第では就職することもありえます。

未経験を採用するのは労働力ではなく長期的投資

未経験者を採用したり、リスキリングの機会を提供するとしたら、それは短期的な生産性向上を狙うのではなく、長い目でみた投資のような形で取り組むケースはあります。仮に、そうでないなら良い環境とは言い難いでしょう。

ここでいう「長い」が、どの程度なのか。未経験からは1〜2ヶ月や半年では、メンバーとして足し算にできるほどの戦力になるのは難しいでしょう。求めるクオリティやスピードによりますが、少なくとも慣れたらできるようなものではありません。

かといって、研修をすればできるようになるものでもありません。座学的な部分については研修で学べますが、設計やプログラミングはフィジカルな体験が必要です。自転車や車の運転を座学だけではできないのと同じことです。

また、未経験者が成果を出せるほどになるまで、誰か熟練者が仕事を噛み砕いて用意して、出来上がったものをレビューして、ソフトウェア開発の考え方などを伝えていかない限りは、独学でやっているのと変わりません。

よって育成には育てる側の人の時間というコストもかかります。しかも、それだけコストをかけたとしても、どれ位でパフォーマンスを発揮できるか人によって違いますし、場合によっては育ったそばから転職されていくこともありえます。

プロサッカーのユース組織のように、若いうちから育ててトップチームで活躍するまでになれば、移籍金も入るので良いかもしれませんが、エンジニアの場合はそうはいきません。なので、投資としても難易度が高いのです。

そこまで見越した上で取り組めば、その開発組織のカルチャーを担う人材になってくれる希望はあります。それは未経験から育成してからこそです。

エンジニアが実務経験で得られるのは品質と速度

実務経験を求めるのは、実務経験でしか得られないものがあるからです。それは品質と速度の基準が高まることです。このことは一人でプログラミングし続けても身につけられる可能性はありますが、実務に耐えうる高いレベルに至れるのは一握りでしょう。

良いプログラムを書くことのできる熟練の人たちからコードレビューを受けることができれば、より高い品質の基準を知ることができ、倣うことで身につけていくことができます。

組織に入り、すでに確立された開発手法や仕事の進め方を身につけることができれば、より高い生産性を発揮できたり、エンジニアとしての成長の速度も早くすることができます。

もちろん、こうした機会があるならば実務でなくても構いませんが、現実的に考えて仕事以外の時間で取り組むには時間も足りないだろうし、実務以外で厳しくフィードバックをしてくれる環境はほぼないでしょう。それが独学の限界です。

プログラミングの本当の最初の一歩としてスクールに行くのもいいですが、得られるのは基本的な知識です。経験は実務に比べて少なくなってしまいます。なぜなら、どうしても生徒側がスクールの顧客であるという構造上、プレッシャーのかかる状況にはなりにくいからです。これも人によるかもしれませんが、多くの場合スクールを出ただけでは現場で働けるとは言い難いと感じます。

またスクールで受講するという受け身の姿勢から、教わるものではなく自分で実践し、経験を積むものだという姿勢に変わらないと、その先を職業として取り組んでいくには難しいでしょう。ソフトウェア開発は問題解決の仕事であり、再現性が低い仕事でもあるので、何かを一通り教えたら出来るようになる訳ではないからです。

未経験でも実務に近い経験が得られる機会を作る

数年前から私たちソニックガーデンでは未経験も含めた若手のプログラマ採用を始めていますが、これは即戦力としてではなく数年がかりの投資として考えています。(ソニックガーデンではエンジニアをプログラマと表現しています)

仕事の型を身につけたり、厳しいフィードバックを受けたりして、育つには手間も時間もかかるし大変ですが、それでもソニックガーデンのプログラマとして働きたいと、しんどくても自ら成長する機会を得たいという人たちがいるから受け入れています。

そうした職業プログラマとして働き始める前に、未経験の状態とのギャップを埋める機会や経験の浅いプログラマの育成の機会として始めたのが「ソニックガーデンキャンプ」です。これはソニックガーデンへの応募に関わらず参加できます。応募に実務経験はあってもなくても構いませんが、基礎的な部分は独学なりスクールなりで身につけている必要はあります。

ソニックガーデンキャンプでは、実務に近い経験を得られる場として用意しています。約1ヶ月間の日中フルタイムでチームを組んでアプリ開発をしてもらう中で、「タスクばらし」や「ふりかえり」といった仕事の型(の基礎)も身につけられるようになっています。言ってみれば、ソニックガーデンで働く擬似体験みたいなものです。

独学したりスクールに通ったりして次のステップをどうするのか。本気でやっていきたい、自分で作れるようになりたい、厳しい実務を体験したい。そんな思いに応える場にしたいと運営しています。無料の代わりに、自ら取り組む姿勢が求められるハードさはありますが、それを乗り越えた先には、ソフトウェア開発の本当の楽しさも知ることができるはずです。

ソニックガーデンキャンプを経験した後、ソニックガーデンに応募して入社したメンバーの中には、他業種にいて未経験からチャレンジした人もいます。そのメンバーたちは今プログラマとして成長できる日々を過ごしており、まさしくエンジニアキャリアの道を進み始めています。

参考URL

↓ 過去のキャンプ参加者たちのインタビュー

第1回ソニックガーデンキャンプ参加者インタビュー

第2回ソニックガーデンキャンプ参加者インタビュー

第3回ソニックガーデンキャンプ参加者インタビュー

↓ 設計力の高め方についての記事

これから更新する記事のお知らせをLINEで受け取りたい方はこちら。

倉貫 義人

株式会社ソニックガーデン代表取締役社長。経営を通じた自身の体験と思考をログとして残しています。「こんな経営もあるんだ」と、新たな視点を得てもらえるとうれしいです。

ページ上部へ