Estamos buscando um desenvolvedor
Node.js sênior para atuar na análise, correção e otimização de um crawler de captação de informações em sites de veículos. O objetivo principal é aumentar a robustez, velocidade e confiabilidade da coleta de dados, superando desafios técnicos em processamento paralelo e estabilidade do sistema.
Cenário Atual:
Já possuímos um crawler funcional desenvolvido em
Node.js, atualmente em execução em um servidor Linux (DigitalOcean). Para atender às nossas necessidades de performance, o projeto requer execução paralelizada em 12 máquinas. Contamos com um desenvolvedor dedicado, mas estamos enfrentando dificuldades técnicas significativas para avançar em pontos críticos relacionados ao processamento em paralelo e à estabilidade geral do sistema.
Objetivo do Projeto:
O profissional contratado terá como missão auxiliar na identificação e resolução de gargalos técnicos, propondo e implementando melhorias que garantam a escalabilidade e a eficiência do crawler. Espera-se um perfil proativo e com capacidade de "mão-na-massa" para resolver os desafios que travam o projeto.
Requisitos Principais:
- Sólida experiência e proficiência em
Node.js (nível sênior).
- Experiência comprovada no desenvolvimento e manutenção de crawlers ou robôs de coleta de dados (web scrapers).
- Domínio de conceitos e ferramentas para paralelização e processamento distribuído (ex: cluster, PM2, filas, workers).
- Experiência prática com ambientes Linux, preferencialmente em plataformas como DigitalOcean ou similares.
- Excelente comunicação e habilidade para colaborar efetivamente com nosso desenvolvedor principal na resolução de problemas.
Desejável:
- Histórico de atuação em projetos de coleta de dados em grandes portais (ex: veículos, classificados, e-commerce).
- Conhecimento e experiência com sistemas de proxy, rotação de IPs e gerenciamento de requisições em alta escala.
Buscamos um profissional com disponibilidade para reuniões de alinhamento rápidas e que possa iniciar os trabalhos imediatamente.
Prazo de Entrega: Não estabelecido