Desenvolvedor(a) Backend Sênior – Java
Responsabilidades e atribuições
* Prestar suporte técnico e funcional aos membros da equipe, esclarecendo dúvidas relacionadas ao negócio e à tecnologia.
* Atuar de forma colaborativa e comunicativa, promovendo integração efetiva com o time de desenvolvimento e áreas parceiras.
* Demonstrar proatividade na resolução de demandas e desafios do dia a dia, com foco em qualidade, performance e escalabilidade.
* Interagir com o time de Arquitetura para compreender e implementar soluções técnicas e funcionais.
* Atuar em atividades de System Design, definição de soluções técnicas e evolução da arquitetura.
* Desenvolver e manter APIs e microsserviços, considerando boas práticas de design, versionamento, segurança, resiliência e observabilidade.
* Atuar em ambientes de alta concorrência, garantindo performance, estabilidade e confiabilidade das aplicações.
1. Requisitos e qualificações
* Experiência sólida com Java 21 (ou superior), com conhecimento aprofundado da JVM, garbage collection, tuning e profiling.
* Vivência com Spring Boot e Spring WebFlux, aplicados em arquiteturas de microsserviços.
* Domínio de padrões de projeto, princípios SOLID, Clean Code e arquiteturas como Clean Architecture, Hexagonal ou serviços distribuídos.
* Experiência com desenvolvimento e manutenção de APIs REST, incluindo autenticação, autorização e resiliência.
* Conhecimento em segurança de APIs REST, utilizando OAuth2, JWT e boas práticas de segurança.
* Experiência com bancos de dados SQL e NoSQL, como Oracle, PostgreSQL e MongoDB.
* Vivência com mensageria, especialmente Kafka (incluindo uso de Avro Schema).
* Conhecimento em estratégias e ferramentas de cache, como Redis.
* Experiência com soluções de armazenamento de objetos, como AWS S3 e MinIO.
* Vivência com testes unitários utilizando JUnit.
* Conhecimento em Gradle, Git e Docker.
* Experiência com CI/CD, utilizando ferramentas como GitLab CI e/ou Jenkins.
* Domínio de ferramentas de versionamento de código (Git).
* Conhecimento em integrações com sistemas externos, via FTP, SFTP, HTTP, SOAP e soluções legadas.
* Noções de configuração remota e gerenciamento de segredos, utilizando Spring Cloud Config e/ou Spring Vault.
* Experiência com ferramentas de monitoramento e observabilidade, como Datadog, Grafana e Graylog.
2. Diferenciais
* Experiência com Kubernetes.
* Vivência com APM e observabilidade avançada, incluindo Datadog, Grafana, Graylog ou Elasticsearch.
* Conhecimento em segurança de aplicações Java, incluindo OWASP, prevenção contra injeções, uso de security headers e autenticação robusta (ex.: Keycloak).
* Experiência com testes de carga, desempenho e latência.
* Atuação prévia em ambientes de alta escala e alta disponibilidade.