Buscamos um profissional sólido para o cargo de Desenvolvedor(a) Full Stack Sênior.
Descrição do Cargo
Este cargo requer alguém com experiência em desenvolvimento de software e capacidade técnica para trabalhar em projetos desafiadores e escaláveis. O objetivo é criar soluções eficazes, escaláveis e seguras dentro dos prazos acordados.
O Desenvolvedor(a) Full Stack Sênior será responsável por:
* Desenvolver, manter e melhorar soluções de alta qualidade, usabilidade e desempenho;
* Focar na evolução da gestão em nossos clientes;
* Interpretar requisitos funcionais e criar vínculos entre estes e as modificações necessárias nas soluções;
* Definir requisitos não-funcionais inerentes ao atendimento das necessidades de cada projeto;
Responsabilidades e Atribuições
* Propor e desenvolver soluções para problemas que envolvam ciência da computação e/ou engenharia de software;
* Definir e desenvolver estratégias de integração com serviços e aplicações de terceiros;
* Estimar custos e prazos para o desenvolvimento/manutenção da solução;
* Negociar com clientes internos e externos sobre requisitos, recursos, custos e prazos de projetos;
* Escrver código legível, manutenível e robusto que atenda aos requisitos funcionais e não-funcionais do projeto;
* Criar novas funcionalidades e recursos dentro do sistema ou em ferramentas auxiliares;
* Realizar profiling e depuração de rotinas visando encontrar e mitigar problemas de desempenho;
* Executar manutenção corretiva, evolutiva e adaptativa em código e rotinas pré-existentes;
* Liderar colegas em projetos que envolvam vários desenvolvedores;
* Tomar decisões rápidas e assertivas sobre problemas técnicos encontrados;
Requisitos e Qualificações
* Proficiência em Java e bons conhecimentos em Kotlin ou Python;
* Sólido conhecimento em bancos de dados relacionais e não relacionais e linguagem SQL para consultas e manipulação de dados;
* Familiaridade com frameworks e tecnologias modernas, como Spring, React e Node.js;
* Experiência em metodologias ágeis de desenvolvimento de software, como Scrum ou Kanban;
* Prática com integração contínua (CI), entrega contínua (CD) e automação de testes;
* Compreensão e aplicação de princípios de arquitetura de software, incluindo: Arquitetura em camadas, Microserviços, APIs RESTful, Escalabilidade e Alta disponibilidade.