エンジニア海外就職:Resume作成から応募までをストレスフリーにするワークフロー
はじめに
海外就職を考えたとき、避けて通れないのがResumeだ。ここが通らないことには話が始まらない。
Resume作成から応募までのプロセスを分解すると、こうなる。
- 企業の採用意向やATSに合わせた書き方を学ぶ
- 自分の経歴の棚卸し
- それを英語にする
- 応募先企業の規模・財務状況などの把握
- 応募先に合わせたResumeの調整 ← ここがボトルネック
1は一度学習すれば身につくし、このサイクルを回す中でだんだん感覚が掴めてくる類のものだ。2と3は自分の経歴なので、AIと会話しながらこつこつ磨いていく自分だけの泥団子のようなものである。ただ一度作ってしまえば、そのあとは細かい調整で済む。4は調べ方の問題で、CrunchbaseやGlassdoorなどで企業の体質や財務面を確認すればいい。地域による調達額の相場の違いなどはあるかもしれないが、ある程度はAIに聞けば教えてくれる。
つまり1〜4は一度やれば材料が揃ったり、自分の学習として蓄積されていくものだ。
しかし5は違う。
応募先ごとに具体的な成果物(=調整済みResume)が必要で、何度も手を加えないといけない作業になる。JDに合わせてキーワードや企業の精神性を読み取り、Resumeに反映させる必要がある。
ここをAIに丸投げすると危険で、自分が理解しないままResumeが一人歩きし、面接前に「自分こんなこと書いてるけど、どういう意図だっけ?」となる。かといって1社あたり1時間以上かけていたら、何十社・何百社への応募は現実的ではない。
この記事では、Resumeの使い回しを避けつつ、作成から応募までを効率化するワークフローをまとめる。
Markdown管理 × PDF生成 × Gitバージョン管理
最初に考えたのは、JDをindustry・ATS・会社規模・B2B/B2Cなどで分類し、たとえば20パターンのResumeを事前に用意してしまうアプローチだった。ただ、最初から分類パターンを決め打ちするのは難しい。実際にはJDに合わせて自分で調整する過程を繰り返す中で、「このJDとこのJDは同じResumeで行けるな」と判断できるようになり、結果的にパターンが収束していくものだと思う。
そしてどんなワークフローを採用しても、最初の10サイクルくらいまでは自分のResumeとJDを何度も読み込む泥臭い作業は避けられない予感がした。ただ、繰り返すことで英語のReadingスキルが上がり、Resume内容への理解も深まっていくので、大変なのは最初だけだと思っている。
ResumeをGitで差分管理する
Resumeもコードと同じで、差分管理・バージョン管理するべきだと気づいた。
最終形態がPDFやdocxである以上、Google Driveで管理していたが、問題がある。
- オリジンファイルからの差分が見づらい
- 差分管理はやはりGitHub(Git)が圧倒的に見やすい
そこで、元原稿をMarkdownで管理し、GitHubで差分を追跡する方針に切り替えた。
応募先ごとの管理方法としては、元ファイル(ベーステンプレート)を残しつつ、応募企業ごとに新規Markdownファイルを作成し、企業名を含めたファイル名で管理していく形が良さそうだ。
Markdown → PDF変換の環境構築
既存サービス
resume-dev.io のようなMarkdownからResumeを生成するサービスも存在する。多くの先人が通った道で、英語圏の就活を経験したエンジニアなら当然の流れなのかもしれない。
自前で構築する方法(採用)
「自分で作ってみよう!」ということで、VSCode(またはCursor)の拡張機能「Markdown PDF」 を使う方法を採用した。
手順:
- VSCode / Cursorに拡張機能「Markdown PDF」をインストール
- Markdownファイル内に
<style>タグでCSSを記述し、レイアウトを調整 -
Cmd + Shift + P→Markdown PDF: Export (pdf)でPDF生成
この方法なら、MarkdownとCSSだけで理想のResumeレイアウトを作り込める。
CSSは同じファイル内に書き込めるので、Markdownの1ファイルだけを管理すればいい。
テンプレート
ATS対応のResumeテンプレートをGistで公開しました。
ちなみにこちらのテンプレートの元となるPDFファイルのデザインはKei Yamashita(@kei95)さんからご提供いただきました。ありがとうございます!
テンプレートのポイント:
-
<style>タグ内にCSS定義を埋め込み、フォント・余白・レイアウトを制御 - A4サイズ・適切なマージン設定(
@pageルール) - ATS対応を意識したシンプルな構造(Professional Summary → Work Experience → Education → Certifications → Skills)
- セクション見出しは大文字 + 下線でATS/人間の両方に読みやすい形式
生成PDF仕上がり

最終的なワークフローまとめ
[ベースResume (Markdown)]
↓ JDに合わせて調整
[企業別Resume (Markdown)] --- Gitで差分管理
↓ Markdown PDF拡張
[PDF出力]
↓
[応募]
このワークフローにより、以下が実現できる。
- 差分の可視化:GitHubで企業ごとのResume差分が一目瞭然
- 効率的な調整:ベーステンプレートからのコピー → JDに合わせた微調整
- 品質の維持:CSSで一貫したフォーマット、ATS対応の構造
- スケーラビリティ:何十社分でもファイルを量産可能
おわりに
Resume作成は面倒だが、ワークフローを整えることで「調整 → 生成 → 応募」のサイクルを高速に回せるようになる。特にMarkdown + Git管理は、エンジニアにとっては馴染みのあるツールチェインなので、学習コストも低い。
海外就職を目指すエンジニアの参考になれば幸いです。
Discussion