文系エンジニアがバックエンドへ転職し年収2割アップ!成功へのアプローチとは?

今回インタビューさせていただいたのは、文系出身でプログラミング卒業後に就職した会社から見事転職を成功させたSoraさん。Recursionでのチーム開発やプロジェクトをポートフォリオとして転職活動を行い、バックエンドエンジニアとして採用が決まったそうです。

  • 文系出身だけどバックエンドエンジニアになりたい
  • チーム開発経験を積んでポートフォリオを完成させたい
  • バックエンドエンジニアへ転職を目指している

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

Soraさん

文系出身エンジニアがコンピュータサイエンスを学びバックエンドエンジニアへ転職

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

現在は自社のSaaS製品の開発で、新機能の追加やお客様に合わせたカスタマイズ開発を行っています。フロントエンドとバックエンド、モバイルと幅広く担当していて、言語はPHP、JS、Flutter、C#です。

プログラミング経験については、プログラミングスクールで3ヶ月と業務で合わせて2年半ほどあります。

――大学では何を専攻されていましたか?

商学部経営学科です。在学中は英語に興味があり、TOEICの学習やフィリピンへ語学留学などをしていました。ですから理系科目は全くやっていませんでした。

――大学は文系なのですね。卒業後はエンジニアとして就職されたのですか?

大学卒業後は1年弱営業職を経験しました。その後プログラミングスクールで3ヵ月ほど学習し、スタートアップの自社開発企業のエンジニアとして転職しました。去年の12月に転職先が決まり、今年の春からは某人材会社でバックエンドエンジニアとして働く予定です。

――Recursionを始めたのはどうしてですか?

理由は2つあります。

1つは、ポートフォリオ作成のためです。

ちょうど転職を考え始めていたころだったので、プロジェクトやチーム開発を通してポートフォリオを作りたいと思っていました。Recursion で実際にチーム開発に参加させていただき、業務外でのアプリケーションの開発という実績を作ることができました。

2つめは、コンピュータサイエンスを学びたかったからです。

文系出身ながらも、プログラミングスクールで学んでソフトウェアエンジニアとして転職できましたが、スクールで学んだだけの知識ではフレームワークを使ってなんとなく組み合わせてアプリを作るという感覚でした。実際に業務をしているうちに、「もっとコードの質にこだわりたい」と思うようになりました。

加えて、担当している業務の領域が幅広く、もっと根本的な知識が必要と感じていました。コンピュータサイエンスを学習していると、言語や特定の分野に関わらず対応できるようになると思い学習を始めました。

――Recursionを友人や同僚におすすめできますか?

私のように文系出身で、プログラミングスクール卒業生や独学の方には特におすすめだと思います。

プログラミングスクールでは簡単なアプリケーションを作れるようにはなりますが、とにかくポートフォリオを作るために学ぶような形で、なぜこの技術を使うのか、裏側でどのように処理されているのかなどにはあまり触れないです。

一方で、業務でプログラミングをする場合は、ただ作るだけでなく処理速度やコードの可読性なども考えながら開発する必要があるので、Recursionのように計算量やアルゴリズムを学ぶことや他のエンジニアの方のコードを参考にできることはもう一つ上の段階にステップアップするには最適だと思っています。

実際に今の会社や他のコミュニティでもRecursionをおすすめして回ってます。

バックエンドエンジニアへの転職を目指しチーム開発で実績を積む

――Recursionでどのように学習を進められたのかについて教えてください。

カリキュラムではJavaScriptやPHPで学習を進めました。静的型付け言語の方が勉強になりますが、次の企業でもPHPをやる予定なので、PHPがメインになっています。チーム開発ではReact、TypeScriptを使いました。

――もっとも注力して学習したのはどの項目ですか?

コンピュータサイエンスの基礎知識やアルゴリズムを学びたかったので、「コンピュータサイエンスの基礎」を中心に学習しました。

――プロジェクトは挑戦してみましたか?

プロジェクト1だけ完成させました。私はバックエンド志望ということもあって、フロントエンドをメインに学習するプロジェクトは、正直あまり気が進まなかったというところがあります。今は、バックエンドのプロジェクトも追加されているようですので、今後取り組みたいと考えています。

――チーム開発はいかがでしたか?

チーム開発に参加させていただいたことは、自分にとってとても良い経験になり実績を積むことができました。

私が参加したチーム開発では「偏愛マップ」という自分に関する絵を描いて、それを使って自己紹介や他者とのコミュニケーションを図ることができるアプリケーションを開発しました。使用した言語はReact、TypeScriptです。Recursionのユーザーである3人でチームを作り、1ヶ月間で完成させました。

開発を進める中で以下の2つの課題に直面しました。

  • React、TypeScriptが未経験の技術であったこと
  • 自己紹介をしてもらいやすいアプリにするためUXを高める工夫

1つ目に関しては、React未経験で苦労しましたが、最初の3日で公式ドキュメントのチュートリアルを使ってサンプルアプリを作成しキャッチアップしました。

2つ目は、企画の段階で誰でも簡単に絵を作れるようなアプリを目指すことにしたので、お絵描きプラスaの部分で工夫しました。例えばゲーム性を追加し、お題を出して制限時間内に書いてもらい、最後に内部的に絵の自動配置をすることで絵を作りやすいアプリケーションにできたと思います。

