[Job-19879] Senior Developer Back End (Java) , Brazil

Job Description

Responsabilidades:

- Escrever código com qualidade e de fácil evolução, utilizando as melhores práticas de desenvolvimento.
- Apto a efetuar code-reviews e definir melhores práticas dentro da engenharia de software.
- Definir novas soluções e evoluir a arquitetura atual.
- Ser uma pessoa comunicativa e bem integrada com o cliente.
- Criar e manter documentações de software.
- Ser responsável por manter e escalar as aplicações.
- Trabalhar dentro de esteiras de desenvolvimento mínimo de maturidade DevOps (SCM, CI/CD, Quality Gate).
- Entendimento de metodologias ágeis.

Você precisa ter prática com os requisitos abaixo:
- Java 17 (Obrigatório)
- Java 21 (Desejável)
- Clojure (Desejável)
- Scala (Desejável)
- Kotlin (Desejável)

Programação funcional
  - Java Streams (Desejável)
  - Functional interfaces (Desejável)
  - Optional (Desejável)

Padrões de projeto
- Clean Code (Desejável)
- KISS: Keep it simple (Desejável)
- DRY: Dont repeat yourself (Desejável)
- SOLID: Single responsability, Open-closed, Liskov's substitution, Interface segregation, dependency inversion principles (Desejável)
- DDD: Domain Driven Design (Desejável)

Frameworks
- Spring Boot (Obrigatório)
- Spring WebFlux com Project Reactor (Obrigatório*)
- Spring Data MongoDB (Obrigatório)

Paradigmas
- Paradigma funcional (Obrigatório*)
- Paradigma Reativo/Manifesto Reativo (Obrigatório*)  
- Event Driven Architecture (Obrigatório)
- REST: Representational State Transfer, nível de maturidade Richardson nvl 2+ (Desejável)

Tecnologias/infra
- Kafka (Obrigatório)
- MongoDB (Obrigatório)
- Docker (Obrigatório)

* obrigatório pelo menos um dos requisitos marcados com este símbolo

#LI-RR2
#Midsenior