KIMAGUREブログ

気まぐれ更新のブログです!

未経験からエンジニアになるための戦略を練る

今の自分自身を自分が雇いたいと思うか? 答えは『No』だ!

はじめに

このブログは「未経験からITエンジニアとして就職するにはどうすればいいか?」という問いに対する、僕なりの答え - give IT a tryを見て「自分も戦略を立ててみよう!」と思ったのがきっかけで書いたブログです。

自分なりに立てた戦略は以下の3つです

戦略① ITエンジニア市場で供給量の少ない人材を目指す

戦略② 積極的にアウトプットをする

戦略③ 実務経験を積む

戦略① ITエンジニア市場で供給量の少ない人材を目指す

市場で需要の多いスキルにも関わらず、そのスキルを持った人材の供給が足りてない場合、その人材の価値は自ずと高まり、「市場で有利になるのでは?」と考えたので戦略①を立てました。

実際の市場動向を知るためにいくつかのサイトを参考にさせていただきました。

上のサイトを見る限り、IT市場全体として人材供給量が不足している ということが言えそうです。より人材が不足している分野は「クラウド」「セキュリティ」「ビックデータ」等が挙げられています。このあたりから得意分野や好きな分野を見つけて身につけることができれば、アピールポイントにもなり、未経験でも採用される確率を上げることができそうです。

統計だけでなく、採用する側(需要側)の意見をもっと知りたいと思ったので、いくつか参考にさせていただきました。

上記以外にもいくつかブログ等を拝見したのですが、「プログラミングスクール卒や独学未経験からの中途入社というのはかなり風当たりが強いなぁ」という印象です。
また、採用側の本音としては

『経験豊富な即戦力中途人材 > 情報系学校新卒 >>>>> スクール卒or独学未経験中途人材』

ということが伺えます。いくらIT人材が不足しているといえども、「IT人材なら誰でもいい」というわけではなさそうです。

そもそも専門職であるエンジニアを未経験から中途採用することは、企業側・採用担当の方も高いリスクを伴うことだと思います。日本の場合、雇用規制の関係上、自社に全くマッチしていない人材を採用してしまったとしても、1度採用すると簡単に解雇というわけにもいかないため、採用側はより慎重にならざるを得ない という事情もあると思います。
そう考えた時、年齢的には新卒と呼べず、スキル・経験は新卒相当(もしくは未満)の未経験人材を雇うメリットはほぼないと思います。

単純に年齢・スキル勝負だけでは勝ち目がなさそうなので、次の戦略に移りたいと思います。

戦略② 積極的にアウトプットをする

採用側のブログを見ていて「テンプレート回答ばかりで、人物像が見えてこない場合は不採用になる確率高いのでは?」という推論が立ちました。
「自社にカルチャーマッチしているのか?」「自走してくれるエンジニアになってくれるか?」「コードスキルはあるのか?」「コミュニケーション能力はあるのか?」「どういうモチベーションでエンジニアを目指してるのか?」等、採用側の判断材料にしてもらうために、戦略②は有効だと思いました。
実は、このブログも戦略(というか戦術?)の一環です。自分のモノの考え方や人となりを少しでも知ってもらいたい という思いから書いています。

ブログだけではなく、自作アプリケーションを開発することも有効なアウトプットだと思います。ただこれに関しては、スクールの課題をこなしただけの「なんちゃって自作アプリ」では不採用だと思います。

応募者:「自作アプリをつくりました!(実際はメルカリのクローンアプリ)」
面接官:「メルカリとの差別点はなんですか?」
応募者:「……………ないです」

上のようにならないためにも、なるべくオリジナリティのあるアプリを開発するべきだと思います。 「どんな問題を解決したくてそのアプリを開発したのか? そのアプリを使えばどう解決できるのか?」「開発中どこに苦労して、どこに喜びを感じたか」「開発中どんな問題に直面してどう解決したのか?」等をはっきりと言語化できるようにすれば面接の際、アピールポイントになるのではないでしょうか。
自分の入会しているフィヨルドブートキャンプ(以下FBC)の場合、オリジナルのアプリをつくるというカリキュラムが組み込まれているので、クリアできればかなりの強みになると思います。

その他のアウトプットとしてはエンジニアコミュニティの発表会で登壇する、OSSに参加する等も考えられます。 OSSへの参加は現時点では難しいですが、発表会に関してはFBCのLT会などがあるので挑戦したいと考えています。

戦略③ 実務経験を積む

自分がFBCに入る際にも参考にさせてもらったブログにも書いてあるのですが、実際の現場スキルとプログラミングスクールや授業で学んだスキルの間には大きな乖離があるようです。技術書を読んだり、自分でコードを書くだけでは得られない、『現場力』という隠れスキル(?)が必要です。
実際にエンジニアとして働いている方々とチーム開発を経験し、コードレビューを受けたり、issueを解決したり、実務経験(もしくはそれ相当)を積むことでしか得られない学びがあり、それが『現場力』を培うのだと思います。未経験の場合、この『現場力』がないため不採用というのが現実問題としてあるのではないでしょうか。

この問題を解決するには、自分も実務経験を積むしかないと思います。FBCでは終盤にシステム開発のカリキュラムが組まれており、現役のエンジニア兼メンターさん&他の生徒と一緒に、bootcampの開発に取り組みます。自分たちが今まで使ってきた学習サービスを自分たちの手で開発するという体験ができます。
自分は未到達なので詳しくは分かりませんが、想像だとかなりハードな内容に感じます。ただクリアできた暁には実務経験に匹敵する『現場力』が身に付くと思います。
また、チーム開発を通して得た経験談をアピールできるのも就職時の強みになると思います。

おわりに

戦略ばかりを書いてきましたが、現時点での自分は戦略を実現しうるだけのスキルを持っていません。完全な実力不足です。実力の伴わない戦略はただの絵空事に過ぎないので、引き続きFBCのカリキュラムに全力で取り組みたいと思います。そして冒頭の答えを『Yes』に変えるよう努力していきたいです。
あと就職やエンジニアになることはゴールではなく、あくまでもキャリアとしてのスタートに過ぎません。「就職して何がしたいか?」「エンジニアになったあと何を実現したいか?」という問いに対して明確なビジョンを持つことが大事だと思います。