Firmenlogo

Remote Full Stack Developer (sênior) - Node.js + Angular [São Paulo/SP]

Aprova  ·  nan, · Remote

Candidatar-se agora

About the job

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 que queiram resolver grandes desafios, construir sua carreira com a gente e, juntas, desburocratizar este Brasilzão!

Sobre a vaga:

O Software Engineer colabora com equipes multidisciplinares para projetar e entregar um software funcional, com liberdade para garantir que as aplicações desenvolvidas estejam em conformidade com os padrões de codificação e design técnico. O Software Engineer trabalha em estreita colaboração com o Engineering Manager , Tech leads, CTO e Product Managers para atingir esses objetivos.

Como trabalhamos

  • 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;
  • 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;
  • 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;
  • 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.
  • Realizamos releases diárias, em horários fora de pico (18h).


Responsabilidades e atribuições

  • Projetar, desenvolver e manter aplicações desenvolvidas pela companhia, incluindo backend RESTful em TypeScript, NodeJS e Python, e frontend em TypeScript + Angular.
  • 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 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;
  • 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.
  • 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;
  • 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.
  • 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;
  • Ser investigativo e atento aos incidentes: identificar gargalos e intensificar esforços no desenvolvimento do time para elevar a barra na qualidade nas entregas, propondo uma solução mais adequada e rápida;


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.


Diferenciais

Esses diferenciais são características que estaremos observando, mas não são critérios eliminatórios. São pontos que contribuem para a análise da candidata, portanto, se você possuir alguma dessas experiências, compartilhe com a gente durante o processo :)

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

Candidatar-se agora

Outros empregos