Engenheiro de Software - Expectativa Sr. at Cadmus

Remote - São Paulo, Brazil

Apply
More jobs at Cadmus

Senior Software Engineer responsible for designing, developing, and maintaining mission‑critical software solutions using Java and Spring Boot, ensuring code quality through reviews, automated testing, and adherence to best practices.

Requisitos

Educação

  • Superior em Tecnologia da Informação ou áreas correlatas

Experiência

  • Experiência com desenvolvimento de sistemas com arquitetura distribuída
  • Experiência sólida em Java, utilizando ambientes Unix e Linux
  • Experiência com bancos de dados relacionais
  • Experiência com TDD e BDD
  • Vivência em confecção de documentações técnicas e system design
  • Vivência com refactoring de código e testes unitários
  • Experiência com Kanban e pilares Lean
  • Conhecimento em arquitetura orientada a eventos

Habilidades

  • Conhecimento sólido em estrutura de dados, algoritmos e análise de complexidade
  • Conhecimento em POO, Design Patterns e anti patterns, principalmente utilizando chamadas REST e JSON
  • Conhecimento em arquitetura orientada a eventos
  • Conhecimento em conceitos e plataformas de CI/CD
  • Proatividade
  • Comunicação
  • Liderança
  • Mentoria
  • Senso de urgência
  • Autonomia

Idiomas

  • Portuguese

Responsabilidades

  • Desenvolver, sustentar e evoluir soluções de software para missão crítica utilizando Java+Springboot
  • Defender, aplicar e fomentar o uso de boas práticas de desenvolvimento, prezando pelo uso correto de design patterns e garantindo a manutenabilidade do código
  • Participar do processo de avaliação de código (code review), levantando pontos de melhoria e garantindo a qualidade do que está sendo entregues
  • Explorar soluções e regras de negócio em processo de criação ou amadurecimento, saindo muitas vezes da zona de conforto de uma simples aplicação
  • Produzir código de qualidade, garantido por processos de testes automatizados de aceitação e/ou carga
  • Ser uma referência técnica para posições de senioridade menor, compartilhando conhecimento de conceitos e ferramentas utilizados no dia a dia, bem como fomentando a aplicação de código seguro
  • Participar da concepção, desenho e manutenção de arquiteturas do ecossistema de recebíveis, garantindo a confiabilidade e escalabilidade dos sistemas envolvidos, porém sem exageros de complexidade
  • Ler, compreender e identificar gaps em escopo e definições de negócio para soluções existentes ou em desenvolvimento, escalando o problema quando necessário a discussão e atuando de forma ativa na definição de uma solução mais bem planejada
  • Garantir entregas seguras e acompanhadas, gerando e acompanhando monitorações existentes
  • Manter a troca com profissionais multidisciplinares e de outras áreas, a fim de resolver problemas de maneira cross quando necessário
  • Ajudar a desimpedir membros do time com menos experiência, quando o impedimento for de natureza técnica/skillset
  • Participar e ajudar na manutenção de um ambiente seguro e de crescimento para os demais integrantes do time, tratando temas com leveza e responsabilidade
  • Sentir-se confortável em executar demandas cuja sua vivência é baixa, aceitando novos desafios e desbravando a problemática quando necessário

Tecnologias

JavaSpring BootUnixLinuxRESTJSONrelational databaseTDDBDDCI/CDKanbanEvent‑driven architecture

See if your resume is ready for this job

See how our AI can optimize your resume and improve your chances for this role.