Sobre a YellowIpe
Temos a missão de inspirar a conexão entre tecnologia e pessoas. Fomentamos o melhor dos nossos profissionais através da nossa expertise em encontrar e atrair os melhores talentos para os melhores projetos. O Foco nas Pessoas, Colaboração e Comprometimento são os pilares que nos guiam nesta trajetória.
Junta-te à equipa amarela como nosso novo Backend Node.js Engineer!
Estamos à procura de um Engenheiro de Software Backend Node.js para trabalhar numa Cloud Control Station, com foco em APIs REST, streaming de telemetria em tempo real, persistência de missões, autenticação, reporting e comunicação segura entre sistemas.
Responsabilidades
- Desenvolver e manter APIs REST utilizando Node.js e Express, assegurando a implementação de padrões RESTful e boas práticas de design de API.
- Implementar e otimizar middlewares de segurança, incluindo técnicas de mitigação de ataques como helmet, CORS, SSL, e gestão segura de uploads de ficheiros.
- Desenvolver soluções robustas utilizando WebSocket para suportar streaming de telemetria em tempo real, garantindo latência mínima e eficiência de dados.
- Implementar mecanismos de reconexão automática, heartbeat, e tratamento de falhas de ligação para garantir conectividade contínua.
- Trabalhar com bases de dados NoSQL como MongoDB e Firebase/Firestore para assegurar a persistência de informações críticas como missões e dados de telemetria.
- Implementar logging estruturado com ferramentas como log4js, assegurando que todas as operações sejam monitoradas e que logs sejam gerados para análise de desempenho e troubleshooting.
- Colaborar com equipas multifuncionais na geração de relatórios complexos, incluindo PDFs e opções de exportação de dados em diversos formatos.
- Garantir validação de inputs, tratamento apropriado de erros e a adoção das melhores práticas de segurança da informação durante todo o ciclo de vida do software.
- Colaborar na melhoria contínua da fiabilidade e estabilidade da plataforma através de revisões de código, testes automatizados e integração contínua.
Requisitos
- Mínimo de 5 anos de experiência em desenvolvimento com Node.js e Express, com forte compreensão da arquitetura de aplicações.
- Experiência comprovada na implementação de APIs REST, com conhecimentos em práticas de versionamento e documentação de APIs.
- Domínio de ES modules e experiência em gestão de dependências com npm ou yarn.
- Conhecimentos sólidos em middlewares de segurança, como helmet, CORS e SSL, e melhores práticas de segurança para aplicações web.
- Experiência com upload de ficheiros e conhecimento das implicações de segurança e performance associadas.
- Forte experiência com WebSocket, preferencialmente utilizando a biblioteca ws, e um entendimento profundo dos desafios relacionados com streaming de dados em tempo real.
- Conhecimentos avançados de MongoDB, incluindo modelagem de dados e otimização de consultas.
- Experiência com Firebase ou Firestore, incluindo autenticação de utilizadores e gestão de dados em tempo real.
- Experiência em logging estruturado, preferencialmente com log4js ou equivalente; capacidade de realizar troubleshooting e debugging eficaz em ambientes de produção.
- Boa disciplina em relação à segurança, fiabilidade e validação técnica, com uma mentalidade orientada para resultados.
Diferenciais
- Experiência com Puppeteer ou similares para geração de PDFs ou automação de processos web.
- Conhecimentos em fast-csv para exportação de dados em formato CSV, facilitando a integração de dados em diversas aplicações.
- Experiência com tecnologias como OpenTok ou WebRTC para streaming de vídeo ao vivo, agregando valor à experiência do utilizador.
- Conhecimentos em Handlebars ou outras tecnologias de templating para construção de templates server-side.
- Familiaridade com node-geocoder para funcionalidades de geolocalização, expandindo a funcionalidade do sistema.
- Experiência em plataformas de controlo, telemetria ou sistemas em tempo real, valorizando o conhecimento em arquiteturas distribuídas.
- Conhecimentos sobre a implementação de certificados SSL e gestão de ambientes em cloud, garantindo a segurança dos serviços.