転職ノウハウ

【2022年最新】with/afterコロナ時代に未経験からRuby on Railsを使用したエンジニア転職について徹底考察

エンジニアになりたいけど、コロナウイルスの影響が落ち着かないと中々行動できない。。。といった方もいらっしゃるかと思います。
そこで、様々な生徒さんをWebエンジニアとして送り出してきたプログラミングスクールRUNTEQが『今』の時代何をどのくらい学習をすれば、Webエンジニアへ転職が可能になるのか採用側の厳しい意見を参考に考えてみました。Ruby on Railsを使用したスタートアップ企業への就職を目指している皆さんの参考になれば嬉しいです。

0. 未経験からエンジニアとして就職するために必要なものは?

コロナウイルスの影響でリモートワークが可能な職種としてエンジニアを目指す方が増えています。しかし、採用市場ではより一層未経験者へ求められるレベルが上ってきているのが現実です。以前であれば、3ヶ月から半年くらいの学習で転職できたケースがありましたが、with/afterコロナの状況では、半年から1年程度の学習が必要になるケースが多いです。
「エンジニアになりたい!」でも、そもそもエンジニアとして就職するためには何が必要なのでしょうか?

未経験エンジニアに対する選考では、大きく2つの観点から候補者の適性を見ています。「Webエンジニアとしての適性」と「企業への適性」の2つです。これらをきちんと満たしていれば、就職活動は間違いなく成功すると考えています。

1. Webエンジニアとしての適性

では一体、エンジニアに求められる適性とは何なのか?
大きく分けて3つ特徴があります。

  1. インプットの習慣
  2. アウトプットの習慣
  3. 知的好奇心を持っている

それぞれ詳しく解説していきます。

1.インプットの習慣
エンジニア界隈では常に新しい技術が目まぐるしいスピードで出てきます。何も学習せずに現状を維持していると、相対的にエンジニアとしての価値が下がってしまうため、当たり前のように継続学習が求められます。まだエンジニアデビューしていない段階から学習習慣が作れないようであれば、エンジニアには向いていないかもしれません。就職してからの学習の方が大変なので、きちんと習慣化することを心がけましょう。

2.アウトプットの習慣
学習を習慣化してインプットが増えても、アウトプットしなければ仕事に活かすことができません。そのため、多くのエンジニアは技術ブログを書いたり、趣味でアプリを作ってみたりと常にアウトプットを絶やしません。また、アウトプットすることでエンジニア業界に貢献することは強く奨励される文化があります。OSS活動などが良い例でしょう。

3.知的好奇心を持っている
ここまでインプットとアウトプットの習慣化が大事とお伝えしましたが、それらの行動の源泉にあるのが「知的好奇心」です。無理に学習を習慣化しようとするのではなく、知的好奇心を満たそうとしていたらいつの間にか学習が習慣化されていたという状態です。「睡眠時間を削ってでもプログラミングを勉強したい!」「パズルを解くような感覚!」「ゲームのような没入感があって時間を忘れられる」というような経験をしたことがありませんか。これこそまさに知的好奇心という名のエンジニア適性です。

これら3つがWebエンジニアに求められている適性です。Webエンジニアの仕事はとても大変です。実務経験のない未経験エンジニアを採用する時に、すぐに辞めてしまわないか判断するためにも面接などを通して上記の適性チェックを行っています。

では、Webエンジニア適性に合格した場合、次にどんな適性を見られるのでしょうか。

2. 企業への適性

Webエンジニアの適性があると判断された場合は、次に企業への適性を見られます。簡単にいうと、「うちの会社で長期的に活躍してくれる人材になりそうか?」ということを複数の観点から判断されます。今回はスタートアップ企業でよく見られるチェック項目を4つご紹介します。


具体的にどういったものか図で分けてみました。
それぞれ詳しく解説していきます。

企業への適性チェック項目

マインドセット
・個人だけでなく会社と共に成長しようという人
・会社が急成長して変化しても適応できる人
・ユーザーファースト、クライアントファースト

