🔒

第二章 面接に辿り着くまで(求人、レジュメ)

面接に挑む前に考えるべき事

経験がなければ土俵に上がる事すら難しい

ソフトウェアエンジニアとしての面接に挑む際、忘れてはならない重要な要素があります。それはレジュメに載せて面接で語れるような「経験」をする事ですこれがなければ、面接の機会自体が与えられません。また、面接に呼ばれても相手に良い印象を与える事はできません。つまり土俵に上がる事も難しいと思ったほうが良いです。特に、日系のテック企業においてはレジュメを深堀りするような面接スタイルが多いので、ここで「一人で開発しているだけで学生レベルのプロダクト開発しか経験できてません」、「誰にも使われていないプロダクト開発しかできてません」などでは難しいわけです。
この経験とは、自分がどのようなプロジェクトに関与し、どのような役割で活躍し、どのような成果をあげて、どのようなスキル・知識・教訓を得たのかを指します。さらに、応募するポジションと経験がマッチしていなければ、採用の可能性は低くなります。例えば、シニアバックエンドエンジニアのポジションに応募する場合、フロントエンドの経験しかしていない時は適切な候補者とはみなされないわけです。
また、面接の中には行動面接と呼ばれる過去の経験を元に会社にカルチャーマッチしているか、特定のポジションに求められる態度や思考パターンが合っているかを評価する面接があります。ここでも過去の経験がなければ相手を納得させる事はできないわけです。

良い経験とは何か?

良い経験の定義は難しいです。それは応募するポジション毎に求められる経験が異なるからです。ここでは「大規模エンジニアリング組織の中の開発メンバーの一員」という想定の元で良い経験とは次のようなものだと考えています。
  • 技術的に困難な課題に挑戦した: あなたがどのような困難な技術的課題に直面し、それをどのように解決したかを示すことです。これは課題解決能力とそこで得た技術スキルや知見を相手に示す上で非常に大切です。
  • 自分の目指すポジションに必要な技術領域を深めることができた: あなたの目指すポジションにおいて重要と考える特定の技術領域をどこまで実務を通して深めることができるかが大事となります。実務で触れた経験に勝るものはありません。例えば、SREエンジニアを目指すならば、オペレーションを自動化するためのツールの開発経験やKubernetes上に構築するMicroservicesの基盤の整備などの経験ができるなら積極的に選んでいきましょう。
  • ビジネスインパクト: あなたが関与したプロジェクトが企業の成果にどのように貢献したかを示すことができます。例えば、新しい機能の開発により会社の収益が上昇した、またはコスト削減に繋がったなど具体的な成果を相手にアピールすることができます。
  • リーダーシップを発揮した: あなたがプロジェクトにおいてどのようなリーダーシップを発揮したかを示すことができます。これは必ずしもリーダーというタイトルがあなたについていなくても問題ありません。プロジェクトのイニシアチブを取り、チーム内外と協力しながらプロジェクトを完遂した経験があれば良いと思います。
  • チーム内外とのコラボレーション: あなたが必要なステークホルダーと交渉し、チームメンバーと協力しながら仕事ができるかを示すことができます。会社では必ずチームで働くことを忘れてはいけません。チームワークは非常に大切であることを学びましょう。
  • 革新的なアイデアを提案: あなたがどのように新しい視点やアプローチを導入し、それがプロジェクトやチーム、あるいは会社全体の発展にどのように貢献したかを示します。エンジニアの役割とは課題を解決することです。常にアイデアをチームに共有し、既存の課題を解決する革新的な提案をしていきましょう。
💡
個人プロジェクト、OSS貢献、副業による経験について 現職では良い経験ができないという方もいるでしょう。その場合は個人プロジェクト、OSSの貢献、副業で代用する事もできます。もちろん本業で得られる経験に勝るもの程の事に取り組むのは難しいでしょう。個人プロジェクトでサービスを開発したり、ちょっとしたツールやライブラリをGitHubにあげる。有名OSSにプルリクエストを送って貢献する。副業で本業でできない経験をしてそれをレジュメに書く。どれも何もないよりは遥かにマシです。

求人から逆算して経験を積む

