未経験からエンジニアへ転職できる?学習方法と面接対策

今回インタビューさせていただいたのは、完全未経験からエンジニアへの転職を成功させたhakkyさん。

全く畑違いの飲食業からエンジニアへの転職を成功させ、アプリ開発における全ての工程に携わることができるフルスタックエンジニアを目指して現在も努力を重ねていらっしゃいます。

  • 未経験からエンジニアへの転職を考えている
  • 転職に備えて何を準備すればいいかわからない
  • 自力で開発できるスキルを身に付けたい

そんな方にhakkyさんの成功体験をお伝えします。

Recursionユーザー hakky

hakkyさん

理系大学卒業後に飲食業へ就職したが、エンジニアへの転職を目指してプログラミングの学習スタート。約半年の独学後、Recursionでの学習を開始した。完全未経験だったが無事エンジニアとしての転職を成功させた。

未経験からエンジニア転職を目指しRecursionを開始

――hakkyさん、インタビューをお受けいただいてありがとうございます。早速ですが簡単な経歴と、プログラミング経験の有無について教えていただけますか?

大学では化学・生物学を専攻していました。特に偏差値のある学校ではありません。卒業後の進路は飲食業です。プログラミングは完全未経験ですが、エンジニアへの転職を目指して学習を始めました。

Recursion始める前に半年ほど、独学とスクールで学習しました。スクールではPHP(Laravel)とVueを学習しましたが、この段階では自分のアイディアをコードに落とし込めるスキルはありませんでした。

――Recursionを始めたのはなぜですか?

半年間の学習を終えた段階で、自分で考えてコードを書けるスキルが身についていないことに焦りを感じていました。スクールで表面的なことを学んだだけでは、自力でコードを書くための基礎が理解できていなかったからです。そんな時、TwitterでRecursionの存在を知り、コンピュータサイエンスを通してプログラミングの基礎的な学習が出来ると思いRecursionを始めました。

まずは無料会員登録をして、無料でできる分だけを学習しました。無料のコンテンツ分だけでも、今まで曖昧だった部分が明確になり、プログラミングの知識が定着していることを実感しました。「これが自分が求めていた学習プラットフォームだ」と確信し、有料会員になりました。

――Recursionで学習してみてどうでしたか?何か変化がありましたか?

Recursionを始める前までは、自分の書いたコードの意味がわからず、ただ漠然と学習を続けていることが多かったです。Recursionを始めてからは、分からないことがあっても自分で調べることができるようになり、必要としている答えにたどり着くことができるようになりました。自分で考えてコードを書くことができ、想定通りに動かせるのがとても楽しく、アプリ開発が以前よりもさらに好きになりました。

――Recursionを知人におすすめできますか?

もちろん、おすすめできます。

Recursionではコンピュータサイエンスの基礎から学習でき、曖昧な知識のままコンテンツが進むことはありません。自分でも成長している実感があるので継続して学習を進めることができます。

かなりの数のコーディング問題を解くので、コーディングに慣れることもおすすめできるポイントです。難しい問題は動画解説もありますし、他のユーザーの解答を見ることもできます。自分が思いつかなかった解き方で解いていたり、自分よりも可読性のあるコードを書いていたりして、とても参考になりました。

また、詰まってもコミュニティ内で質問できる環境があること、プロジェクトやフレームワークのコンテンツに取り組むことで、ポートフォリオの制作もできるところなどもおすすめできる理由です。

チーム開発に参加できることも、未経験から転職を目指すにあたってアピール材料の1つになりとても良い経験ができました。

そして、転職活動に必要な職務経歴書の作成時には、Recursion創業者のshinyaさんからのフィードバックを何度ももらうことができ、書類選考で自信を持つことができるようになりました。文章を書くことが苦手なのでとても助かりました。

――Recursionをどのように利用しましたか?

Recursionのロードマップに従い進めました。まずは、初級から中級をJavaScript, Javaで1周ずつ行い、上級、OOP、デザインパターンはJavaで行いました。1日の学習時間は6~8時間です。前職はすでに退職していたので、転職するまでほぼ毎日プログラミングに費やしました。

チーム開発に参加させていただいたこともあって、その時使用したフロントエンドのVue.jsの習得に割いた時間が長かったように思います。

