O papel de um Engenheiro de Software Backend envolve desenvolver todo o ciclo de programação, incluindo definições de arquitetura, testes e implementação em produção.
* Desenvolver projetos com arquitetura de microserviços;
* Consumir e gerar eventos em Streaming, API's;
* Garantir a funcionalidade, manutenibilidade e velocidade das soluções;
* Seguir práticas de teste e qualidade;
Além disso, é fundamental garantir que todas as soluções técnicas estejam alinhadas à estratégia do negócio e entender iniciativas relacionadas ao produto.
Um Engenheiro de Software Backend também deve ajudar o time no desenho de soluções com arquitetura evolutiva, além de investigar constantemente novas tecnologias e formas de trabalho.
E ainda, colaborar com a evolução das habilidades técnicas do time e esforços de melhoria contínua que impactam vários times.
Por fim, trabalhar em um ambiente colaborativo, onde práticas de pareamento, feedbacks e motivação para se desenvolver são comuns a todos os squads.
Requisitos e Qualificações
* Conhecimento avançado em desenvolvimento em Golang ou Node com TypeScript;
* Conhecimento sobre desenvolvimento de consumidores e produtores de eventos para Event Streaming (Kafka);
* Conhecimento em Docker & Kubernetes;
* Conhecimento com ferramentas de monitoramento e observabilidade;
* Conhecimento sobre testes unitários e de integração;
* Preocupação com a qualidade e desempenho das soluções propostas;
* Capacidade de trabalhar em um ambiente multifuncional e colaborativo, de maneira autônoma;
* Conhecimento sobre desenvolvimento e implementação de APIs;
* Conhecimento sobre desenvolvimento de microsserviços distribuídos;
* Embasação teórica, habilidade e preocupação com a excelência técnica e boas práticas de desenvolvimento (DDD, Arquitetura, Design de Código, Paradigmas, etc.);
* Familiaridade com metodologias ágeis;
Benefícios
* Trabalhar em um ambiente colaborativo;
* Ajudar na evolução das habilidades técnicas do time;
* Contribuir para a excelência técnica e boas práticas de desenvolvimento;