Sobre o projeto
ms-job-watcher é um pipeline automatizado de alerta de vagas que funciona de forma autônoma no GitHub Actions. Ele faz polling em seis grandes APIs de carreiras corporativas (Microsoft, NVIDIA, Amazon, Goldman Sachs, IBM, Oracle) e aproximadamente 1.200 placas de vagas ATS curadas nas plataformas Greenhouse, Lever, SmartRecruiters, Workday e Ashby. As vagas são filtradas para funções de engenharia de software de nível inicial e intermediário baseadas nos EUA usando classificação baseada em regras que excluem rigidamente estágios, QA, vendas, marketing, cargos com necessidade de licença ou cidadania, e posições que não patrocinam visto, além de excluir suavemente funções DevOps/operações a menos que combinadas com forte sinal de engenheiro de software. Os resultados são desduplicados contra estado JSON persistido, com novas correspondências enviadas por e-mail como resumos via SMTP do Gmail.
O pipeline opera em dois modos independentes: um pipeline principal que verifica as APIs das empresas a cada ~10 minutos e um pipeline de placas que varre as placas ATS a cada ~30 minutos em lotes baseados em cursor de 200 para completar varreduras completas dentro dos tempos limite do GitHub Actions. As placas são buscadas simultaneamente usando ThreadPoolExecutor com semáforos por plataforma. Placas mortas que retornam 404/410 são automaticamente ignoradas. Um painel Flask permite navegar pelas vagas vistas e histórico de execuções.
Stack tecnológico: Python 3.11, requests, BeautifulSoup4, GitHub Actions, Gmail SMTP, Flask. O estado é persistido como arquivos JSON atômicos comprometidos de volta ao repositório para sobreviver a executores efêmeros. O agendamento em produção usa cron-job.org acessando a API workflow_dispatch para intervalos curtos confiáveis.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.