また、プロジェクトやフレームワークの課題に取り組む中でOOPの考え方がかなり重要になり、中級のオブジェクトとOOPのコンテンツは何度も復習しました。

プロジェクトについては、Project3まで取り組み、Project4は最後の制作物は作っていませんが同期・非同期の学習項目はすべて取り組みました。

――Recursion以外のサービスを利用しましたか?

Recursionを始める前は4ヶ月ぐらいスクールを利用しました。私には合っていなかったのか、先ほどお話したように自分の期待するスキルの定着はありませんでした。

他には、転職活動のコーディング試験の対策として、paizaを利用しました。ランクBまで上がり、スカウトやオファーがそれなりに来ましたが、レガシー技術を使った大規模なシステムの開発をするところでかつフルリモートで働ける企業はほとんどなかったので転職サイトとしては利用しませんでした。

――Recursion以外のサービスを利用しましたか?

主に以下の本を読みました。

ネットワークやweb周りの知識を身に付けるために、「Webを支える技術」と「Linuxで動かしながら学ぶTCP/IPネットワーク入門」を読みました。ネットワークに関してはまだ知識が曖昧な部分があるのでもう一冊ぐらい読みたいと考えています。

未経験からエンジニアへの転職活動でやっておくべきこと

――転職活動についてもお聞かせください。まずはどのような方針で会社選びをしたのですか?

ユーザーの目線で開発がしやすい、またそれが要求される企業を探していました。理由は自分のやっている仕事が誰の役に立っているのかが明確に分かっていないと仕事に対するモチベーションが保てる気がしなかったためです。

上記の理由から、自社開発か中小規模の開発ができる受託開発、アプリ開発の工程全てに携わることができる企業を中心に選考を受けました。大規模開発だと開発箇所が明確に分けられ、部分的な開発を担当することが多くなるらしいです。これはカジュアル面談を通して知りました。また大規模な開発だとモダンな言語やフレームワークといった技術はあまり使わないらしいです。

また、地方在住のため、基本はフルリモートができることも条件に入れていました。しかし、未経験でフルリモートの条件だとかなり企業数が絞られます。

そしてエンジニアとして成長できる環境が整っているところも外せない条件の1つでした。例えば以下のような環境がある企業はかなり魅力的です。

  • 有名企業での実務経験があるエンジニアが所属しておりアドバイスが貰える
  • オンボーディング制度がある
  • 開発マシンの支給や書籍購入補助がある

転職サイトはGreenを利用しました。ベンチャー企業の求人が多いことと職務経歴書を充実させると未経験でもカジュアル面談のオファーやスカウトも来たので、私はこのサイトのみで転職活動をしていました。

――転職活動を始めてどれくらいで内定が出ましたか?

8月に具体的な転職活動を始めましたが、ちょうど企業が夏季休暇に入ったことと私自身がコロナにかかったこともあり、9月の半ばから再始動し10月中旬に内定をいただくことができました。期間は2〜3ヶ月ぐらいだと思います。

――選考の流れはどのように進みましたか?

内定をいただいた企業においては、まずはカジュアル面談があり、その後一次面接、コーディング試験(最終試験)という流れで進みました。

企業によって面接の回数が増えたり、リファレンスチェックがある場合もありました。

――コーディング試験はどのような内容でしたか?

コーディング試験は3つのクラスが与えられ、そのクラスを用いて1時間以内に関数の作成とそのテストケースを考えるという問題を解きました。

実施方法は、画面共有をしながら問題を解く形式で、プログラミングに直接関わる質問はNGですが、わからない英語の意味を聞いたり問題の意味を聞いたり、公式ドキュメントやネット記事を見たり、ブラウザでググったりすることもできました。

最後に何を考えて実装しようとしたかを伝える時間がありました。

――結果はどうでしたか?

時間内に問題を解くことができなかったのですが、最後の説明で未実装の関数の部分に関しても実装内容を伝えることができたのは良かったです。コメントアウトで実装したい内容を先に書いてから問題を解き始めたので、未実装の部分はそのコメントアウトを読みながら説明しました。

テストケースは経験が少なく、よく分からなかったので分かりませんと正直に伝えました。

フィードバックでは、担当者様から未完成だが大まかな実装は合っていると言われました。

