É muito importante que você tenha e/ou saiba:
* Metodologia ágil;
* Java/SpringBoot;
* Banco de dados (relacional e não relacional);
* Microservicos e APIs;
* Infra (docker, kubernetes);
* Qualidade do codigo (sonar);
* Nuvem (AWS/Azure) (CI/CD, s3, API gateway);
* Filas (Kafka);
* Batch/Processamento de arquivos (SpringBatch);
* Ferramenta de testes;
* Observabilidade.
Diferenciais:
* Arquitetura (desenho do projeto desde o início);
* Outros linguagens (front-End, mobile);
* Nosso Legado (.net, vb6, java 8);
* Portfolio (GitHub).
Stack:
* Java (8, 11, 17, 21) springboot e springbatch. sql server, oracle e postgres. kafka e redis. aws e azure.
* Legado : .net framework e vb6/com+
Os desafios da função são:
* Projetar soluções: desenhar arquitetura de sistemas, definir padrões de microserviços e integrações;
* Codificar em Java/SpringBoot: implementar APIs, microserviços e rotinas batch com SpringBatch;
* Modelar dados: criar e otimizar estruturas em banco de dados relacionais e NoSql;
* Gerenciar cache e filas: configurar Redis e Kafka para alta performance e mensageria;
* Integrar sistemas: consumir e expor APIs internas e externas com segurança;
* Containerizar aplicações: criar e manter imagens Docker, orquestrar com Kubernetes;
* Operar em nuvem: configurar serviços em AWS (S3, API Gateway, RDS, EFS, etc);
* Garantir qualidade do código: aplicar boas práticas, revisar PRs e monitorar Sonar;
* Executar testes: unitários, integração e automação com ferramentas de QA;
* Monitorar observabilidade: acompanhar logs, métricas e tracing para identificar falhas;
* Participar de cerimônias ágeis: dailies, plannings, reviews e retrospectivas;
* Apoiar desenvolvedores mais juniores e compartilhar conhecimento;
* Documentar soluções: manter documentação técnica e diagramas atualizados.