――Recursionを始める前と後では何か変化がありましたか?

始める前はスピードを重視して、とにかく動くものを作ることに重点を置いていましたが、始めてからは、型や計算量などを意識するようになり、スピードとクオリティのバランスを取ることができるようになりました。

直近の業務のプロジェクトでも期日を守り、リリース後に不具合が出ないように進めることができました。

文系卒のエンジニアがバックエンドへ転職するため行ったこと

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

主に以下の3つを軸として会社を探しました。

  1. 自社開発企業であること
  2. 開発メインのキャリアパスがあること
  3. より大規模な開発に関われること

まず、自社開発企業を条件にあげたのは、「作ったもので多くの人に貢献したい」という思いがあり、言われたものを作るのではなく、エンドユーザーのことを考え、それをプロダクトに反映していきながら開発していきたいと考えたためです。

そして、将来テックリードとして技術面でチームを引っ張れる存在になりたいと思っており、キャリアパスとしてマネージャーだけでなく、スペシャリストやテックリードなどの開発メインのポジションがあることを重視していました。

また、今まで小さめのスタートアップで開発してきたので、エンジニア組織としてより大規模なところに入り仕組みなどを学びたいと思い、より大規模な開発に携われる会社を選びました。

具体的には、転職支援サービスを使いました。最初はエンジニア向けスカウトサービスを利用して、スカウトいただいた企業様とは積極的にお話しさせていただき、市場感を掴みました。その後はエージェントサービスを利用して、ターゲットを絞りながら進めました。

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

3ヶ月程です。カジュアル面談や応募は40社くらいで、実際に面接を行ったのは10社くらいです。内定は2社からいただきました。

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

書類審査⇒1次面接(現場のエンジニア)⇒最終面接(CTOやビジネス職の役員の方)
という流れが多かったです。

――コーディング試験はありましたか?

数社ありました。

事前に課題を提出するものや、画面共有しながら簡単なアプリケーションを開発するものもありました。アルゴリズム系の問題ではなく実際にアプリケーション開発ができるかを見ている試験でした。

――書類や面接ではどのようにアピールしましたか?

経歴を多く並べるのではなく、関わったプロジェクトに関してストーリーを作り、わかりやすく説明することを意識していました。

例としては、自社製品の説明からプロジェクトの概要、担当したタスク、工夫したことなどです。

技術的な面だけでなくプロジェクトでの立ち回りを説明することで、面接官の方に実際に一緒に業務をするイメージをつけてもらうことができたと思います。

――採用面接において何を重視して確認されたと思いますか?

経歴、コミュニケーション力、カルチャーフィット(人柄)、学習意欲の確認が多かったです。得意な領域、将来のキャリアパス、仕事に対する考え方を明確に言葉で伝えることが大事だと思います。

――内定をもらえた一番の要因は何だと思いますか?

オファー時にレビューを頂きましたが、基礎的な技術力、言語化能力、学習意欲等を評価していただけました。
しっかりと面接準備をして様々なことに対して明確にお話しできるようにすることが大切だと思います。

――Recursionで学んだ知識の中でも特に評価されたものはありますか?

前提として業務外でコンピュータサイエンスを学んでること、チーム開発に参加していたこと自体を評価していただきました。特に学んだことを業務で活かせた経験について触れると、その点についてとても高く評価されたと思います。例えば、Recursionのチーム開発でブランチの運用ルールを決めて開発を行っていましたが、業務ではそこまで明確に決まっていない部分もあったので、一部導入しました。学ぶだけでなく実際に業務に取り入れた点も評価に繋がったと思います。

バックエンドエンジニアへ転職し年収2割アップ

――転職成功おめでとうございます。転職後の業務内容の概要を教えていただけますか?

求人広告サービスでLaravelでのバックエンド開発をする予定です。

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

2割くらい上がりました。

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

まずは、新しいプロダクトの開発に慣れて自走できるようにすること、その後はテックリードとしてチームを引っ張れるような存在になって組織や多くのユーザーに貢献していきたいです。

――最後に実務未経験者が内定を取るためにやっておいた方が良いことをアドバイスお願いします。

他の候補者との差別化が大事だと思ってます。

プロジェクトやチーム開発などでポートフォリオを作るなら、できれば+aで何かしら工夫点を入れられると良いです。ポートフォリオは見せ方も大事なので、READMEもしっかり作ったほうがいいです。

私がスクールから卒業したタイミングで書いた記事を紹介します:未経験者が自社開発企業に就職するためのREADME書き方 – Qiita

面接では、前職での経験などから活かせる部分をお話しできると差別化ができると思います。Recursionで学習中なら、ぜひカリキュラムを進めるのはもちろんですが、チーム開発にも積極的に参加されることをおすすめします。

業務を想定するとやはりチームでの開発経験は必須になるので、チーム開発への参加を目標にカリキュラムを逆算して進めていけると良いと思います。その経験をもとに自分の体験談や工夫を話すことができると、面接でも大きな差別化につながるのではないかと思います。

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