

# 求人を自分のスキルに照らして順位付けする方法

スクレイピングで収集した求人は、必須条件、必須業務、自分の経験・実績の裏付けを比較して、候補を絞り込みます。キーワードが一致するだけでは、その仕事を遂行できる証明にはなりません。必須条件とは、求人が必要としている条件です。裏付けとは、自分が事実として説明できる具体的なプロジェクト、作業、資格、成果を指します。

## 求人データの収集を設定する

[LinkedIn Jobs Scraper Actor](https://apify.com/chronometrica/linkedin-jobs-scraper)と[LinkedIn Jobs by Experience Level Dataset Task](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/linkedin-jobs-by-experience-level-dataset)を使って求人を収集します。サンプル入力では、`searchTerm`をdata engineer、`experienceLevel`をentryに設定しています。読者は両方の値を自分の収集対象に合わせて置き換えてください。

`fetchJobDetails=true`、`maxItems=3`、`saveOnlyUniqueItems=true`を設定します。MaxItemsは収集全体で共有される上限です。次のフィールドを保持してください：`jobId`、`jobUrl`、`title`、`companyName`、`locationRaw`、`seniority`、`employmentType`、`descriptionStatus`、`descriptionText`、`descriptionSnippet`、`scrapedAt`。値が欠損している場合もあります。

Actorが提供するのは取得元のテキストとラベルであり、職務経歴書の分析や適合度スコアではありません。比較する前に、取得元と一致する求人説明の全文を必須としてください。抜粋にあるスキルが記載されていなくても、そのスキルが要件にないとは判断できません。現時点で受け入れ確認を通過した、詳細情報がそろった3行から確認できるのは、取得元データの構成です。実際の職務経歴書との比較を検証したものではありません。

## 1. 経験・実績の裏付けを一覧にする

希望する職種名と、譲れない条件を書き出してください。事実に基づく経験・実績の裏付けを短い一覧にまとめます。担当した作業、使用したツール、プロジェクトでの担当範囲、関連する時期を含めてください。自分の評価と、求人が求める内容は分けて記録します。

Actorは、ウェブからデータを収集する、ホスト環境で動くプログラムです。Taskは、そのプログラムの入力設定を保存したものです。Actorで求人のデータ行を収集できますが、分析は自分で手作業で行う必要があります。この収集ツールが提供するのは求人のテキストと取得元のラベルです。スキルの適合度スコアを出したり、履歴書を分析したりする機能はありません。

## 2. 少数の求人サンプルを収集する

説明全文を含む求人を少数収集します。求人を要件比較に使う前に、[説明全文の確認基準](/ja/articles/%E6%B1%82%E4%BA%BA%E3%83%87%E3%83%BC%E3%82%BF-%E8%A9%B3%E7%B4%B0%E5%85%A8%E6%96%87%E3%81%AE%E7%A2%BA%E8%AA%8D/)を満たす必要があります。説明が欠けている場合は、記載されていない単語を理由にその求人を除外せず、裏付けが不十分と記録してください。

求人の取得元にある職位レベルのラベルを慎重に確認してください。このラベルは実際に求められる経験と異なる場合があるため、業務内容と条件をすべて読む必要があります。取得元のテキスト、取得状況、観測時刻を保持してください。非公開の履歴書を第三者のモデルに送信しないでください。この方法ではモデルも履歴書のアップロードも不要です。

## 3. 求人要件を分ける

求人の内容を、必須条件、必須の業務とスキル、歓迎要件の3つに分けます。要件として読み取った各項目の横に、根拠となる原文の箇所を保存してください。会社紹介の段落に出てくるツールを、すべて応募者の必須スキルにしてはいけません。

## 4. 必須条件を確認する

最初に必須条件を確認します。求人が求める条件を満たせない場合は、自分のルールに従って除外してください。重要な条件が不明確な場合は、後で確認する項目として記録します。この確認を通過した求人は、スキルと業務内容の評価に進めます。この確認は、応募資格を満たすことや選考に通ることを保証するものではありません。

## 5. 業務と自分の経験・実績の裏付けを対応付ける

主要業務を1つずつ、自分の経験・実績の裏付けと比較します。各業務を「実績で裏付けられる」「関連する経験はあるが限定的」「裏付けがない」「不明」のいずれかで評価してください。理由を1文で説明します。昔使ったツールの名前が一致することよりも、同じ業務を最近行った実績の方が役立つ場合があります。その判断を数値の中に隠さず、明確に記述してください。

## 6. 歓迎要件を分けて扱う

歓迎要件は主要な必須要件と分けて扱います。歓迎要件のツールを使えなくても、求人がそのツールを必須としていない限り、それだけで除外する理由にはなりません。根拠のない重み付けをしたり、合計スコアを客観的な評価と呼んだりしないでください。

## 7. 候補の区分を決める

各求人を「有力候補」「挑戦候補・要確認」「見送り」の3つのいずれかに分類し、明確な理由を1つ添えます。不明点や質問は、後で確認できるように保存してください。2つの求人の適合度が近い場合は、業務との一致と必須要件で不足する点を基に、どちらを詳しく読み、応募に時間をかけるかを決めます。根拠のない採用確率を使わないでください。

## 8. 判断表を維持する

取得元へのリンクを付けた判断表を保持します。採用企業が要件を明確にしたときや、自分の経験・実績の裏付けが変わったときに、表を更新してください。これにより、判断根拠が分かる候補リストができます。応募や連絡は、その後に別の行動として行います。

## 架空の例と裏付けの分析

この例に登場する求人と応募者の経験は、すべて架空のものです。

### 応募者の経験・実績の裏付け一覧

- PythonとSQLを使い、週次レポート用のデータ処理パイプラインを1つ構築した。
- データ品質を確認し、不具合を文書に記録した。
- 本番環境でオンコール対応を担当した経験はない。
- チーム管理の経験はない。
- 現在、クラウドへのデプロイを学んでいる。
- 商業的な成功や数値実績は主張していない。

### 求人サンプル

- 求人A：PythonとSQLによるレポート作成と、取得元データの品質確認が必須。クラウドへのデプロイ経験は歓迎要件。職位レベルのフィールドはentry。満たせない必須条件は、分かっている範囲ではない。必須業務に対応する実績の裏付けがある。歓迎要件であるクラウド経験の不足を記録する。
- 求人B：本番クラウド環境の運用と、オンコールでのインシデント対応が必須。Pythonは歓迎要件。応募者にPythonの経験があっても、主要業務の2つを満たすことにはならない。
- 求人C：チーム管理と予算責任が必須。職種名はデータリード。求人説明のテキストは不完全。管理経験の裏付けがなく、要件全体の文脈も未確認。

### 裏付けの一覧表

| 求人 | 要件または業務 | 応募者の経験・実績の裏付け | 適合状況 | 判断と理由 |
| --- | --- | --- | --- | --- |
| A | PythonとSQLによるレポート作成 | 週次レポート用のデータ処理パイプラインを構築した | 実績で裏付けられる | 有力候補：主要なレポート作成業務を実績で裏付けられる |
| A | 取得元データの品質確認 | データを確認し、不具合を文書に記録した | 実績で裏付けられる | 有力候補：品質確認を実績で裏付けられる |
| A | クラウドへのデプロイ | クラウドへのデプロイを学習中 | 関連する経験はあるが限定的 | 有力候補：歓迎要件のクラウド経験は未充足 |
| B | 本番環境の運用とオンコール対応 | 本番環境でオンコール対応を担当した経験はない | 裏付けがない | 見送り：必須の本番環境運用の経験がない |
| C | 管理業務と予算 | 管理経験はない | 裏付けがない | 保留：テキストが不完全なため、取得元の全文確認が必要 |

### 業務内容を踏まえた評価が重要な理由

キーワードだけを探すと、求人Aと求人Bの両方にPythonという単語があるため、2件が一致します。一方、業務内容を踏まえて評価すると、最初の有力候補として明確に残るのは求人Aだけです。求人Bで求められる本番環境の運用とオンコール対応には、経験の裏付けがないためです。

この例の読者は、主要業務の裏付けがない求人を見送るというルールに従い、求人Bを見送ります。本番クラウド環境の運用とオンコール対応の実績を示せないためです。Pythonという単語が共通しているだけでは、十分な裏付けにはなりません。求人Aは明確な有力候補として残り、求人Cは取得元の全文確認が終わるまで保留となります。裏付けを示した全5行から、Pythonのキーワード一致が2件あっても、明確な有力候補は1件だけであることが確認できます。重み付けや面接に進める確率の予測は使っていません。

## 次にすること

[LinkedIn Jobs Scraper Actor](https://apify.com/chronometrica/linkedin-jobs-scraper)から[LinkedIn Jobs by Experience Level Dataset](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/linkedin-jobs-by-experience-level-dataset)を開きます。自分に合う経験レベルのフィルターを選び、取得件数の上限を少なく設定してください。その後、受け入れ確認を通過した3件の説明を、自分の経験・実績の裏付け一覧と比較します。

## 出典と参考資料

- [LinkedIn Jobs Scraper Actor](https://apify.com/chronometrica/linkedin-jobs-scraper)
- [LinkedIn Jobs by Experience Level Dataset Task](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/linkedin-jobs-by-experience-level-dataset)
- [Redditのn8n自動化に関する議論](https://www.reddit.com/r/n8n/comments/1ssdtg7/built_a_n8n_linkedin_job_automation_ai_agent/)