Yuki Watanabe's Blog

Yuki Watanabe's Blog

エンジニアリングと子育てについて

【2022年】エンジニア3年目 転職活動振り返り

このたび転職活動を実施し、ソフトウェアエンジニアとして希望の会社から内定を頂けたため、振り返り記事を書きます。エンジニアの方々の転職記事を日々興味深く読んでいたので、誰かの参考になれば嬉しいなと思い、自分も書いてみます。

これまでの経歴

これまでの経歴は、新卒で非IT企業に入社し経理の仕事をした後転職し、2年半の開発業務経験を積んだエンジニアです。

  • 2013/03 大学卒(経済学部)
  • 2013/04~2019/10 地方ガス会社入社(経理6年→情シス6ヶ月)
  • 2019/11~2022/07 受託開発企業入社(プログラマ) ※以降、前職と表現します

2013年に大学を卒業後、新卒で地元のガス会社に入社し経理部員として6年ほど決算業務に携わりました。経理業務の傍らで手掛けた決算業務の効率化をきっかけに、ITやプログラミングに興味を持ち、エンジニアとしての就職を志すことにしました。

仕事をしつつプログラミングの勉強と転職活動を行い、2019年に受託開発を行う企業に入社をしました。Rubyアジャイルによる開発スタイルで、5つほどのプロジェクトを経験しました。

業務領域的にはRubyでのサーバー開発をメインに、直近1年はVue.jsでのフロントエンド開発にもトライし、バックエンドからフロントエンドまで幅広くソフトウェアの開発に携われるようになりました。

転職活動の結果

転職活動の結果は、エンジニア未経験時代とは比較にならないほどスムーズに終わりました。

  • カジュアル面談 20社
  • 選考を受けた会社 6社
  • 内定を頂いた会社 4社
  • 途中辞退した会社 1社
  • お祈りされた会社 1社

いわゆるメガベンチャーと呼ばれる企業群からも数社内定をいただき、その内の1社であるメルカリへ入社を決めました。

転職活動スケジュール

  • 2021/12~2022/01 カジュアル面談、コーディングテスト対策
  • 2022/02~2022/03 選考
  • 2022/07 入社

本格的な転職活動をしたスケジュールは上記の通りですが、2021年初めくらいから転職を意識し始めました。定期的に職務経歴書をブラッシュアップしては転職ドラフトへ登録し、市場価値の確認をしていました。 また2021年5月頃には、1ヶ月ほど集中して、コーディングテストを見据えたアルゴリズムとデータ構造の勉強を実施しました。

なぜ転職をするか

今後やりたいことが明確になり、前職では実現が難しいと考えたため転職を決意しました。

具体的にやりたいことは下記の2つが挙げられます。

1. 会計とエンジニアの両方のバックグラウンドを活かした開発をしたい

前職では技術的に優れたエンジニアがたくさんおり、その中で自分が技術だけで生き残っていくのは難しいと考えるようになりました。 一方で、私にはエンジニアの中では希少な経理の実務経験があり、会計に詳しい自負があります。

そのため、会計知識を要するソフトウェアエンジニアのポジションに就ければ、自分のバリューを最大化できるのはないかと考えました。 実際に前職で会計関連の機能開発を担当した際は、ビジネス要件を手にとるように把握でき、開発面に加えて仕様策定でも貢献することができ、この思いを強くしました。

さらには、様々な企業の方とカジュアル面談をする過程で、フィンテック業界を中心に自分のような会計ドメインの知識を持ったエンジニアは非常に需要が高いことを知りました。

自分の得意な会計というドメインの需要の高さを知れたので、直近数年は「エンジニア×会計」という掛け合わせのスキルを深堀りしたいと考えました。

2. Go言語を使った開発をしたい

個人で勉強したときから数えると3年以上RubyJavaScriptといった動的な型付け言語を使った開発をしています。 一方で、周りの優秀なエンジニアはというと、Javaなどの静的型付け言語での開発をみっちりと積んだ方が多い印象です。

そこで、いつからか「静的型付け言語を学べば必ず優秀になれるというわけではないものの、Rubyとは異なるパラダイムの言語での開発経験を積むことで、自身の技術レベルを着実にかつ効率的に上げられるのではないか」と思うようになりました。

静的型付け言語の中でもGoは、Web開発での採用事例が多く需要が高いことに注目しました。 実際に学んでみると、記法がシンプルで可読性を保ちやすい点に好感を持ち、Go言語での開発に注力することを決めました。

働き方・待遇面で大切にしたこと

