Desenvolvedor Fullstack Sênior (Java)
Eteg Tecnologia Da Informação S/aEsta vaga não aceita mais candidaturas!
Belo Horizonte - MG
1 posição
Não informado
Integral
Estamos à procura de um Desenvolvedor Sênior talentoso e motivado para se juntar ao nosso time. Este profissional atuará em um ambiente dinâmico e desafiador, contribuindo significativamente para a criação e manutenção de aplicações web modernas e escaláveis destinadas a grandes empresas de todo o mundo.
Sobre o Projeto:
Você terá a oportunidade de ser peça-chave na construção de uma solução SaaS inovadora, voltada para os setores financeiro e educacional. Este projeto oferece desafios técnicos para você desenvolver cases de sucesso para sua carreira.
Principais Desafios:
- Integração com APIs Públicas: Você será responsável pela construção e manutenção de APIs robustas, escaláveis e seguras, essenciais para o funcionamento do sistema e integração com serviços externos.
- Gerenciamento Avançado de Pressionamento: Terá a chance de trabalhar com técnicas de controle de eventos e ações de pressionamento, otimizando a resposta a grandes volumes de dados e solicitações em tempo real.
- Scheduling e Filas: Enfrentará o desafio de implementar sistemas de agendamento e gerenciamento de filas, possibilitando a automação e execução de tarefas em momentos específicos com ações totalmente customizáveis.
Além desses desafios, você estará em um ambiente de constante aprendizado e inovação, trabalhando diretamente no desenvolvimento de uma plataforma que impactará milhares de usuários nos setores financeiro e educacional.
Responsabilidades
- Desenvolver e manter Single Page Applications (SPAs), APIs e chatbots de alta qualidade.
- Participar ativamente na solução de problemas, contribuindo para o refinamento, estimativas e arquitetura dos projetos da squad.
- Atuar como braço direito do Tech Lead, participando de entregas e tomadas de decisões importantes.
- Atuar como mentor para a equipe, apoiando devs com menos experiência, promovendo boas práticas e contribuindo para o crescimento de todos.
Requisitos
- Ter 6 ou mais anos de experiência atuando na área.
- Sólida expertise em Java, Spring Boot e React.
- Excelentes habilidades de comunicação, didática e capacidade de trabalhar colaborativamente.
Práticas comuns no trabalho do dia a dia
Hard Skills
Front-end / TypeScript / ReactJS:
- Criação de páginas responsivas.
- Gerenciamento dos estados locais e globais da aplicação.
- Hooks e custom hooks.
- Tailwind CSS.
- Zod para validação de dados.
- TypeScript generics e resoluções de problemas de tipagem comuns (por exemplo, index signature).
- Configurar projetos, incluindo tsconfig, eslint, prettier, biome, etc.
- Requisições para APIs externas.
Back-end / Java / Spring Boot
- Criação de JSON APIs que serão consumidas pelo front-end.
- Implementação de métodos de Autenticação e Autorização.
- Mitigar vulnerabilidades comuns.
- Cache a nível de aplicação.
- Implementação de filas usando Redis ou AWS SQS.
- Lidar com grandes volumes de dados: Chunking, streaming, batch processing, etc.
- Bash Scripts.
- Multi-Tenancy a nível de aplicações.
DevOps / Infra / AWS
- EC2, S3, ECS, RDS, ECR, Lambda, CloudFront, ElastiCache, entre outros.
- Criar Dockerfiles e docker-composes para diferentes tipos de stacks.
- Bancos de dados relacionais (PostgreSQL) e não relacionais (MongoDB).
- Ferramentas de CI/CD, como Github Actions.
- Boas práticas de segurança.
- Balanceamento de carga, escalabilidade e alta-disponibilidade.
- Monitoramento de aplicações.
- Arquiteturas orientadas a eventos/mensageria.
- Multi-Tenancy a nível de infraestrutura.
Soft Skills
- Comunicação clara e didática: saber traduzir aspectos técnicos para a área de negócios.
-
Arquitetar soluções complexas de ponta a ponta recebendo informações limitadas, atuando com proatividade para manter a comunicação do projeto e expectativas com os stakeholders
-
Ser autoridade no projeto e auxiliar e mentorar a comunicação de stakeholders com outros membros do time.
- Implementar soluções de forma consciente (sabendo explicá-las e os motivos de cada escolha). Evitar soluções desnecessariamente complexas (overkill, over-engineering).
- Planejamento e critério (Não implementar as coisas de qualquer forma, mas ter a capacidade de trabalhar em contenções. Trabalhar com simplificações e paliativos para atender prazos).
- Respeito pelas opiniões e ideias de outros membros do time (Valorizando a contribuição de todos, independentemente de experiência ou cargo).
- Postura de mentor- terá oportunidade de guiar colegas desenvolvedores em suas carreiras.
- Receber e dar feedbacks de maneira construtiva (Focar em soluções e aprendizado contínuo, evitando críticas destrutivas).
Benefícios
- Assistência médica
- Assistência odontológica
- Auxílio home-office
- Convênio com Farmácia
- Horário flexível
- Vale refeição
- Vale alimentação