Webサービスのソフトウェアエンジニアとしての転職活動で役立ったこと

Webサービス界隈のソフトウェアエンジニアになって初めて転職活動をした1ので、やったことのうち役に立ったことを書いておく。

前提

  • 経歴: https://www.linkedin.com/in/kymmt/
    • Webサービスを開発、運用するふつうのソフトウェアエンジニア
  • 転職活動時期は2023年1月〜6月
    • 1月〜2月でカジュアル面談
    • ちょっとあいて4月下旬〜6月上旬で選考
    • 6月に内定をもらって終了
  • この記事では一般的な技術力については触れません


役立ったこと

レジュメのメンテナンス

これは転職活動前から継続的にやっていたこと。

ふつうのソフトウェアエンジニアであり、「代表的プロダクト」2もないので、職歴や利用している技術スタック、また自分自身の能力を発揮したイベントについて明示的にレジュメにまとめておき、各種媒体に記載しておかないと、採用する側から見たときに声をかけようという動機が生まれにくいだろうと思っていた。また、細かいことを覚えているうちに継続的にレジュメにまとめておくほうが長期的に見て楽だろうし、自分で応募書類を書くときや面接するときに整理して説明できるだろうという考えがあった。

現在は次のようにレジュメを更新している。

  • LinkedInを主とみなし、英語で経歴を書いておく
    • サービスの性質的に英語で書いておいたほうが長期的にはお得そう
  • LinkedInに書いた内容を日本語に訳して微調整したものをFindyに転記する
  • 他のサービスについては、Findyのものをコピペして微調整する

書いている内容は業務経歴、経験のある技術スタック、ブログ記事やスライドなど自分のアウトプットの紹介などで、特別凝ったことを書いているわけではない。なんにせよ忘れないうちに書いておくのが大事だと思う。

これがどこまで効果を発揮したかはわからないが、結果としては次のようになった。

  • LinkedIn
    • いただいたメッセージから3件カジュアル面談し、いくつか応募
  • Findy
    • いいね100件以上いただいたなかから4件カジュアル面談し、いくつか応募
    • いいねが多いと閲覧しづらいという問題はあるが、どのような会社がソフトウェアエンジニアを募集しているのかの情報を大量に見るのには便利だった
  • その他媒体経由でいただいたメッセージから3件カジュアル面談

カジュアル面談の準備

どの企業に対してもいくつか同じ質問をすることで、各企業を自分の中で相対化するようにしていた。なにを重視するかによって変わるが、自分は次のような内容は必ず質問していた。

  • エンジニアリング組織の構成や各ラダーの人員の割合
  • エンジニア以外の職種もまじえたプロダクト開発の体制やプロセス
  • デプロイやリリースのフローや頻度
  • 障害やセキュリティ対応に関する体制
  • 社内の評価制度

同じ質問を軸にカジュアル面談することで、各社のカラーが自分の中で明確になり、応募するときの意思決定に役立った。

技術選考の準備

応募した企業には、技術選考を実施することがあらかじめ示されているところがあった。具体的にはデータベース設計などの技術課題、コーディング面接、システム設計面接など。これまで技術選考を受けてこなかった人生であり、とくに面接形式だと緊張することは目に見えていたので、できるだけ準備するつもりではいた。

コーディング面接については、企業からあらかじめ提示されていたサービスを利用して、あらためてコーディング試験的な問題が苦手なことに落ち込みつつ、1か月ほど繰り返し練習した。

システム設計面接については、ちょうど選考の時期に邦訳が出版された"System Design Inteview"(『システム設計の面接試験』)を読んだ。

この本を読んで、一般的なシステム設計面接では、時間内にとても難しいシステム設計ができるかを確認しているわけではなさそうということがわかった。それよりは、議論を通じて解くべき課題の抽出やパフォーマンスの見積もり、また設計の深掘りを適切に進められるかが重視されているようだ。これを踏まえて、それらの点を意識して事前に1人で数回練習した。30分ほど時間をとって、EコマースのサービスやTwitterっぽいソーシャルメディアのサービスを設計する際の質問や設計の提案、改善するための議論をテキストに書き出していく感じ。

結果として、どの企業でも純粋に技術的な選考で落ちることはなかったのでよかった3

ふつうの面接の準備

ここでは技術面接ではなくマッチングを見られる面接のことを「ふつうの面接」と呼んでいる。

レジュメについての節でも、あらかじめ経歴をまとめておくことで、整理して話せるということを書いた。しかし、自分は話すことが下手な自覚があるので、さらに準備した。具体的には、次のようなトピックについてそれぞれすぐに話せるようにメモにまとめていた。これらのトピックの選択については、業務で自分自身が選考していた経験も生きている。

  • 現在の職務
  • 担当しているサービスの規模感
  • 転職を考えている理由
  • すぐに貢献できること
  • これまでの仕事でうまくいかなかったこととその理由
  • 嫌なこと、避けたいこと

もし緊張しても、このメモを見ればある程度は話せるだろうという安心感があった。

感想

技術選考が近づくと、その準備やあまりこれまで経験してこなかったことに対する不安でそわそわしていた。こういうのはキャリアを通して慣れていくしかないのだろうと思う。とはいえ、技術選考に関しては一定の結果が出たことで、自分の能力が特定の環境に特化しているわけではないことが確かめられたのでよかった。一方でマッチングで見送られることもあり、そういうものとはいえ職を見つけるのは難しい。

また、自分自身が業務で選考するときは、できるだけフィードバックが早いほうがいいだろうと思って当日中に評価を記入するようにしていたが、受ける側になってみて、早めに結果を通知されるのが(主に精神的に)助かると改めて確信した。いろいろあるとは思いますが、各社できるだけ早い結果の通知をお願いします…


  1. 前回(2016年)の転職は新卒で入ったITベンダーであまり経験を積まない(積めない)まま、Webサービスのエンジニアに転職したという経緯だった
  2. 『「代表的プロダクト」について』
  3. どの企業でも内定が出たとは言っていない