Graduação completa em Analista de Sistemas, Ciência da Computação, Engenharia da Computação ou áreas afins.Experiência na elaboração e execução de projetos complexos de forma estratégica.Ser referência técnica, especialista em arquitetura da informação e ter cases de construção de aplicações escaláveis.Ser referência técnica nas nossas stacks:NodeJS, Typescript, Angular ou Vue ou React, MongoDB, e ferramentas da AWS.Experiência construindo produtos que são distribuídas no modelo SaaS - Software as a ServiceHabilidades de comunicação para explicar conceitos técnicos de forma clara e compreensível para o cliente e informar as ações de forma objetiva e coesa ao time.Experiência em construção de aplicações em paradigma DDD (Design Driven Domain)Experiência em construção de features de integrações (REST e SOAP)Experiência em implementação de tecnologias de filas como RabbitMQDiferenciaisJá ter trabalhado em empresas que crescem seu faturamento 2-3x ao ano (Startups)Experiência construindo produtos que são distribuídas no modelo SaaS - Software as a ServiceTer vivência em aplicações com regras de negócio similares a da AprovaNossa StackEstamos baseados em uma arquitetura de microsserviços em ambiente serverless, totalmente suportada pelos recursos da AWS.Backend: Implementamos um backend RESTful utilizando microsserviços serverless em TypeScript e Node.js, com o framework Fastify. Essa atualização nos permite criar uma base ainda mais ágil e eficiente, mantendo a flexibilidade essencial para nossas operações. Estamos também migrando parte dos fluxos para operações assíncronas, utilizando RabbitMQ e SQS.Frontend: Atualmente, utilizamos Angular para o desenvolvimento de interfaces interativas e dinâmicas. Implementamos também micro front-ends, garantindo maior modularidade e autonomia no desenvolvimento.Práticas e Ferramentas: Utilizamos Domain Driven Design (DDD), RxJS e programação reativa em novas implementações. Mantemos 100% de nossa infraestrutura como código, seguindo as melhores práticas cloud-native, facilitando a escalabilidade e a manutenção contínua. Além disso, reforçamos nossa abordagem de testes automatizados com Playwright + Axios para o frontend e backend, garantindo a qualidade das entregas.No que diz respeito à observabilidade, empregamos Grafana integrado com OpenTelemetry para monitoramento em tempo real e tracing detalhado, permitindo uma investigação ágil e eficiente de erros, além de otimizar o desempenho de nossos serviços.Banco de Dados: Contamos com MongoDB e PostgreSQL como nossos sistemas de gerenciamento de banco de dados, proporcionando confiabilidade e flexibilidade para diferentes demandas.Serviços AWS: Para suportar nossa arquitetura, confiamos em uma variedade de serviços da AWS, incluindo S3, SQS, RDS, Lambda, CloudFront e CloudFormation. Isso nos permite oferecer aos nossos clientes serviços confiáveis e de alta performance.Automação e Gerenciamento: Implementamos integração contínua e entrega contínua (CI/CD) utilizando Jenkins, com integração ao Slack via n8n, para garantir uma entrega rápida e eficiente dos nossos produtos. Para organização e gerenciamento eficazes das tarefas de desenvolvimento, contamos com o Jira.Estamos continuamente refinando nossa stack para enfrentar os desafios de escala e garantir que possamos atender às crescentes demandas de nossos clientes de maneira eficaz e inovadora.Acompanhar a idealização de soluções de features a partir da necessidade desenhada e garantir uma comunicação/fluxo eficaz com o time de Produto, e partes interessadas, incentivando o time tech a compreender as entregas e as soluções propostas, com o olhar para o negócio e foco na entrega de valor para o cliente;Pesquisar novas tecnologias e ser o precursor da cultura da inovação, desenvolvendo e implementando boas práticas de software e disseminando estas práticas no time;Garantir o melhor padrão de qualidade, assegurando que os Desenvolvedores sejam owner de todo o ciclo de vida do do produto.Elaborar visão técnica do que está sendo desenvolvido a fim de que a equipe desenvolva com a máxima eficiência, controlando o pipeline do projeto e garantindo as entregas;Produzir especificações e determinar a viabilidade operacional;Incentivar a escrita de códigos bem estruturados e limpos, eficientes e testáveis, seguindo as guidelines definidas pelo time de Engenharia;Destravar o time nos cenários mais complexos: Fazer o papel de mentor e, quando necessário, ajudar individualmente cada profissional com rotinas de acompanhamento;Ser o protagonista na elaboração e execução de planos estratégicos conforme objetivos de negócio da empresa, em busca de entregas de impacto na escalabilidade da aplicação.Delegar tarefas complexas, gerir o tempo de forma eficiente e ter um olhar estratégico para otimizar os fluxos de trabalho;Fazer e garantir a documentação técnica das tarefas entregues: ler, conferir, corrigir documentação gerada pela equipe, disseminando o conhecimento entre a área;Ser investigativo e atento aos incidentes: identificar gargalos e intensificar esforços no desenvolvimento do time para elevar a barra na qualidade nas entregas. Frente a incidentes, o Tech Lead deve assumir a responsabilidade na condução da solução mais adequada e rápida;Ser um facilitador da comunicação entre a área de Engenharia e as demais: assegurar a comunicação ágil e clara com os outros times, garantindo que os membros da equipe de engenharia trabalhem de forma colaborativa, compreendam os casos mais críticos e fiquem por dentro das dores trazidas pelo cliente.Projetar, desenvolver e manter aplicações desenvolvidas pela companhia de maneira full stack, incluindo backend RESTful em TypeScript, NodeJS e Python, e frontend em TypeScript + Angular.Ser owner de todo o ciclo de vida do desenvolvimento de software, escrevendo códigos bem estruturados, eficientes e testáveis, participando de revisões de código produzidos pelos colegas, garantindo nosso atual padrão de qualidade e sugerindo melhorias em todos os processos.Ser referência técnica para os membros da equipe de engenharia e especialista em arquitetura da informação, auxiliando em dúvidas e configurações de cenários complexos.Compor a elaboração e execução de planos estratégicos conforme objetivos de negócio da empresa, em busca de entregas de impacto na escalabilidade da aplicação.Impulsionar melhorias significativas para um crescimento sustentável da aplicação, contribuindo com o design, arquitetura e na otimização das estruturas de dados de forma eficaz e inovadora.Estabelecer comunicação eficaz com o time de Produto, e partes interessadas, para compreender as entregas e as soluções propostas.Elaborar testes unitários seguindo as guidelines que serão estabelecidas e mantendo-se atualizado com as tendências tecnológicas.Disseminar conhecimento para o time, criando documentação técnica das tarefas entregues.