他に何かを経験する上で重要な事は何か?それはあなたが将来応募したい企業の求人に書いてあります。これはWoven by ToyotaのDeveloper Portal Engineerという求人ですが、重要なのはWHAT DO WE NEED、つまり必要なスキルセットや経験です。
notion image
notion image
日本語に直したものは以下になります。
必要な経験やスキル - コンピューターサイエンス、数学などの関連分野での学士号、またはソフトウェア開発における同等の実務経験 - モダンなソフトウェア開発に関する5年以上のプロフェッショナルな経験 - 内部/外部の顧客にサービスを提供した経験 - ReactのようなフロントエンドのJavaScriptフレームワークに優れたスキル - UI/UX設計と開発の経験、CSR/SSRアプローチについての知識 - Node.js(好ましい)、Go, Rust, Java, Pythonなど、広く使用されているバックエンドプログラミング言語のいずれかにおける優れたプログラミングスキル - クラウドネイティブ、マイクロサービスなどのソフトウェアアーキテクチャパターンに対する理解 - 自動化、手作業の削減、スケーラビリティ、ソフトウェアデリバリーからのフリクションを取り除く事に情熱を持つ - ビジネスレベルの英語力 あると望ましい経験 - ビジネスソフトウェア開発チームと密接に連携し、ビジネスチームの作業効率を向上させる経験 - マイクロフロントエンドアーキテクチャ、シングルページウェブアプリケーションの設計と開発に関する知識 - k8s、helm、docker、pypi、mavenなど、複数のプラットフォームに対するCI/CDパイプラインの設計した経験
見るといくつかキーポイントが散りばめられていますね。例えば、サカモトなら次の事に気をつけて経験を積むようにします。
  • モダンフロントエンドの開発経験
  • UI/UX設計と開発の経験
  • 自分たちの作業を自動化するツールの開発経験(例: カスタムコードリンターの開発、デプロイの改善、E2Eテスト自動化等)
  • クラウドネイティブやマイクロサービスの設計思想の理解
  • 自分たちの開発したものに顧客がつき、それをフィードバックをもとに改善した経験
このようにやるべきことが分かれば、現職でその経験が積めるようにマネージャーに交渉、そして自ら仕事を取る or 作っていきましょう。これが求人から逆算して経験を積む事です。特に面接において受けているポジションのチームメンバーが面接官の場合は、如何にあなたがチームに入って活躍出来るかを見てるので、彼らが求める経験をしていれば面接官に対して大きなアピールができます。
💡
ポートフォリオについて 最初に断りを入れておくとこれはサカモトの個人的な見解です。所謂、学習用のポートフォリオをレジュメに載せたり、面接で語る事はあまりオススメしません。この学習用ポートフォリオは何のために作成したのでしょうか?現実の問題を解決しないようなものを載せても、正直プラスの評価になる事はあまり期待できないです。それは何故かというと学習用ポートフォリオにはストーリーがないからです。 我々ソフトウェアエンジニアはSTAR(Situation, Task, Action, Result)に当てはまるようなものだけを面接で語るべきでしょう。学習用のポートフォリオにはActionしかありません。ただ作る事が目的となっているわけです。これを前提において、ちゃんと何か課題や目的があり、その上で作ったという事であれば自信を持って載せましょう。 例外があるとすれば、それは未経験やエントリレベルのエンジニアです。この場合、ポテンシャルを見極める上であるとプラスになる事があります。何もない時に載せるのをオススメします。また普段どのように勉強していますか?という質問に対してサンプルを作っているくらいであれば問題ないでしょう。

高年収なら何エンジニアが良い?フロントエンド or バックエンド?

結論から話します。サカモトの個人的な意見ですが、まだ何エンジニアか決めていない人は次の順でフォーカスエリアを決めるのをオススメしています。
バックエンド >= フルスタック >>> モバイルアプリ > フロントエンド
OpenSalaryの上位90%・70%・中央値の年収に注目しましょう。バックエンドやフルスタックエンジニアは上位帯の年収が明らかに高いです。これは外資などのテック企業はバックエンドやフルスタックよりの人材を多く求人で出しているからです。Woven by Toyota、Indeed、Google、Amazonなどを見ても大体この2つ(バックエンド、フルスタック)に位置するエンジニアが殆どです。フルスタックといっても強みはバックエンドよりの方がポジションは豊富にあるので、迷ったらとりあえずバックエンドをやる事をオススメします
それに対してフロントエンドは中々厳しいものがあります。他のフォーカスエリアに比べて最低で、上位90%でも1050万円の年収となっています。これはフロントエンドを専門とするような製品開発を行っているチームが外資ITには少ない事が原因だと思われます。フロントエンドを触る人はもちろん沢山いると思いますが、それはあくまでフルスタックエンジニアがフロントエンドを触るというケースでしょう。サカモトはフロントのポジションを探していますがこれをひしひしと感じています。最近ではByteDanceやWoven by Toyotaがフロントエンドフォーカスのポジションを出していますが、まだまだ数が少ないように感じます。
一方でモバイルアプリは特殊で面白いですね。中央値は最も高いが上位帯はバックエンドやフルスタックに劣ります。まず中央値が高い要因としてモバイルアプリは大企業を中心とした会社でしか必要がないロールになっている傾向がありそうです。上位帯の年収がフルスタックやバックエンドに劣る理由はフロントエンドと同じで、外資だと日本に製品チームを持つ会社が少ないからでしょう。また、モバイルアプリエンジニアはほぼtoCの業態が中心となって採用される傾向があります。例えば、IndeedなどWebが中心となっている会社では採用枠がないと思った方が良いです。この辺りは注意すべきポイントです。しかし、メルカリやSmartNewsなどが国内ではモバイルアプリエンジニアの年収を押し上げているので、この辺りを狙うならオススメのエリアです。
ファーカス
中央値
90th
75th
件数
バックエンド
800万円
1589万円
1150万円
482
フルスタック
790万円
1800万円
1200万円
313
モバイルアプリ
845万円
1315万円
1148万円
115
フロントエンド
680万円
1052万円
870万円
118
OpenSalaryの各フォーカスエリアの年収
OpenSalaryの各フォーカスエリアの年収

