Desenvolvedor(a) Pleno Full Stack (Java/Angular)
Sobre o Desafio
Buscamos uma pessoa desenvolvedora para atuar em um ambiente corporativo de grande porte, focado em sistemas de captura e tratamento de documentos. O desafio principal é a modernização ativa: você não apenas manterá sistemas legados, mas será peça-chave na transição tecnológica, desenvolvendo novas funcionalidades em stack moderna enquanto garante a estabilidade do que já está em produção.
1. Stack Técnica Obrigatória
- Backend: Java 8+ (Streams, Generics), Spring Framework (Boot, MVC), REST APIs e Maven/Gradle.
- Convivência com Legado: Experiência com Struts 1 (leitura e manutenção).
- Frontend: Angular 14+ (Componentes e Serviços) e conhecimento básico em AngularJS 1.x.
- Banco de Dados: Domínio de PostgreSQL (Queries complexas, otimização, índices e EXPLAIN ANALYZE).
- DevOps & Infra: Git/GitLab (MRs, Rebase), Linux (logs e navegação) e Shell Script para automação.
2. O Que Fará Você se Destacar (Diferenciais)
- Experiência com React (apoio em projetos de modernização).
- Conhecimentos em segurança/autenticação: Keycloak, SSO ou OpenID Connect.
- Experiência com Docker e ferramentas de CI/CD (GitLab CI).
- Prática com testes automatizados (JUnit).
3. Responsabilidades do Dia a Dia
- Manter e evoluir funcionalidades em backend legado (Struts/Spring).
- Desenvolver novas interfaces em Angular moderno, garantindo compatibilidade com módulos em AngularJS.
- Criar e otimizar queries SQL para relatórios e operações em lote.
- Desenvolver integrações com sistemas externos via APIs REST.
- Colaborar ativamente em Code Reviews e processos de refatoração incremental.
4. Perfil Desejado (Experiência e Comportamento)
- Experiência Real: Entre 3 a 6 anos atuando em ambientes de produção (não apenas projetos greenfield).
- Mão na Massa com SQL: Capacidade de resolver problemas e otimizar performance sem depender exclusivamente de ORMs.
- Cuidado com o Legado: Compreensão de que código antigo gera valor de negócio; foco em entender o contexto antes de sugerir mudanças.
- Autonomia Calibrada: Capacidade de tomar decisões técnicas justificáveis, mas com maturidade para buscar orientação em arquiteturas de alto impacto.
- Organização: Commits atômicos, mensagens claras e código documentado.
5. Incompatibilidade de Perfil
- Perfis que dependem exclusivamente de frameworks "mágicos" sem entender a base da linguagem.
- Desenvolvedores que vejam sistemas legados como um empecilho, e não como uma oportunidade de engenharia.
- Pessoas com baixa comunicação de impedimentos ou que entregam grandes volumes de código sem testes ou organização.
#LI-Remote
Requisitos
Estudos
Ensino Superior
Competências
Manutenção
Leitura
Struts
Maven
Rest
Angular
Resolução de problemas
Spring
Java
Mvc
Valorizado
Experiência profissional
Entre 3 e 5 anos
Sobre CRJA CONSULTORIA
- Serviços combinados de escritório e apoio administrativo