自身の成長ばかり追いかけている人は会社からはあまり必要とされません。
会社の成長のためにどう個人が成長していけば良いかという点を考えられるマインドセットが重要です。さらには、スタートアップはJカーブと呼ばれる成長曲線を描きます。この急成長の過程で多くの変化が伴うため、変化に対する適応力が求められます。また、ただ指示されたまま開発するのではなく、ユーザーやクライアントのことを第一に考えて開発するマインドセットが求められています。

コミュニケーションスキル
・オープンなコミュニケーション
・チームワークを大事にする
・リモートスキル

なぜ、オープンなコミュニケーションが大事なのかというと、スタートアップはスピード感が重要です。進捗や不明点を隠されてしまうと遅れに気づけません。隠すのではなく認知してもらい、チーム全体でフォローしていく方が重要です。また、コロナの影響によりリモートワークが主流になり、お互い直接会えない状態なのでますますオープンなコミュニケーションというのは重要になっています。リモートワークに必須なツールを使いこなして、ビデオチャットやテキストコミュニケーションで意思疎通をきちんとできる能力が求められます。

ミッション/サービスへの理解、共感が深い
・会社がどんな課題をどのように解決しているか理解している
・会社のミッションに共感している

with/afterコロナでは、より一層この要素が重視される傾向にあると思います。これまで未経験エンジニアとして就職した駆け出しエンジニアが、フリーランスを目指すなどの理由で1年足らずで退職してしまうということが増えていました。基本的に未経験エンジニアは教育コストが高いため、育ったら巣立つという構図は会社にとっては損失でしかありません。したがって、会社のサービスやミッション、ビジョンへの共感がとても重要な要素となってきます。ここは特に志望理由などで問われる内容になっています。

自走力
・技術的な課題を自己解決していく能力
・実装する意味や背景を把握して仕事に取り組める

スタートアップは少数精鋭で運営されていることが多いので、毎回手厚いサポートを受けられる余裕があるとは限りません。与えられたIssueを自分の力でタスクに分解して実装していく最低限の技術的なスキルが重要です。
また、その実装をする意味や背景を把握して仕事に取り組む能力も必要です。ここはビジネススキルとして前職での実績や経験を通して判断したり、または前職の業界知識などがマッチしていると高い評価を得ることができます。

今回はスタートアップの共通項となりうる要素として紹介していますが、会社ごとに「Value」という従業員の行動規範を定めているケースもあります。そのValueに沿った人材であるかなども観点に入ってくるかと思います。例えば弊社では「GGT」というValueがあります。これは他人に対してGive、さらにGiveをして、その後Takeしましょう、という行動規範です。義理、人情、恩返しを大切にして人とのつながりを大切にする価値観を表してます。選考を通してこの行動規範を体現できていれば高評価につながります。


上記大きく4つを紹介してきましたが、この中で短期間で飛躍的に伸ばすことができる能力が、自走力の中の「技術的な課題を自己解決していく能力」になります。
では、どのようにこの能力を身につけていくべきかを解説していきます。

3. 技術的な自己解決能力

具体的に技術的な自己解決能力とは何かを大きくレベル別に分けてみました。
各レベルごとに分けて解説していきます。

レベル1:MUST HAVE
簡単なIssueを先輩の力を借りながら実装できるために必要なスキルです。

基本的なコーディングの知識の中には、HTML、CSS、Javascript、Ruby、Ruby on Railsなどが挙げられます。

デバッグに関しては開発を進める上でエラーが出た際の解決手法として身につけておきましょう。また、自己解決できない場合は先輩へ適切に質問する能力も必要です。

その他の項目は現場の開発フローで必ず出てくるものです。
例えば、GitやLintチェックなどは現場では当たり前に使われていますし、ローカルでの開発環境を構築できることは仕事を始められる前提となります。

就職活動ではこのレベル感は必須だと考えているので、まずはこのレベルを目指して学習を進めましょう。

レベル2:NICE TO HAVE
このレベルからは簡単なIssueを独力でこなすことができるようになります。

与えられたIssueをタスクに分解していく力が必要になります。また、バグ修正や機能追加をする前に先輩たちが書いたコードを読む力が必要になります。そしてRspecは業務を進める上でマナーに近いスキルなので適切なテストを書けるようになっておきましょう。