情報収集

WorkCircle

面接に行く前の情報収集はとても大事です。この本でももちろん情報収集は可能ですが、その他のリソースも知りたい方にはWorkCircleがオススメです。キャリア相談、面接などの情報を実際の社員の方から聞ける可能性があります。もちろん相手に何もメリットがあるわけではないので、本当に相談したい方はこの本の購入者特典のDiscordに入る事でサカモトやgaijineersからアドバイスを受ける事もできます。
notion image

OpenSalary

すでに何度かこの本でも引用していますが、日本のソフトウェアエンジニアの年収が投稿されているOpenSalaryは必ず見るべきサイトです。似たようなサービスにOpenWorkやOpenMoneyなどがありますが、ソフトウェアエンジニアの年収ならこちらが最もオススメです。
このサイトを活用すればジョブレベル別の給与レンジも大体想像が付くのでオファーの時に自分の希望給与が不当に高くなったり、低くなったりする事を防ぐ事ができます。

ソフトウェアエンジニアの求人を探す

日本で高給のソフトウェアエンジニア職を得る事は簡単ではありません。こちらはソフトウェアエンジニアの給与が投稿されているOpenSalaryの情報ですが、日本で高給と言われる年収1000万円を超えるには上位25%に入っていなければなりません。更にOpenSaralyは大手企業や外資に勤める方が多く投稿されています。日本のソフトウェアエンジニアの中でも上位層に位置するわけでより一層難しいと予想されます。日本で一般社員レベルでも年収1000万円を超えるような給与をソフトウェアエンジニアに支払う事ができる企業はそこまで数多くありません。ここではどのように高給なソフトウェアエンジニアの求人を探すかを語っていきます。
 
OpenSaralyからソフトウェアエンジニアの中央値
OpenSaralyからソフトウェアエンジニアの中央値

LinkedInを活用

私が利用している代表的な求人サイトを列挙します。
  • LinkedIn
  • Glassdoor
他にも細かく使っていますが、代表的なものはこれだけで十分だと思います。特にLinkedInはデファクトスタンダードなので必ずアカウントを作っておきましょう。またGlassdoorはIndeedの求人をウォッチするのには良いツールです(Indeedは宗教上Linkedinに求人が載ってない)。

Job alertを活用

私のような変態は転職する気がなくても暇があればLinkedInを見ていますが、常に見ていられないあなたはJob alertを活用しましょう。使用は簡単です。
  1. 検索ワードの入力(例: Engineer)
  1. Companyフィルターで自分の就職したい企業を以下のようにチェックを入れる
  1. Alert onスイッチをオンにする
これで新しい求人が出た時にあなたに知らせてくれます。
notion image

転職エージェントのノイズを除去し求人サイトを活用

