Pular para o conteúdo principal

Tech Lead - Node.js + Angular [São Paulo/SP]

Tipo de vaga: Efetivo

Modelo de trabalho: Remoto

Descrição da vaga

A Aprova e a missão do time de Engenharia


A Aprova é Govtech líder em crescimento no Brasil. Nosso objetivo é utilizar o potencial da tecnologia para ajudar o governo a melhorar a vida das pessoas, impactando de forma positiva na redução do gasto com papel, no meio ambiente, na burocracia, evitando o deslocamento e reduzindo o tempo necessário para aprovações.


Em 2022, recebemos o nosso segundo aporte, no valor de R$ 22,5 milhões, liderado pela Astella e Vox Capital, passando a ser o maior investimento feito em uma Govtech da América Latina. Esses recursos vieram para impulsionar ainda mais os nossos produtos e alcançar nosso maior objetivo, tornar as prefeituras e câmaras 100% eficientes, menos burocráticas e digitais pra todos.


Nosso time de tech está em constante crescimento e estamos em busca de Software Engineers e Tech Lead que queiram resolver grandes desafios, construir sua carreira com a gente e, juntos, desburocratizar este Brasilzão!




Sobre a vaga:

O Tech Lead é responsável por gerir os aspectos técnicos de um software, tomando decisões técnicas e estratégicas para garantir o sucesso dos projetos de desenvolvimento de software. Trabalha diretamente na programação de um software e apoia as equipes de desenvolvimento como líder técnico. Busca novas soluções e tecnologias ao projeto, priorizando a resolução mais eficiente possível para os problemas que aparecem. O Tech Lead responde ao Engineering Manager.






Como trabalhamos

  1. Os Product Managers realizam entrevistas, coletando dados da aplicação de uso e ouvindo stakeholders diversos e constroem a visão das features, que é uma documentação que norteará o desenvolvimento nos próximos 3-6 meses daquele problema/solução;
  2. Em seguida o Product Manager quebra em pequenas entregas, e após input do Software Engineer e Teachleads em refinamentos a User Story entra em sprint para desenvolvimento, de acordo com as prioridades da empresa. Nossas sprints tem duração de 15 dias e cada uma das nossas Squads são responsáveis por diferentes áreas de nossa Plataforma;
  3. Possuímos um time de QA com uma suite de testes automatizados (end to end) o que ajuda o Software Engineer a garantir a qualidade da entrega;
  4. Após o desenvolvimento e validação, a Pull Request sobe em uma branch , que depois é mergeada com o Jenkins. Estamos trabalhando para que nossos processos sejam cada vez mais automatizado via Terraform.
  5. Realizamos releases diárias, em horários fora de pico (18h).

Responsabilidades e atribuições

  • 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.

Requisitos e qualificações

  • 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 Service
  • Habilidades 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 RabbitMQ

Diferenciais

  • Já 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 Service
  • Ter vivência em aplicações com regras de negócio similares a da Aprova


Nossa Stack

Estamos 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.

Informações adicionais

OFERECEMOS:


  • Plano de Saúde Bradesco 100% pago pela empresa;
  • Convênio Odontológico;
  • Vale Refeição Swile;
  • Seguro de Vida;
  • TotalPass;
  • Desconto para Psicoterapia em parceria com a Vittude;
  • Day off para o seu aniversário;
  • Equipamentos fornecidos pela empresa.

Etapas do processo

  1. Etapa 1: Cadastro
  2. Etapa 2: Agendamento de Entrevista
  3. Etapa 3: Papo com Gestor
  4. Etapa 4: Papo com camada de liderança Tech
  5. Etapa 5: Papo sobre Cultura
  6. Etapa 6: Contratação

VEM TRANSFORMAR O BRASIL COM TECNOLOGIA E INOVAÇÃO!

A Aprova é uma plataforma de gestão e automação de processos para o setor público.


Queremos um Brasil mais digital, especialmente no âmbito governamental. Nosso propósito é potencializar o trabalho do servidor e construir para o cidadão um governo confiável, eficiente e de excelência.


Com serviços públicos melhores proporcionamos uma experiência tão ágil e positiva quanto a já vivenciada (e aprovada) pelo cidadão no setor privado.


🇧🇷 Já impactamos a rotina de 21 milhões de brasileiros com serviços em cidades de Norte a Sul do país, como alvarás para construção, licenças ambientais, autorizações para vacinação, pagamento de impostos, entre outros. 🚀


Uma Govtech do Brasil, para o Brasil!


Desde sua fundação em Cascavel, no Paraná, no ano de 2017, a Aprova se tornou líder em crescimento no cenário nacional de startups para gestão pública. E também recebeu duas rodadas de investimento, sendo a última o maior aporte já realizado em uma govtech da América Latina. 



Aproveiras e Aproveiros: quem são?


Profissionais das áreas de programação, psicologia, jornalismo, publicidade, engenharia civil, arquitetura, administração, contabilidade, vendas e outros tantos talentos diversos que modernizam os serviços públicos para que o cidadão tenha suas demandas resolvidas e acredite novamente no país. 


Trabalhamos com tecnologia e um propósito real (AND muito forte) 💙


Vem ver como é o dia a dia na firma: https://www.instagram.com/souaprova/



A Aprova está em busca de mais gente habilidosa a fim de resolver grandes desafios e crescer modernizando nosso país. Somos pessoas:


  • Arrojadas
  • Perspicazes
  • Resilientes
  • Orquestradas
  • Virtuosas 
  • Ambiciosas

Esses são os nossos Pilares de Cultura, que criam um ambiente de trocas e confiança entre colaboradores/as, heads, clientes e parceiros. Entenda o que nos faz ser Aprova:


ARROJADOS: Não importa o quanto você já alcançou, mire em algo maior.

Temos curiosidade e disciplina na busca das melhores referências para aumentar nossa capacidade e régua de qualidade. Os desafios nos energizam!


PERSPICAZES: A nossa ajuda é a melhor que nosso cliente pode receber.

Somos especialistas em resolver os problemas do setor público. Se não temos, criamos uma solução para melhorar o jeito de fazer as coisas.


RESILIENTES: Faço o que posso, com o que eu tenho, onde estou.

Sabemos extrair aprendizados dos acertos e lidar rápido com os erros. Provocar grandes mudanças é estar disposto a lidar com os desafios naturais dessa trajetória.


ORQUESTRADOS: A melhor maneira de ter resultados é realizar junto.

Acreditamos na realização coletiva, com alto nível de responsabilidade individual e colaboração entre times, comunicação aberta e expectativas alinhadas. 


VIRTUOSOS: Fazer o que é correto sempre é a escolha certa.

Guiamos nossos relacionamentos com integridade. Isso nos leva onde queremos chegar, sem atalhos, sempre estimando a missão acima de ganhos pessoais. 


AMBICIOSOS: Resolvendo um ticket de cada vez, vamos mudar o Brasil. 

Cuidamos de cada demanda com a máxima atenção. Um time orientado a executar entregas incrementais faz toda diferença para escalar nosso impacto.


Saiba tudo sobre os nossos Pilares: https://aprova.com.br/cultura/



Topa o desafio de transformar a gestão pública com a gente?


#vemserAprova


Transformar vidas e sua carreira!