Um Senior Java Backend Developer está enquadrado na equipa de Customer Experience e deve desempenhar um papel crucial na criação de soluções web, alinhadas com a nossa visão.
Principais responsabilidades
- Ter um papel fundamental no levantamento e definição de requisitos com as equipas de arquitetura e de sistemas dos clientes;
- Participar na análise técnica e funcional nas etapas de design e arquitetura em projetos de soluções aplicacionais;
- Desenvolver soluções aplicacionais para sistemas web como APIs e Serviços baseados nas tecnologias Java e Spring e diferentes ferramentas de gestão de bases de dados como PostgreSQL e MongoDB;
- Aplicar os standards de desenho e arquitetura de software como cliente/servidor, orientado a serviços, microsserviços e outros;
- Aplicar os standards de implementação como SOLID e boas práticas tais como abstração, reutilização e composição;
- Garantir que o código entregue dá resposta às necessidades funcionais de forma resiliente e escalável, correspondendo com os melhores padrões de qualidade empresarial;
- Participar ativamente no desenho e evolução de APIs e integrações;
- Participar no planeamento, desenvolvimento e integração de componentes de infraestrutura e DevOps;
- Trabalhar com a equipa e providenciar insights para a resolução de problemas desafiantes;
- Garantir testes de desenvolvimento (funcionais e/ou testes unitários), bem como realizar revisão de código com colegas de equipa;
- Apoiar os membros menos experientes da equipa com questões técnicas.
Stacks:
Java, Spring, PostgreSQL, MongoDB
Requisitos
Formação académica
Licenciatura ou Mestrado em Engenharia Informática, Sistemas de Informação, ou Ciências da Computação.
Desenvolvimento de Soluções Web
Experiência profissional no desenvolvimento de soluções web client, servidor e/ou microsserviços, com especialização em Java ou outras linguagens de Programação Orientada a Objetos.
Boas Práticas de Programação
Compreensão de boas práticas de programação, incluindo princípios SOLID, RESTful, e conhecimento de JSON, XML, REST, SOAP, e HTTP.
Gestão de Dependências e Bases de Dados
Conhecimentos em Maven ou Gradle para gestão de dependências, e experiência com pelo menos uma tecnologia de base de dados SQL e/ou NoSQL.
DevOps e Cloud
Conhecimento em DevOps para criação e configuração de ambientes de build e deploy de aplicações, experiência com tecnologias de cloud e ecossistema Docker/Kubernetes.
Idiomas
Domínio do Inglês, falado e escrito.
Pontos extra:
- Experiência com plataforma Linux;
- Conhecimento ou experiência com serviços cloud AWS, Google Cloud ou Azure;
- Experiência com tecnologias de identificação como Keycloak, AD ou Firebase;
- Conhecimento com tecnologias de mensagens: RabbitMQ, Kafka ou similar.