今回インタビューさせていただいたのは、SIerからバックエンドエンジニアへ転職を成功させたあむにすさん。コンピュータサイエンスを学習し、合計6社から内定を獲得することができました。
- SIerからバックエンドエンジニアに転職したい
- 転職選考を勝ち抜く戦略が知りたい
- バックエンドエンジニアになるための効率的な学習方法が知り合い
そんな方にあむにすさんの成功体験をお伝えします。
あむにすさん
目次
SIerから抜け出す!バックエンドエンジニアとして開発がしたい
――あむにすさん、インタビューをお受けいただいてありがとうございます。早速ですが簡単な経歴と、プログラミング経験の有無について教えていただけますか?
大学では計量経済学を専攻していました。大学卒業後SIerに入社し、約1年間Webアプリケーションの開発と運用保守を行いました。
プログラミング経験については、大学のゼミでRを少し経験しています。また、新卒の就活が終了した後、Pythonの入門書を1冊やりました。
――Recursionを始めた理由は何ですか?
大学4年の1月に始めましたが、長期的には、エンジニアとしてより良いキャリアを構築するためです。短期的には「開発できる部署に行く」、そのためには「研修で良い成績を出す」という目的がありました。
SIerでは仮にシステムエンジニアとして採用されたとしても、全く開発をやらなかったり、開発できてもレガシーなケースが少なくない確率であるため、入社前からそのリスクを常に念頭に置いていました。仮にそのリスクが現実になったとしても対応できるような基礎力をつけることが自分には必要でした。
――Recursionを知人におすすめできますか?
おすすめできます。ポートフォリオを作成する際に引き出しが増えるからです。
プログラミングを勉強する際の通説として「作りたいものをまずは決めましょう」というものがありますが、引き出しがない状態ではそもそも作りたいものは思いつきません。思いついたとしてもその上位互換が世の中には既にありますし、自分で作れるレベルではないと初手で挫折しがちだと思います。
Recursionを通してコンピュータサイエンスの基礎やプロジェクト開発を学習することで引き出しを増やすことができます。
そして引き出しが増えたことで、行きたい会社の求人要項から「この求人に応募するためにはこんな技術的ポイントを含めれば良く、それを満たすようなポートフォリオはこれがある」という当たりをつけることができるようになります。
その結果として、学習成果としてのポートフォリオの効果が高まると思います。
バックエンドエンジニアに転職するためRecursionで学習を開始
――Recursionを利用してどのように学習を進めましたか?
1日の学習量は、休日は5,6時間、平日は残業時間とかにもよりますが、1,2時間ぐらいです。
――一番注力して学習したのはどの項目ですか?
あえて1つ挙げるならコンピュータサイエンス中級です。上級やプロジェクトでつまづいたり、新しい言語を学ぶ時は中級からやり直しています。次点でオブジェクト指向プログラミング(OOP)です。
――Recursionを始める前と後で何か変化がありましたか?
Recursionを始める前は、少しだけPythonの文法を知っている程度で、自分の頭で考えて実装することは苦手でした。けれどRecursionでの学習後は、 基本的なロジックであれば自分で実装できるようになりました。
また、フロントエンドも苦手ではありますが、シンプルなものであれば実装できるようになりました。
――Recursion以外に他のサービスを利用しましたか?
ポートフォリオ開発や面接で予想される技術的質問の対策にChatGPTを多用しました。
――ネットワークやWeb周りの知識も勉強しましたか?
基本情報や応用情報を広く浅く勉強しました。また、ポートフォリオではREST APIを開発したので、Webに関する基礎知識を書籍でインプットしました。
――エンジニア関連の資格をお持ちですか?
基本情報、応用情報、Java Silverを取得しています。 これらは転職活動のためというよりは、SIerの中で開発できる部署に行くため、開発業務に担当させてもらえるようにするために取得しました。願いが叶わなかったので転職してしまいましたが。
結果的に転職活動には多少プラスになっているのであって良かったです。
また、「資格は意味がない」という通説に反するように思えますが、基本情報と応用情報の両方を素早く取得することは重要に思えました。意外と自社開発企業でも評価されることがありました。
SIer1年目でバックエンドエンジニアに転職できた要因とは
――転職活動について聞かせてください。転職支援サービスは利用しましたか?
主にFindyを使いました。他の媒体ではどうしても実務経験が少ないと門前払いされやすいですが、普段のアウトプットをGitHubに上げ続けていれば、実務経験が少なくても良さそうな企業からスカウトされる確率が上がります。あと、転職エージェントも利用しました。
――会社選びはどういう方針にしましたか?
とにかく開発にリソースを割けるかどうかを気にしていました。そのために以下の3つを見ていました。
- 応募ポジション
- 開発プロセス
- その会社のプロダクトのビジネスモデルと戦略
まず、応募ポジションはバックエンドエンジニアにしました。バックエンド開発を自分の看板メニューとしたかったため、きちんとバックエンド開発に集中できるかを確認しました。
開発プロセスはテストを書いているか、CIが回っているかなどを確認しました。これらは現職のSIerで苦しめられた部分なので、必ず聞きました。逆にプログラミング言語などは特に気にしていていませんでした。なぜなら、求人から確認できますし、開発プロセスがしっかりしている会社は技術スタックも新しめのものである可能性が高いからです。
ビジネスモデルと戦略も現職で苦しめられた部分なので必ず聞きました。なぜなら、ビジネス上の構造が開発でどれだけ技術的チャレンジができるかに影響するからです。特に運用保守にリソースを割かれて開発に集中できない状態になっていないか、運用保守ではどんな作業が発生するかを気にしました。
――何社応募して、通過率はどれくらいですか?
転職エージェントも使ったので、40社ぐらい出したと思います。書類通過率は30〜40%ぐらいで、各面接の通過率は80〜90%ぐらいです。自分の担当になった転職エージェントの紹介する求人は玉石混交だったので、練習と割り切ってました。志望度が高くない求人もそれなりにあったので、半分以上は途中で辞退したと思います。
――活動を始めてどれくらいで内定が出ましたか?
1ヶ月ぐらいで内定がでました。
――選考の流れはどのように進みましたか?
書類審査 →(コーディング試験)→ 面接2,3回 → 内定が多かったです。
――コーディング試験はありましたか?難易度はどうでしたか?
ありました。自分の観測範囲内ですが、コンピュータサイエンスの基礎上級コースまでのeasy,mediumが解けるようにしておけば対応できることが多いと思います。
――書類でアピールしたこと、面接でアピールしたことはどんなことですか?
書類でアピールしたことは、ポートフォリオと資格です。実務経験が1年で、あまり開発できていなかったので、業務外のアウトプットが生命線でした。
面接でアピールしたことは、基礎知識です。技術的質問に対しては、Recursionやポートフォリオ開発で学んだことを話しました。
――選考のためにポートフォリオは作成しましたか?作成の際、意識したことは何ですか?
私が作成したポートフォリオはこちらです。
これはガイスターという1対1で対戦するボードゲームです。ゲームの内容や技術選定についてはREADMEをご覧ください。
ポートフォリオを作成する際に意識したのは、フロントエンドとバックエンドが分離されているアプリケーションの開発です。
キャリアの軸を構築するという点から、フルスタックエンジニアではなくバックエンドエンジニアとして働きたかったので、そのような環境を想定し、フロントエンドとバックエンドが分離されているアプリケーションの開発に慣れておく必要があると考えました。
そのため、フロントエンドとバックエンドはREST APIによって通信するようにしました。 また、3層アーキテクチャを用いたり、テストコードを書いたりしました。
バックエンドエンジニアへの転職選考で特に評価されたこと
――面接では何を重視して確認されましたか?
基礎的な技術知識、基本的な実装力についてまずは確認されました。後はコミュニケーション能力や人柄と、実務での実績という順だと思います。
意外とポートフォリオは面接では聞かれませんでした。ただ、ポートフォリオで学習意欲があると評価されたため、プラスにはなっていると思います。
――内定をもらえた一番の要因は何だと思いますか?
戦略を十分に練ったことです。行きたいポジションで求められている技術要素をふまえてポートフォリオを開発し、面接で聞いてほしいことを書類に書き、面接では自分が答えやすい方向に誘導しました。
――Recursionで学んだ知識の中でも特に評価されたものは何ですか?
OOPやデザインパターンの知識は評価されました。また、チーム開発もGit/GitHubを使えるという点で評価されました。
SIerから転職成功!バックエンドエンジニアとしてのキャリアをスタート
――最後になりましたが、転職成功おめでとうございます。転職後の業務内容の概要を教えていただけますか?
Goを用いたソフトウェア開発を行います。ソフトウェアの特性上、スケーラビリティや高い可用性が求められるため難易度が高く、ついていけるのかという不安もありますが、せっかくポテンシャルを評価していただいたので、何とかついていけるようにしたいです。
――前の仕事に比べて給料はあがりましたか?
70〜100万円ぐらい上がりました。
――今後仕事としてどうしていきたいとお考えですか?
まずはバックエンドエンジニアとして、一連の開発プロセスを自走できるようになりたいです。その後は、より難易度の高い設計やアーキテクチャの選定ができるようになりたいです。
――これから学習を始めるユーザーがやっておいた方が良いこと何でしょうか。アドバイスをお願いします。
基本的にはRecursionの用意しているロードマップ通りに学習していくと良いと思います。プロジェクトやコーディング問題では、その課題のテーマが、学習したコース内容のどの部分なのかを意識しながら進めるとより良いと思います。
ある程度個人で学習や開発を進めたら、チーム開発に参加することをおすすめします。
ポートフォリオにできるプロジェクトを作成できるだけでなく、チーム開発経験は面接でもアピールポイントにできます。
――あむにすさん。貴重なお時間を頂きましてありがとうございました。今後のご活躍をお祈りしています。