このプロジェクトについて

ms-job-watcherは、GitHub Actions上で非対話的に実行される自動化された求人アラートパイプラインです。このパイプラインは、Microsoft、NVIDIA、Amazon、Goldman Sachs、IBM、Oracleの6社の主要企業Career APIをポーリングし、Greenhouse、Lever、SmartRecruiters、Workday、Ashbyプラットフォーム上の約1,200のキュレートされたATS求人板を対象にします。求人は、ルールベースの分類により、米国ベースのエントリーレベルおよび中級ソフトウェアエンジニア求人としてフィルタリングされます。Internship、QA、営業、マーケティング、クリアランス、パスポート要件、スポンサーシップ不要の求人はハード除外され、DevOps/オペレーションロールは強力なSWEシグナルがない限りソフト除外されます。結果は永続化されたJSON状態に対して重複排除され、新しい一致項目はGmail SMTP経由でダイジェスト形式でメール送信されます。 このパイプラインは2つの独立したモードで動作します:1つは企業APIを約10分ごとにチェックするメインパイプライン、もう1つはATS求人板を約30分ごとにカーソルベースの200件単位のバッチでスキャンするボードパイプラインで、GitHub Actionsのタイムアウト内に全体のスキャンを完了します。ボードはThreadPoolExecutorを使用して並列に取得され、プラットフォームごとのセマフォが適用されます。404/410エラーを返す無効なボードは自動的にスキップされます。Flaskベースのダッシュボードでは、確認済みの求人や実行履歴の閲覧が可能です。 技術スタック:Python 3.11、requests、BeautifulSoup4、GitHub Actions、Gmail SMTP、Flask。状態は一時的なランナーでも保持できるように、原子性を持つJSONファイルとしてリポジトリにコミットされます。本番環境でのスケジューリングにはcron-job.orgがワークフロー起動APIを呼び出して、短い間隔での信頼性の高い実行を実現しています。