Engenheiro de Software Java Sênior
Requisitos Técnicos Principais
Core Java e Ecossistema
- Java Avançado: Domínio profundo das versões modernas (Java 11/17/21), incluindo Streams, Lambdas, concorrência, multithreading, gerenciamento de memória (JVM, Garbage Collection) e tuning de performance.
- Frameworks: Experiência sólida com Spring Framework (Spring Boot, Spring Data, Spring Security, Spring Cloud) e/ou Quarkus / Micronaut.
- APIs & Web: Construção e design de APIs RESTful, OpenAPI/Swagger e consumo de serviços Web.
Arquitetura e Design de Software
- Design Patterns & Princípios: Aplicação prática de princípios SOLID, Clean Code e padrões estruturais e comportamentais.
- Arquitetura Modernas: Experiência prática com Microserviços, Arquitetura Orientada a Eventos (Event-Driven Architecture), Arquitetura Hexagonal ou Clean Architecture.
- Bancos de Dados:
- Relacionais: Postgres, MySQL, Oracle (modelagem, otimização de consultas e rotinas).
- Não Relacionais (NoSQL): MongoDB, DynamoDB, Redis (mecanismos de cache).
Nuvem, DevOps e Infraestrutura
- Cloud Providers: Conhecimento em AWS, GCP ou Azure (serviços de computação, armazenamento, filas e bancos gerenciados).
- Mensageria: Experiência com Apache Kafka, RabbitMQ, AWS SQS ou SNS.
- Conteinerização: Docker e orquestração com Kubernetes.
- CI/CD: Criação e manutenção de pipelines de entrega contínua (GitHub Actions, GitLab CI, Jenkins).
Qualidade e Observabilidade
- Testes: Testes unitários (JUnit 5, Mockito), testes de integração e testes BDD/E2E.
- Observabilidade: Experiência em instrumentar e monitorar aplicações usando Prometheus, Grafana, OpenTelemetry, Elasticsearch/Kibana (ELK), Jaeger ou Datadog.
Habilidades Comportamentais (Soft Skills)
- Liderança Técnica & Mentoria: Capacidade de guiar desenvolvedores, realizar Code Reviews criteriosos e fomentar boas práticas no time.
- Tomada de Decisão Técnica: Habilidade de avaliar trade-offs de arquitetura, ferramentas e frameworks, defendendo escolhas com dados.
- Resolução de Problemas Complexos: Diagnóstico de falhas em produção, gargalos de performance e degradação de serviços.
- Comunicação: Traduzir requisitos técnicos para stakeholders de negócios e vice-versa.
Requisitos Desejáveis (Diferenciais)
- Certificação oficial Java (OCP) ou Certificação Cloud (AWS/GCP/Azure).
- Experiência com arquiteturas Serverless.
- Conhecimento em engenharia de dados ou integração de modelos de IA/LLM em ecossistemas Java.
- Vivência com metodologia ágil (Scrum/Kanban) e práticas de DevSecOps.