レベル3:EXCELLENT TO HAVE
少し難しいIssueを独力で実装できるスキルです。

  • バッチ処理を自分で作成できる
  • オブジェクト指向を理解した実装ができる
  • ソートアルゴリズムが自力で書ける
  • SQLでやや複雑なデータを取得できる
  • Rubyの基礎が身についている
  • OSやネットワークの基礎知識がある
  • Webサーバ、KVS、RDBMSなどを含めたミドルウェアの理解
  • Dockerを用いてRubyの開発環境が作れる
  • Vue.jsやReactなどモダンなフレームワークへの理解
  • APIへの理解
  • AWSの基本的な考え方や設計、構築方法を理解している

この辺りの技術に関しては、知っていることが重要というよりは、新しい技術を自分で調べ、理解できる能力として、アピールをすることが必要です。エンジニア界隈でよく言われる「完全に理解した」レベルの理解まで学べているととても高い評価を得られます。
https://togetter.com/li/1268851

このレベルを達成できると先輩は教える必要がなくなり完全な自走型人材になります。会社でも戦力としてみなされるのでどんどん仕事を任せてもらえます。with/afterコロナではレベル2が当たり前の世界になって、レベル3に到達できるようになるかが勝負になっていくと思います。

ちなみに、RUNTEQでは自走力のレベル2までは最低限の引き上げができますが、レベル3からは本人の知的好奇心に大きく左右されます。RUNTEQでは定期的な勉強会の開催やVue.jsのカリキュラムを取り入れるなど、レベル3に挑んでもらえる仕組み作りはこれからも行っていきます。

4. どのくらいの期間の学習が必要か?

エンジニアになるために何を学習すれば良いのかは明確になったかと思いますが、ここからはどのくらいの期間学習すれば良いかを解説します。結論から言うと、人によって必要な学習時間は全く異なります。例えば下記に、内定を獲得した時点での未経験エンジニアの評価を記載しました。

就職活動は技術的な要素だけではありません。今回お伝えした、Webエンジニアへの適性に加えて、会社への適性を判断されます。会社への適性は「マインドセット」「コミュニケーションスキル」「ミッション/サービス理解」「自走力」を総合的に判断されるため、人によって学習すべき量が全く異なります。

したがって、技術的な自走力は低くても、マインドセットやコミュニケーション能力で補完するパターンもありますし、反対にコミュニケーションがちょっと苦手な方は自走力などでカバーする必要があります。

とはいえ技術的な自走力が低いまま就職してしまうと、入社してから困ることになってしまうため、事前にしっかり学習しておきましょう。

5. 未経験からWebエンジニアに就職したその後

大変長々と解説してきましたが、以上がwith/afterコロナ時代のWebエンジニアの目指し方です。いかがでしたでしょうか?中には難しいと感じた方もいらっしゃるかもしれません。ただし、これら全てを満たさないと就職できないという意味ではありませんので、得意な部分はこれからも伸ばしていき、反対に苦手な部分は1つずつ補っていけば良いだけです。何を対策すれば良いかわかっただけでも大きな前進です。求められる適性をきちんとアピールすることさえできれば、確実にWebエンジニアとして就職することができます。

最後に、就職したあとのお話を少しだけさせていただきたいと思います。

就職おめでとう!とはなりますが、同時にやっとスタートラインに立てたという意味でもあります。
大半の方が就職後のほうがきついとおっしゃっています。そうです、エンジニアになるのも大変ですが、実はなった後の方がより大変です。
日々慣れない環境で変わりゆく市場環境に合わせての開発、新しく出てくる技術のキャッチアップで手一杯になってしまうこともあります。
そんな中で、卒業後も戻ってこられる温かいコミュニティをRUNTEQでは用意しております。実務で詰まったらいつでも相談できるように、就職後も卒業生が遊びに来たくなるプログラミングスクール NO.1を目指してこれからもRUNTEQを運営してまいります。

https://runteq.jp

 

この記事を読んだ方にオススメ