――内定をもらえた一番の要因は何だったでしょうか?

成果物があり、それをしっかりとアピールできたことが一番の要因だと思います。

  • 明確な志望動機があったこと
  • 1年以上のプログラミングの学習経験
  • フロント、バックエンド、モバイルの開発経験とコンピュータサイエンスでの基礎知識など幅広く学習をしてきたこと
  • チーム開発での成果物と個人での成果物があり、それを面接時に採用者様にアピールできたこと

これらも採用者様に興味を持ってもらえたのではないかと思います。成果物に関しては実際に担当者に動かしてもらう機会があり、「面白い」と言ってもらえました。その際に、成果物に関しての制作理由・背景、こだわりポイントなどをしっかり伝えることができたことも良かったのではないかと思います。

Recursion創業者のshinyaさんに職務経歴書を添削してもらっていたことで、アピールすべきポイントをしっかり言語化しておくことができたのも大きいと思います。

――未経験者がエンジニアに転職するためにやっておいた方が良いことは何だと思いますか?

まずは「志望動機を明確にして、面接で伝えられるようにすること」が大事なのではないかと思います。私は面接に苦手意識があったので、スマホアプリを活用し毎日15分ぐらい面接練習をしていました。機械的な喋り方にならないように文章を覚えるのではなく、キーワードを頭に入れそこから言葉が自然と出るように意識していました。

以前、Twitterかネットの記事で見かけたのですが、「カジュアル面談では志望動機は聞かれない、また聞いてはいけないなどの決まりがあるに対し面談担当者から質問され自分がうまく答えられず不満を覚えた」と言っていた人がいました。

私はこれを見て志望度が高い企業に関しては必ずカジュアル面談の段階で志望動機は明確にしておくべきだと思いました。ここでうまく伝えることができれば他の求職者より好印象を与えることができ、この先の選考も少なからず進みやすくなると思います。面接時に余計な緊張をしないですむような気がします。

またプロジェクトやフレームワークでの成果物では、作り終えたらすぐにREADMEなどにアプリの概要をまとめることをおすすめします。あとでまとめてやろうとすると時間が経過して内容を忘れている場合があり、時間が必要以上にかかるからです。まとめてやりましたが、かなり大変でした。

Recursionではチーム開発も個人の開発もできるので、面接時に未経験でも技術的なアピールができておすすめです。

未経験からフルスタックエンジニアへ!多くの人の役に立つアプリを開発したい

――転職後の業務内容の概要を教えていただけますか?

現在はオンボーディングの段階で課題図書と実務で使う技術のチュートリアルをやっています。これからはスクラム開発でのアプリの自作->自社システムの改修・機能追加->実際の案件と段階的に進んで行くと思います。

――前の仕事に比べて給料は上がりましたか?

前職は飲食業ということもありそこまで多くの収入がありませんでしたが、前職でかなり残業して貰っていた給料と今の会社でのスタート時(ジュニアクラス)の給料が同じくらいなのでスキルを積み昇給すればかなり変わると思っています。

――今後の展望があればお聞かせください。

最終的には特定の領域に限らず、アプリ開発における全ての工程(クライアントとの交渉を含む)ができるフルスタックなエンジニアになることが会社の方針でもあり、私自身そうなりたいと考えています。

これからも学習を継続し着実に力をつけ、多くの人の役に立つアプリケーションをたくさん作りたいと思います。

――最後にRecursionを始めたばかりのユーザーへのアドバイスをお願いします。

Recursionはコンテンツの量が多いので、事前に長期的な学習を認識した方が良いと思います。仮に短期的な学習計画を立てた場合だと、難しいコンテンツや問題、プロジェクトに取り組んだときに自分の予想よりも多くの時間を費やしてしまうと遅れている認識をしてしまい、モチベーションが下がってしまうと思うからです。

Recursionはとにかく学習し続けることが重要だと思います。

  • わかない問題に直面した場合は、コミュニティで質問すること
  • ロードマップを見て、どこまで到達できたら転職活動するか決めておくこと

なども大事なことです。

Recursionはコンテンツが増え続け学習は無限にできると思うので。おそらくチーム開発を目安にすると転職活動でもアピールすることができいいのかなと思いました。

――hakkyさん、貴重なお話を聞かせていただいてありがとうございました。