O que procuramos em um candidato para a vaga de Engenheiro de Software Backend?
Sobre a Função
Nossa empresa é uma plataforma de dança que busca conectar pessoas ao redor do mundo através da dança. Estamos sempre buscando inovar e melhorar nossas soluções técnicas para alcançar nosso objetivo de transformação social.
Como Engenheiro de Software Backend, você será responsável por desenvolver soluções escaláveis e seguras que atendam às necessidades da nossa empresa. Sua missão será garantir a funcionalidade, manutenibilidade e velocidade das soluções técnicas, além de promover práticas de teste e qualidade.
Habilidades Requeridas
* Conhecimento avançado em desenvolvimento backend com Typescript Node;
* Conhecimentos básicos de frontend com React;
* Conhecimento em Docker & Kubernetes;
* Conhecimento com ferramentas de monitoramento e observabilidade;
* Conhecimento sobre testes unitários e automatizados;
* Conhecimento sobre REST e GraphQL;
* Conhecimento sobre CI/CD (Github Actions);
* Conhecimento sobre desenvolvimento de microsserviços distribuídos;
* Preocupação com a qualidade e desempenho das soluções propostas;
* Capacidade de trabalhar em um ambiente multifuncional e colaborativo, de maneira autônoma;
* Familiaridade com metodologias ágeis.
Além disso, seria legal se você tivesse conhecimento do Framework Nest.js, conhecimentos básicos de AWS, Domain Driven Design e Clean Architecture e fluxos OAuth2.
Você no Seu Papel como Software Engineering Backend
* Desenvolver programação do início ao fim, incluindo definições de arquitetura, testes e rollout em produção;
* Desenvolvimento de projetos com arquitetura de microserviços, consumo e geração de eventos em Streaming, API's;
* Garantir a funcionalidade, manutenibilidade e velocidade, além de práticas de teste e qualidade;
* Garantir que todas as soluções técnicas estejam alinhadas a estratégia do negócio e entender iniciativas relacionadas ao produto;
* Ajudar o time no desenho de soluções com arquitetura evolutiva, além de investigar constantemente novas tecnologias e formas de trabalho;
* Colaborar com a evolução das habilidades técnicas do time e esforços de melhoria contínua que impactam vários times;
* Trabalhar em um ambiente colaborativo, em que práticas de pareamento, feedbacks e motivação para se desenvolver são comuns a todos os squads.