Desenvolvedor Back-end Sênior
**Requisitos Obrigatórios**:
- Formação superior completa em Engenharia da Computação, Ciência da computação, Sistemas de informações e cursos relacionados;
- Domínio das versões mais recentes do Java (Java 8, 11, 17 ou superior), incluindo características como streams, lambdas, API de data/hora (java.time), Optional, default methods, recordsepatternmatching;
- Experiência em escrever testes unitários e de integração utilizando JUnit, Mockito, Arquillian(para Quarkus), e outras ferramentas de teste;
- Experiência com bancos de dados relacionais (PostgreSQL, MySQL, Oracle, etc.)
e bancos de dados não relacionais (MongoDB, Cassandra, Redis);
- Habilidade para implementar autenticação e autorização em APIs RESTfulcom o QuarkusSecurity (ex.
: OAuth2, JWT, LDAP, OpenIDConnect);
- Proficiência em arquitetura de microserviços e como implementá-la com Quarkus ou SpringBoot.
**Requisitos Desejáveis**:
- Conhecimento em Sistemas de Informação Geográfica;
- Conhecimento em dado geo espacial;
- Conhecimento em Arquitetura Serveless;
- AWS Cloud;
- Especialização ou Mestrado em área técnica relacionada.
**Responsabilidades**:
- Desenvolver e manter APIs RESTful ou GraphQL, que permitem a comunicação entre o backend e o frontend;
- Planejar e implementar a arquitetura de sistemas de forma que seja escalável, eficiente e resiliente;
- Revisar e otimizar o código existente: Realizar revisões periódicas de código, refatorando trechos para melhorar a legibilidade, desempenho e a aderência aos padrões de desenvolvimento adotados pela equipe;
- Trabalhar com bancos de dados relacionais (MySQL, PostgreSQL, etc.)
ou não relacionais (MongoDB, Cassandra, etc.
), projetando esquemas eficientes e realizando otimizações;
- Realizar otimizações de desempenho, como reduzir tempo de resposta de APIs, melhorar o tempo de carregamento de dados ou diminuir o uso de recursos;
- Colaborar com a equipe por meio de metodologias ágeis: Trabalhar de forma integrada com outros desenvolvedores, designers e equipes de produto, utilizando práticas ágeis (como Scrum ou Kanban) para entregar resultados de forma eficiente e alinhada às necessidades do negócio;
- Criar e manter a documentação técnica de APIs, serviços, arquitetura do sistema e boas práticas, para que outros desenvolvedores possam facilmente entender e trabalhar no código;
- Auxiliar desenvolvedores mais juniores e intermediários com orientação técnica;
- Implementar testes automatizados (unitários, integração, etc.)
para garantir a qualidade do código.
**Esta vaga está disponível também para PcDs.