Arquiteto de Software Java Sênior

Há 5 dias

Barueri, São Paulo, Brasil CODGOX DESENVOLVIMENTO DE SOFTWARE LTDA Tempo integral R$ 260.000 - R$ 380.000 Contrato

Estamos buscando um(a) Arquiteto(a) de Software Java Sênior, Especialista em Estabilidade e Performance, com forte experiência prática em desenvolvimento e, principalmente, histórico comprovado de tomada de decisões arquiteturais. Essa posição fará parte de um time de Arquitetura e Engenharia responsável por apoiar diferentes produtos e desafios tecnológicos, atuando desde a análise de problemas complexos até a definição, evolução e validação de soluções arquiteturais. Buscamos alguém que não seja apenas capaz de implementar uma arquitetura previamente definida, mas que tenha experiência em avaliar cenários, estudar alternativas, analisar trade-offs e decidir qual abordagem técnica faz mais sentido para cada contexto.

Principais responsabilidades:

  • Arquitetura e tomada de decisão Analisar problemas técnicos e propor diferentes alternativas de solução;
  • Definir arquiteturas e padrões técnicos considerando requisitos funcionais e não funcionais;
  • Avaliar trade-offs relacionados a performance, escalabilidade, disponibilidade, confiabilidade, complexidade, custo e manutenibilidade;
  • Tomar e sustentar decisões arquiteturais com base em critérios técnicos e evidências;
  • Documentar decisões, premissas, alternativas avaliadas e respectivos impactos;
  • Revisar arquiteturas existentes e propor evoluções quando necessário;
  • Avaliar novas tecnologias e determinar quando sua adoção é tecnicamente justificável.

Desenvolvimento e atuação hands-on:

  • Atuar diretamente no desenvolvimento de soluções Java/Spring Boot;
  • Participar de provas de conceito, protótipos e validações técnicas;
  • Revisar código e orientar tecnicamente os desenvolvedores;
  • Investigar problemas complexos de produção e atuar na identificação de causa raiz;
  • Garantir que as decisões arquiteturais sejam viáveis na prática e não apenas conceituais.

Performance, estabilidade e resiliência:

  • Analisar gargalos de performance e comportamento de sistemas sob carga;
  • Definir estratégias para alta disponibilidade, escalabilidade e resiliência;
  • Avaliar mecanismos de timeout, retry, idempotência, controle de concorrência e backpressure;
  • Apoiar testes de carga, estresse e performance;
  • Identificar e solucionar problemas relacionados a integrações, processamento e comunicação entre serviços;
  • Avaliar gargalos relacionados a banco de dados, queries, índices, pools de conexão e transações.

Integrações e sistemas distribuídos:

  • Projetar e evoluir integrações entre sistemas e serviços;
  • Trabalhar com APIs, mensageria e comunicação síncrona e assíncrona;
  • Avaliar diferentes padrões de comunicação de acordo com o contexto e os requisitos da solução;
  • Atuar em cenários envolvendo microsserviços e sistemas distribuídos;
  • Considerar observabilidade e rastreabilidade como parte da arquitetura da solução.

Requisitos técnicos:

  • Experiência sólida com Java e Spring Boot;
  • Experiência comprovada atuando em arquitetura de software, não apenas na implementação de arquiteturas previamente definidas;
  • Histórico de participação ou liderança em decisões arquiteturais relevantes;
  • Experiência com desenvolvimento de APIs e integrações;
  • Experiência com sistemas distribuídos e microsserviços;
  • Conhecimento de mensageria, como Kafka, RabbitMQ ou AWS SQS;
  • Experiência ou conhecimento em gRPC e Protocol Buffers;
  • Experiência com testes automatizados de backend, como JUnit, RestAssured e WireMock;
  • Experiência com testes de carga e estresse, como JMeter, Gatling ou k6;
  • Conhecimento de banco de dados, incluindo análise de queries, índice