Digisystem
Buscamos um Desenvolvedor Nodejs Junior ou Pleno com os seguintes conhecimentos/experiências: ;
– Experiência com Node.js.
– Proficiência em TypeScript e JavaScript.
– Familiaridade com o framework NestJS (ou similar, como Express.js).
– Design e implementação de APIs REST e APIs GraphQL.
– Conhecimento avançado de Arquitetura de Microserviços.
– Princípios de Clean Code e SOLID.
Cloud Computing e Infraestrutura
– Experiência prática com AWS:
– Lambda: desenvolvimento de funções serverless.
– DynamoDB: design de tabelas, otimização de queries, e uso de índices.
– SQS e SNS: mensagens assíncronas e notificação entre serviços.
– S3: manipulação de objetos e integração com sistemas.
– API Gateway: design e configuração de APIs.
– CloudWatch: monitoramento de logs e métricas.
– Familiaridade com Azure DevOps (ou pipelines similares).
Mensageria e Comunicação Assíncrona
– Experiência com Kafka:
– Criação de produtores e consumidores.
– Gerenciamento de tópicos e particionamento.
– Garantia de entrega exatamente uma vez (exactly-once delivery).
Contêineres e Orquestração
– Proficiência em Docker:
– Criação e otimização de imagens.
– Debug e troubleshooting de contêineres.
– Experiência com Kubernetes (K8s):
– Configuração de deploys e gestão de clusters.
– Uso de ferramentas como Helm para configuração.
Versionamento e Qualidade de Código
– Domínio de Git (branches, merges, e resolução de conflitos).
– Experiência com SonarCloud ou ferramentas semelhantes para análise de qualidade de código.
– Implementação de testes:
– Unitários: frameworks como Jest ou Mocha.
– Integração: simulação de cenários reais.
– Cobertura mínima garantida de 80%+.
Monitoramento e Observabilidade
– Familiaridade com ferramentas como:
– Grafana e Prometheus: dashboards e monitoramento.
– Elastic Stack (ou equivalente): análise e busca de logs.
Banco de Dados
– Experiência com bancos NoSQL, especialmente DynamoDB.
– Conhecimento em bancos relacionais (ex.: PostgreSQL, MySQL) e otimização de queries.
– Modelagem de dados para alto desempenho e escalabilidade.
Práticas de Desenvolvimento
– Integração e entrega contínuas (CI/CD).
– Familiaridade com metodologias ágeis (SCRUM).
– Habilidade de documentar soluções técnicas (Ex.: Confluence, Swagger).