LinkedInで ”Software Engineer”と検索しても転職エージェント(Michael Page、Specialized Group、Specialized Group、Talisman Corporation等)の求人が検索結果のノイズになります。転職エージェントさんには悪いですが、これは恐ろしく求人を見る時の体験を下げていますね。
notion image
ノイズ(転職エージェントの求人)を除去するには、Using Boolean Search on LinkedInからBoolean searchを活用しましょう。例としては以下のようなクエリになります。
クエリ: “<検索したいポジション>” (AND NOT “<転職エージェントの名前>")+
例: “Software Engineer” AND NOT "Michael" AND NOT "Randstad” AND NOT “Specialized Group” AND NOT “Talisman Corporation”

転職エージェントを使うかどうか

LinkedInのジョブボードでの転職エージェントの求人は上のように確かにノイズになる場合がありますが、転職エージェントを使った方が良い時もあります。ここではメリットとデメリットを紹介します。

メリット

  • 幅広い可能性: リクルーターは就職希望者が知らない企業とのつながりを持っており、業界知識やコンタクトを活用して新たな機会を提供できます。リクルーター限定で公開されている求人も存在する可能性があります。
  • 企業との直接的なコミュニケーション: 信頼できるリクルーターは企業との関係を築き、候補者を強く推薦することができます。例えば、Mercariの選考に落ちた場合でも、リクルーターのおかげでMercari Work(新規事業部)の面接に呼ばれ、オファーを獲得することもあります。
  • 時間の節約: 現職に集中しながら、次の仕事を探すための支援(求職活動、履歴書のレビュー、面接準備)を受けることができます。
  • 交渉のサポート: リクルーターを利用することで、年収交渉やオファーの断りなど、言いにくいことを代わりに行ってもらうことができます。
  • 給与レンジの公開:転職エージェントから情報収集をして良かった体験としては、複数企業のポジションの給与レンジを教えてもらう事です。Amazon、ByteDance等のソフトウェアエンジニアのポジションの給与レンジを教えてもらいました。こういった情報はOpenSalaryでも確認可能ですが、サンプル数が少ない企業には有効だと思います。希望給与を決める際にも何も手がかりなしで決めるのはこちらが不利になる場合が多いです。
  • レジュメレビュー:多くの企業でレジュメを最初に閲覧するのはHRです。つまり、非エンジニアでも分かる内容でレジュメを書きたい場合壁打ち相手になってくれます。第三者からレジュメを見てもらう事はとても効果的なので是非活用した方がよいです。

デメリット

  • エージェントフィーの問題: 日本のリクルーティングエージェントは、年収の30~35%を手数料として請求することが多く、企業にとっては高額なコストとなります。オファーの年収には影響しませんが(手数料は採用予算の一部であり給与とは別)、多くの企業がこの手数料を避けるため、エージェントのみを利用すると多くの企業を見逃す可能性があります。
  • リクルーターの誠実さの問題: 候補者が入社すると手数料がエージェントの収入になるため、最適でない職場であっても候補者に雇用を勧める可能性があります。例えば、ブラック企業であることを知りながら、それを候補者に伝えずに仕事を勧める場合もあります。
  • スケジュール遅延の問題: 転職エージェントが企業と候補者の間に介在するため、スケジュール調整やコミュニケーションに時間がかかることがあります。これにより他の候補者より面接が遅れ、オファーを逃す可能性があります。
要注意なのは大体の転職エージェントはあくまで彼らのクライアント企業の求人の仲介業を行っているので、何でも紹介してくれるわけではありません。例えばGoogleなどの特定の外資系はエージェントを使わずに、自社のリクルーターだけで完結させています。

技術面接対策付き転職エージェントrecoの活用

株式会社recoを通して求人に応募すると有名テック企業の技術面接対策を受ける事ができます。現役の外資エンジニア(この本の共著者のgaijineers)がモックインタビュアーやレジュメレビュアーとして皆様の転職活動をサポートします。サカモトはDevDelとしてrecoとパートナーシップ契約を結んでいます。
サービス内容
  • 有名テック企業の面接準備ガイドのプレゼント
  • モックインタビュー(外資エンジニアが専門で)
  • レジュメレビュー
  • 給与交渉
  • コミュニティー
取り扱い企業
  • メルカリ
  • SmartNews
  • ExaWizards
  • CADDi
  • LegalOn Technologies
    • Mid: 650万円~1,070万円
    • Senior: 1,030万円~1,500万円
    • Staff: 1,440万円~2,500万円
  • U-NEXT
  • CTW
他の転職エージェントとは異なり技術面接対策ができるのでもし興味がある方は以下のAirtableのフォームからご応募ください!!

海外企業のリモートワーク職の探し方

グローバルでチームを作り日本からでも働ける海外企業のリモートワーク職について少し話します。カテゴリーは大体二つに分けられます。
  • 日本法人:日本に法人を設立していている規模が大きめの会社です。給料の支払いは日本円です
  • POE(Partner of Employee):Deel、remoteなどのPOEを経由して、グローバルでチームを作っているパターンです。これはスタートアップが多くて過去の経験だとStellarCyber、cartedなど名前すら聞いたことないスタートアップからオファーをもらったことあります(年収USD120k ~ 130k + SO)。もちろん有名なところだとSourceGraph、DuckDuckGoなどが挙げられます。給料をUSDでもらう可能性がありますが、日本企業に入って当たり前の社会・健康保健を自分で手配する必要があるかもしれないので、オファーを貰う場合はそこも考慮する必要があります。
このような仕事が出てくる場合、世界のどこからでも応募できるので、世界中のエンジニアと戦わなければいけません。実力や実績も大事ですが、応募するスピードもちょっと遅くなるとすぐに埋まってしまうのでLinkedInはもちろん、リモートジョブのサイトもウォッチをしておくと良いでしょう。
リモートワークがグローバルでできる会社の一覧も見てみると面白いかもしれないです。
https://github.com/yanirs/established-remote

Resume(レジュメ)の準備

あなたがいくらLeetCodeの練習に時間を費やし準備していたとしても面接にたどり着かなければその成果を発揮する事はありません。ある意味、書類選考(Resume screening)は面接プロセスの中で最も重要な要素かもしれません。本章ではソフトウェアエンジニアのResumeを書くための具体的なステップを紹介します。

Microsoft WordかGoogle DocsのテンプレートからResumeを作成

ゼロからResumeを作成するのは時間がかかります。Microsoft WordかGoogle Docsのテンプレートを利用するのが良いでしょう。私はGoogle Docsのテンプレートを活用しています。最終的にはPDFに出力して提出する事になります。ここに載せたリンクだけでなく自分で探しても問題ありません。
多くの企業ではATSを用いてResumeを機械的にスキャンするので “ATS resume checker” みたいなサービスで正しくスキャンされるか確かめるのも重要だと思います。
最も一般的に使用されている英文履歴書の書式は、クロノロジカルレジュメ、ファンクショナルレジュメ、コンビネーションレジュメの3種類です。どの書式を使うべきかを考える際には、自分の職歴と応募する仕事を考慮する必要があります。 これらの3つの書式は、読みやすく、採用管理システム(ATS)でエラーを出さずに処理できることが多いため、英文履歴書に最も適した書式だと考えられています。

A4一枚のページに収める

テック企業の場合は日本式のような数ページに渡る職務経歴書を書くのではなく、グローバル標準の一枚に収める努力をすべきです。担当者がレジュメに目を通す時間は20秒程度とも言われています。ボリュームが減る分内容を絞り込みましょう。あまり余計な内容を書きすぎるとあなたが一番見てほしい内容に到達しない、フォーカスできない可能性があります。後述するポイントを抑えておけば幾つも実績を載せる必要が無いことは分かります。
💡
A4二枚のページでは駄目なのか? どうしても収まらない場合には超えても問題ないでしょう。Resume Statistics 2022 (Analysis of 133,000 Documents)によると、リクルーターが2ページのレジュメを持つ候補者を選ぶ確率は、管理職では2.9倍、エントリーレベルでは1.4倍という調査結果も出ています。この調査はソフトウェアエンジニアだけに限らないので、参考になるかは分かりませんが、絶対に駄目ではない事が想像できます。

無駄なスペースをへらす

無駄なヘッダー、フッター、マージンなどにスペースを割くより、必要な内容を埋めましょう。しかしあまりに行間が狭いと読みにくくなるので注意。

各セクション

ワンカラムのレジュメを想定します。上からこの順番で書いていく事をオススメします。基本的に読んでほしいものから順に書いていきましょう。なお、外資系企業に提出するレジュメには日本の履歴書などに掲載する年齢、性別、顔写真などは一般的に載せる必要はありません。
セクション名
説明
Name / Contacts
名前、メールアドレス、GitHubアカウント、LinkedInアカウントを載せましょう
Summary
自己紹介文を書きます。ポイントとしては - 経験年数 - エンジニアのタイプ(バックエンド) - 得意なスキル - 仕事に対する姿勢 などを入れると良いと思います
Work Experience
職歴には会社名、所属期間、役割、実績・成果などを書いていきます。成果は可能なら売上へのインパクト、パフォーマンス改善、サーバーコストの削減などを入れ込みましょう。
Education
学歴を書きましょう。既に社会人で実績がある場合は短くまとめて構いません。
Others
資格、登壇実績、執筆など

Name / Contactsについて

名前と連絡先を書きます。またLinkedInやGitHubなどのリンクを載せる事であなたがどんなエンジニアなのかをリクルーターに上手く伝えられるように工夫しましょう。
Must
  • 名前
  • メールアドレス
  • LinkedInプロファイル
Nice to have
  • GitHubアカウント
  • 個人のWebサイト、ポートフォリオ
  • Qiita(もし日系企業ならこれらのサイトを載せましょう)
  • Medium(海外ではこちらが一般的)

Summary

Summary(職務要約)はもっとも最初に目が留まる所であるといって間違いありません。ひと目見た時にあなたが何のエンジニアであるのかを語りましょう。Summaryを書く上で幾つかヒントを紹介します。
  • 何のエンジニアなのかを経験年数と共に書き出す
    • e.g. Full-stack software engineer with 7+ years of experience in developing web applications.
  • 応募ポジションとマッチするサマリを書く
  • 得意スキルを書く(MS Wordなどの当たり前のスキルに関してはスペースが無駄になるので書かないようにする)
    • e.g. React, Java, Spring Boot
  • ソフトスキルも必要であれば書く
    • e.g. Strong mindset for big success to have a great impact on customers.

Work Experience(職歴)

レジュメの中で職歴は最も重要なセクションです。あなたがどんな責務や役割で、どんな仕事をし、何の成果を達成したのかをアピールしましょう。

応募するポジションに良い影響を与えない職歴は全て記入する必要はない

例えばあなたがキャリアチェンジ組で営業での経験を記入したとして、コーディングやソフトウェアの能力を示す事には繋がりにくいわけです。また私の相談者にバックエンドエンジニアとして応募したが、機械学習に関することをレジュメに書きそのエピソードを面接で話して良いアピールができずに落ちたという経験をされた方がいます。あなたが面接で話してアピールしたい実績や経験を書きましょう。

第三者から見てこのエンジニアと会ってみたいと思うような内容にする

レジュメとはこれまでの過去を写しますが、実際にはリクルーターやHiring Managerはこのポジションであなたがどう活躍できそうか?という未来の情報を読み取ろうとしています。客観的に見て魅力的なエンジニアに写っているのか見てみましょう。

職歴の書き出しのフォーマット

書き出しは↓でどの企業に何のタイトルでいつからいつまで所属していたのかを書きましょう。
会社:チーム名 | ジョブタイトル | 勤務開始日と終了日
例: Google: Google Maps | Senior Software Engineer | Jan 2017 – Dec 2020

次に所属企業での役割と責務を書きます(必須ではない)。
例: Role & Responsibilities: Take responsibility for deliverables and technical decisions as a senior engineer.

仕事内容と成果の箇条書き

箇条書きでどんな仕事をし [Action] 、何の成果 [Outcome] を達成したのか書きます。全てこの形式で書かなければ駄目とは言いませんが、結果がないと何のためにこの仕事をやっているのかが相手に伝わらないのと場当たり的に仕事をしているような印象を与えてしまいます。
[Action], which resulted in [Outcome].
[Action], which led to [Outcome].
[Action]. As a result, [Outcome].
[Action] には具体的な内容を入れるように意識しましょう。WhatとHow(OptionalでWhy)を入れると自然とそのような文章になります。下の例だと(How)ElastiCacheを活用して(What)リーダーボードのパフォーマンスを改善した事が分かりますね。
[Outcome]には可能なら数値を入れる事でデータドリブンに仕事している事が伝わりますし、成果に説得力をもたせる事ができます。下の例だとAPIのレイテンシが80%低下した事が書かれていますね。
例: Improved leaderboard page performance using ElastiCache, which led to a significant reduction in database workloads and an 80% decrease in leaderboard API latency. This enhancement also supported the handling of 500k page views per day.
また、チームメンバーやステークホルダーとの仕事の関わり合いがあれば積極的に書きましょう。我々は一人で仕事ができるわけではありません。特にテック企業のような巨大なエンジニアリング組織は縦割りに作られています。間違いなく様々な人と関わり、時には交渉・議論を行う事があります。
例: Work closely with the product manager and contribute to a product roadmap

規模感が伝わる内容にする

あなたが開発しているシステムが世の中で有名なら別ですが、ほとんどの方はそうではないのではないでしょうか?エンジニアの仕事においてシステムの規模感はとても大切な事です。
特にテック企業ではスケーラブルなシステム開発ができる能力がある事を求められますし、過去にそのような経験をやっていたのであれば真っ先にアピールすべきです。あなたの開発したシステムのユーザー数、アクセス数、クエリ数、レコード数、サーバインスタンス数。なんでもよいです。ひと目見た時に規模感がわかるとどのようなシステムだったのか相手に簡単に想像させる事ができます。
もう一度同じ文章を例に出しますが、デイリーで50万ページビューをもつリーダーボードのページを改善した事をアピールしており裏のシステムの大きさもそれによって相手に想像させる事ができます。
例: Improved leaderboard page performance using ElastiCache, which led to a significant reduction in database workloads and an 80% decrease in leaderboard API latency. This enhancement also supported the handling of 500k page views per day.
 
💡
レジュメに経験内容を書く時に注意すべきこと サカモトはこれまで何人も候補者のレジュメを見てきましたが、要件定義から関わっているという割にはレジュメにはどんなタスクをやったかしか書かれていない場合が多いです。これは非常に勿体ないと思います。自分では分かっていると思いますが、Hiring Managerやリクルーターはあなたの事情などわかりません。レジュメに書いた事しか伝わらない事を意識しましょう。

Educationについて

特筆すべきことは有りません。最終学歴のみ書いてあれば問題ないです。CSもしくは関連学位を持っている場合は必ず書きましょう。

Othersについて

上記のどれにも当てはまらない内容を追加していきます。
  • OSSへのコントリビューション
  • 保有資格
  • 登壇実績
  • 研究実績

募集ポジションでレジュメを使い分ける(Optional)

余裕のある人はやりましょう。例えば、あなたがフルスタックエンジニアだったとします。フロントエンド(React)とバックエンド(golang)の経験があったとして、フロントエンドエンジニア(React)のポジションに応募する場合にバックエンドの経験を厚くする必要はありません。求人に書いてあるQualifications(必須スキル)に合致する経験に絞って書いていくのです。この場合はReactの経験を中心にレジュメを埋めていきましょう。
注意点としては、余りに細かくわけるとメンテナンスが大変なので、例としてはざっくりフロントエンド用とバックエンド用に分けて用意しておけば大丈夫です。何度も言いますが、余裕のある人だけやりましょう。

レジュメサンプル

こちらにガイドに従って書いたレジュメのサンプルを載せておきます。Google Docs版はInterviewCat購入者でレビューコメント(interviewcat.devのURL付き)をTwitterにしていただいた方限定に配布しています。よろしければご購入後にDMを頂ければ幸いです。
notion image
💡
良いレジュメを書けば面接に呼ばれるのか? YesでもありNoでもあると思います。レジュメとはあなたのマーケティング資料だと思ってください。「こんなに優れた商品ですよ!是非購入の検討をしてください!」とアピールするようなものです。しかしながら、どれだけ着飾ったとしても過去のプロジェクト、経験年数、所属企業などを誤魔化す事はできません。正しいレジュメのあり方とはあなたの魅力を適切に伝える事です。無いものをあるようには捏造はできないので注意しましょう。もしあなたがここに書いてある方針で正しくレジュメを書いてスクリーニングで落ちた場合は、自分の経験年数や応募ポジションとのマッチングなどを必ず見返すようにしましょう。加えて自分ではコントロールできない要素でレジュメが通らない可能性もあります。とにかく絶対はありません。その事だけは頭に入れて選考に臨みましょう。

この求人に応募して書類選考突破する見込みありますか?

この質問は本当によく来ます。正直個別の状況や応募企業によるとしか答える事はできませんが、人は条件を設定した方が迷いなく行動できるので、サカモトが考える即戦力Midレベル以上の有名テック企業の求人の書類選考をパスできる条件を3つ並べます。
  • 次のいずれか一つ当てはまる
    • ソフトウェアエンジニアとしての経験年数3年以上
    • レジュメでアピールできるプロジェクトが3つ以上ある(個人プロジェクトを含めない)
    • 有名OSSコントリビューション、技術発信で実績(カンファレンス登壇等)など、対外的にアピールできる実績がある
  • 自分の経験やスキルと求人が求める経験やスキルが50%以上マッチしている
  • 自分が経験したプロジェクトが良い経験のいずれかに当てはまる
    • 技術的に困難な課題に挑戦した
    • 自分の目指すポジションに必要な技術領域を深めることができた
    • ビジネスインパクト
    • リーダーシップを発揮した
    • チーム内外とのコラボレーション
    • 革新的なアイデアを提案
あくまでサカモトの意見ですが、これらが揃っていると有名企業においてレジュメが通りやすくなると考えています。

あの外資テックで働くエンジニアはどの企業出身?

サカモトはしばしば将来外資でソフトウェアエンジニアとして働くにはどの企業に行くと良いですか?という質問を受けます。これはLinkedinである程度調べる事ができます。例えばGoogleのソフトウェアエンジニアは以前どこで働いたでしょうか?
LinkedinでLocationをJapan、Current CompanyをGoogle、Past CompanyをRakuten、Keywordsに”Software”などを入れました。すると以下のような結果になります。これをあなたが目指している会社(Current Company)とこれから行く可能性がある会社(Past Company)に変える事で、皆さんの就職先の判断の一つの指標として入れて下さい。
ちなみに結果はこのようになります。
notion image
これをGoogle、Indeed、Amazon、SmartNews、Woven by Toyotaに拡大し調べてみました。横が現在勤務している企業、縦が過去に勤務していた企業です。
notion image
分析結果としては楽天はやはり外国人エンジニアや英語に強い方が多いので外資を受けることに抵抗がないのだと思います。LINEはCSで強いと思われる方が多数。NTT研や富士通はリサーチャーの方が多い印象でした。NRIやNTTデータなどのSIerはやはりこの手のテック企業にソフトウェアエンジニアとして入社する場合は少ないという結果となりました。
💡
外資でSWEになるのにCS学位は必須? これは何度も聞かれる質問なのですが、結論日本では必須ではありません。私の知り合いに文系卒でSWEだった方がGoogleやAmazonのSWEになっている例がありますし、実際にLinkedinで調べてみれば知り合いにいなくとも分かります。次はとあるIndeedのスタッフエンジニアの方ですが学位はBA New Media, Communication and Media Studiesとなっています。この方は10+年の経験がありますが、このくらいソフトウェアエンジニアとして経験していれば問題ないと考えています。よく必須要件にBS degree in computer science or equivalent experienceと書かれていますが、equivalent experienceこの部分で補えていれば十分なわけですね。
notion image
notion image

リファラル

どんなに良いレジュメを書いても、トップのテック企業での面接に呼ばれる事は簡単な事ではありません。このレジュメスクリーニングを突破に有効な手段の一つはリファラルを得る事です。リファラルとは応募している企業の中で働いている人からの推薦状で、通常の応募プロセスとは別にこの人はこんなに素晴らしい人なので是非面接に呼んで下さいとリクエストを送る事ができます。リファラルを活用する事でリクルーターは優先してあなたのレジュメを確認します。

リファラルは有効?

諸説ありますが、書類選考で効力を発揮します。リファラルは基本的にリファラルした人が推薦文を書いてレジュメに情報を付与してくれます。少なくともタレントスリーニングにおいて、レジュメを読んでくれる可能性は上がると思います。
しかし100%の保証はありません。私も前に何人かリファラルしましたが、ポジションミスマッチという事で面接には呼ばれませんでした。気持ちの持ちようとしては無いよりはマシくらいに考えておきましょう。

何故テック企業の人はリファラルしてくれるのか?

テック企業にいる方は基本リファラルしてくれます。それは何故か?リファラルボーナスが存在しているからです。ひとり入社させるだけで5,000ドル入るケースもあります。何故こんなに支払ってくれるのかというと転職エージェントに支払うより遥かにコストが安いからですね。

どうやってリファラルを獲得する?

リファラルする側からすれば基本的にメリット多いわけですから、ちょっと仕事で前に一緒になったなという程度の仲の人にも声はかけるべきだと思います。知り合いネットワークを有効活用しましょう、基本方針としては次の優先順位で探します。
  1. 親しい友人
    1. 言わずもがなです
  1. 以前一緒に働いた事ある人
    1. 一緒に働いた経験があれば実力が分かっているので一番先に考えられますね
  1. SNSでの繋がり
    1. SNSで自分が行きたい企業の社員とつながりがある場合は積極的に聞いてみましょう
  1. カンファレンスや勉強会
    1. カンファレンスや勉強会では積極的に登壇(LT可)しましょう。発表する事でよい繋がりが出来る可能性は高まります
  1. LinkedInやTwitterなどのSNSで共有する
    1. 仕事を探している事を全体に伝えましょう。しかし、フォロワーが少ないとリーチ力が足りない、自分が望んでいない企業からの声掛けをどのように断るかも問題なので一長一短ではあります
リファラルの話で面白かったのはこちらの記事です。「友人や知人からReferralをもらう」、「ネットワーキング&コーヒーチャットし、Referralをもらう」、「LinkedInでレイオフのことを投稿し、いろんな人からReferralをもらう」なりふり構わずありとあらゆる手を使ってリファラルを獲得してます。日本でここまでやる必要はないかもしれませんが、参考になりますね。

志望度の高い企業は後回しにして最後の方に受けるべき

💡
「志望度の高い企業は後回しにして最後の方に受けるべき」というのは、2021年ごろにエバーグリーンポジション(常に募集されていて、ヘッドカウントが多いポジション)が数多く存在していた時の話です。しかし、2023年以降の転職市場ではエバーグリーンポジションがほとんどなくなり、このアドバイスを実行するとポジションが既に閉まってしまう可能性が高くなります。そのため、次の「面接に呼ばれるために何をすべきか」というアドバイスを参考にすることをおすすめします。
転職活動で苦労する事の一つとしてどのように面接を受ける企業を選択するかです。gaijineersが実際に現職に転職するまでに取った戦略の一つですが、一番行きたい企業は後回しにして最後に受けるようにしていました。半年間に及ぶ転職活動の中で欧州やシンガポールなど(移住のハードルが高い)企業からピックアップし面接を受ける事で慣れていった事は大きかったです。半年間の転職活動の中で明らかに最初と比べ、自分の面接でのパフォーマンスが上がっていったのを実感しました。それはオファー額にも表れており、最初は年収1000万円のオファーだったのが、最後には年収1900万円クラスのオファーを得る事ができました。
ヨーロッパ(イギリス、フランス)などはビザのハードルがアメリカより低く「受かったらビザ出すし、来てくれるよねー」という感触だったのを覚えています。半年間で20社以上受ける中でモチベーションを保つ事ができた理由としては、+100、+200万円上がるようなオファーを取る事を目標にしていたからです。

面接に呼ばれるために何をすべき?

  • 面接の準備に取り組む
  • レジュメを常に最新のものに更新
  • 興味のある企業のジョブボードをウォッチ
  • 求人が出たらすぐに応募する
「求人が出たらすぐに応募する」という点は非常に重要であり、常に意識してください。私の個人的な経験から言えば、私は2021年から2022年にかけてAppleに4回も応募しましたが、一度も面接に呼ばれることはありませんでした。リファラルがある場合でも、仕事内容との一致が高い場合でも、結果は落ちることが多かったです。
それにもかかわらず、常に企業を注意深くウォッチし続けるように心がけました。そして、厳しい2023年になって、履歴書には大きな変更はありませんでしたが、求人が出た週のうちに迅速に応募した結果、驚くべきことに、面接に一度ではなく二度も呼ばれることができました。これによって、「求人が出たらすぐに応募する」というアプローチの再現性が証明されたでしょう。
notion image
 

各企業の面接スタイルと対策を把握する(28ポジション)

面接スタイルの種類は企業によって違うのでそれを把握して対策を行い準備をしましょう。面接の種類を実際公開している企業が少ないのでここでいくつかの企業を紹介します。なお、企業の面接スタイルは時期や面接官、応募するチーム、制度変更によって変わる場合があります。あくまでここに書いてあるのは過去の例である事は注意しましょう。
Indeed、ByteDance、Woven by Toyota、PayPay、SmartNews、Mercari、Shopify、Circle CI、AWS、LINE、リクルート、Yahoo Japan、MoneyForward、Sansanなど20以上の面接プロセスやその対策を書きました。また、外資のフルリモート企業の情報もいくつか載せているので、USDで給料をもらいたいと思ってる人は是非参考にして下さい。
Indeed (Backend)
全面的に出来を見られるので準備は欠かせないです。コーディングは合格のポイントになり、システムデザインや他の面接はオファーもらった時のレベル(シニア、スタッフなど)を決める大事なラウンドです。コーディングはデータ構造が重視されます。
すべてを見るには

返金は購入日から1日以内に申し出て下さい。詳細はこちらからご確認ください。
また、このコンテンツ以外の他の永久アクセス権は付与されない事はご注意下さい。

支払いはによって保護されています

購入済の方はこちらからログインしてください

Loading...