0歳児の子育てをしているので、働き方・待遇面でも大切にしていたことがありました。

  • フルリモートであること
  • 現年収+α以上であること
  • 入社時点で有給休暇が付与されること(子供の急な看病に備えるため)

求人内容やカジュアル面談から、これらの条件を満たしている確度が高い会社のみ応募しました。結果的に、内定を頂いたほとんどの会社が上記の条件を満たしていました。

情報収集どのようにしたか

カジュアル面談と書籍、口コミサイトの3本柱で情報収集をしました。

カジュアル面談

カジュアル面談を20社ほど実施しました。

業界研究に役立てられ、とても有意義でした。

書籍

面接やコーディングテスト対策のためにキャリア系の書籍を数冊読みました。

なかでもこちらの書籍が良かったです。

エンジニアとして世界の最前線で働く選択肢 ~渡米・面接・転職・キャリアアップ・レイオフ対策までの実践ガイド

ホワイトボードコーディングテストへの向き合い方など学ぶことが多くあり、実際の面接で役立つ場面が多かったです。

他にも業界研究のために、興味のあるフィンテック関連の書籍も読み漁りました。

口コミサイト

選考を受け始めたタイミングで、OpenworkやGlassdoorを使い、企業の年収や働きやすさを調べました。

応募は求人媒体か直接応募か

どのように企業に応募したかについては、メインでは媒体を使いつつ、数社ほど直接応募をしました。

  • 媒体は、FindyやLapras、転職ドラフト、Meetyを利用し20社ほどカジュアル面談や選考を実施しました
  • 直接応募は、3社ほどでした

媒体はいいね機能やメッセージ機能があり、スムーズに企業と連絡が取れて便利です。一方で、入社が決まった場合は企業から媒体への成果報酬支払われるため、オファー提示年収が上がりづらい傾向があるように感じました。 直接応募は、応募の手間はかかるものの、オファー提示年収が高いなどの傾向を感じました。

ちなみに、入社を決めた会社はMeety経由でカジュアル面談を実施し、その後直接応募をしました。

評価していただいた点

複数社に内定後のオファー面談をしていただきましたが、下記の点を評価してもらったようです。

  • 経理知識を持ったエンジニアという、掛け合わせのスキルが希少である
  • チームメンバーとコミュニケーションを取りやすい
  • 技術のキャッチアップが早い
  • 堅牢性が高いコードを書ける

1つ目の点は、以前の経理経験がそのまま活きました。 2~4点目は、前職で目の前の業務にできるだけオーナーシップを持って取り組むことを意識してていたことが功を奏したようです。

選考を通して自分に不足していると感じたこと

選考での技術面接を通して、自分には下記が不足していると感じました。

  • 1つのサービス単位の技術選定やアーキテクチャ選定を担ったことがない
  • 31歳という年齢に比べ、エンジニア経験が2年と短い
  • 0→1フェーズの経験が無い

これらの経験は、今後の課題としてクリアしていきたいと考えています。

技術テスト対策どのようにやったか

コーディングテスト

AtCoderのC問題レベルを解けるように精進しました。C問題レベルを選んだ理由は、D問題以上は自分のレベルとの乖離が大きく限られた時間で解けるようになる気がしなかったためです。

選択する言語は、使い慣れたRubyのほうが早く解けることに気づきRubyを選択しました。

AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita

を見て要領を得た後は、B、C問題を中心に50問ほど解きました。AtCoderは、他の回答者の回答を見られるため使いやすく、自分のコードとの差分を把握することで成長に繋げやすいです。

また、選考を受けた会社がHackerRankを利用していたため、慣れるために30問ほど解きました。この慣れのための練習はかなり効きました。

データベース設計

面接によってはデータベース設計を課される場合があったため、

達人に学ぶDB設計 徹底指南書

を読み直し、知識の定着を図りました。 おかげで、面接の場でテーブル設計やインデックス設計について議論する機会がありましたが、なんとかついていくことができました。

アーキテクチャ設計

インフラやアプリケーションレベルでのアーキテクチャ設計の対策は、現状携わっているプロジェクトのインフラやアプリケーションを思い起こし、

  • なぜこのような設計をしているか
  • より改善できそうな点はなにか

を改めて考えることで対策しました。

正直アーキテクチャ設計については準備不足感がありますが、なんとかなりました。シニア、テックリードレベルのソフトウェアエンジニアのポジションであれば、より一層の対策が必要でしょう。

最後に

次の会社入社後にTwitterか入社エントリ記事を書こうと思います。 よかったら、エンジニアのキャリアについて談義しましょう!