Full Stack Developer (Pleno) - Node.js + Angular [Joinville/SC]
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 que queiram resolver grandes desafios, construir sua carreira com a gente e, juntos, 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 (Scrum Master) e CTO para atingir esses objetivos.
Contexto
A aplicação da Aprova encontra-se instalada para os seus mais de 90 clientes na AWS em arquitetura Serverless. Entretanto, por política de compliance do cliente Prefeitura de Joinville, a aplicação (uma única branch master) precisa ser compilada e instalada em servidores on premise CIASC.
A prestação do Serviço entre Aprova e Prefeitura de Joinville (PMJ) ocorre a partir de uma parceria com a empresa vencedora da licitação chamada Publica Tecnologia. Um dos requisitos do contrato de 5 anos firmado entre essas empresas é a prestação de suporte e desenvolvimento presencial por um profissional in-loco.
Esse profissional será responsável por desde o suporte, passando por correções de problemas na aplicação, testes e posterior build e deploy da aplicação nos serviços on premise. Todo código produzido será mergeado na Main e vice e versa (uma única branch para todos os clientes).
Nossa intenção é dar o máximo de autonomia para o profissional, desde o atendimento e levantamento do contexto da demanda, passando pela investigação e resolução tanto de defeitos na aplicação quanto novas funcionalidades que posteriormente certamente serão aproveitadas por Prefeituras do Brasil todo.
Reforça que o principal foco é prestar o atendimento a Prefeitura de Joinville e suas demandas, mas ao mesmo tempo, todo código escrito tanto por outros engenheiros como desse profissional serão mergeados em uma única branch, garantindo que
Joinville tenha sempre a melhor versão da aplicação o tempo todo.
Temos experiência atendendo esse cliente há 5 anos, portanto essas responsabilidades são algo que iremos documentar em detalhes e haverá um processo extenso de treinamento para garantir um trabalho de excelência.
Responsabilidades e atribuições
Específicas do Cliente On Premise:
- Ser representante do serviço da Aprova, atendendo as demandas de chamados do cliente**,** com autonomia para escrever código, investigar, solucionar defeitos com autonomia e com liberdade.
- Deve Realizar reuniões com a equipe técnica da prefeitura a fim de orientar ou explicar comportamentos do sistema.
- Monitoramento dos serviços presentes no ambiente de homologação e produção, garantindo o melhor funcionamento do sistema.
- Formalização e resolução de chamados em helpdesk específico.
- Desenvolvimento de código melhor detalhado nas primárias gerais.
- Posterior merge e deploy seguindo as guidelines de delivery fornecidas pela PMJ.
Primárias gerais:
- 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.
- Esperamos que o Desenvolvedor seja owner de todo o ciclo de vida do desenvolvimento de software, escrevendo códigos bem estruturados, eficientes e testáveis.
- Garantir que a parametrização e atualização do software aconteça de forma fluida. Auxiliar na configuração e manutenção de formulários. Disponibilizar novas versões via pipeliene do gitlab e eventual manutenção da pipeline.
Secundárias:
- Participar das reuniões do time para colaborar com outros membros da equipe de engenharia, auxiliando em dúvidas técnicas e configurações de cenários complexos.
- Disseminar conhecimento para o time, criando documentação técnica abrangente, incluindo especificações de design e manuais do usuário.
Requisitos e qualificações
- Residir em Joinville/SC.
- Ter disponibilidade de trabalho presencial. O profissional ficará alocado na Prefeitura de Joinville em horário comercial das 8h as 18h, com intervalo.
- Graduação completa Analista de Sistemas, Ciência da Computação, Engenharia da Computação, e áreas afins.
- Experiência com: Typescript, NodeJS, Angular, MongoDB e ferramentas da AWS.
- Habilidades de comunicação para explicar conceitos técnicos de forma clara e compreensível para o cliente e informar as ações técnicas de forma objetiva e coesa.
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 do candidato, portanto, se você possuir alguma dessas experiências, compartilhe conosco 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
Como o time de Engenharia da Aprova trabalha
- 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 em refinamentos a User Story entra em sprint, as sprints tem 15 dias e o Software Engineer estima em story points o que reflete esforço e complexidade;
- O Software Engineer inicia a implementação seguindo requisitos técnicos amplos que garantem liberdade da abordagem a qual sempre pode ser validada com o Tech lead e CTO;
- 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 isso a Pull Request sobe numa branch main (só possuímos uma branch) que depois é mergeada com o Jenkins. Estamos trabalhando para que esse processo seja cada vez mais automatizado via Terraform.
- Realizamos releases diárias, entre 1-6 releases em horários fora de pico (18h). Todo o deploy leva em torno de 30 min.
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, NodeJS e Python. Isso nos permite criar uma base sólida para nossas operações, mantendo uma flexibilidade essencial.
Frontend:
- Em nosso frontend, usamos tecnologias como Angular, Vue e React para criar interfaces interativas e dinâmicas, proporcionando aos usuários uma experiência atraente e amigável.
Práticas e Ferramentas:
- Utilizamos Domain Driven Design, RxJS e programação reativa para 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.
- Utilizamos MongoDB e PostgreSQL como nossos sistemas de gerenciamento de banco de dados, proporcionando confiabilidade e flexibilidade para nossas necessidades variadas.
Serviços AWS:
- Para suportar nossa arquitetura, confiamos em uma variedade de serviços da AWS, incluindo S3, SQS, RDS, Lambda, CloudFront, CloudFormation, entre outros. Isso nos permite oferecer aos nossos clientes serviços confiáveis e de alta performance.
Automação e Gerenciamento:
- Implementamos integração contínua/desdobramento contínuo (CI/CD) usando Jenkins para garantir uma entrega rápida e confiável de nossos produtos.
- Para organização e gerenciamento eficazes de nossas tarefas de desenvolvimento, contamos com o Jira.
Estamos continuamente refinando nossa Stack para enfrentar os desafios de escala e para garantir que possamos atender às crescentes demandas de nossos clientes de maneira eficaz e inovadora.
Etapas do processo
- Etapa 1: Cadastro
- Etapa 2: Agendamento de Entrevista
- Etapa 3: Teste Técnico
- Etapa 4: Papo com Gestor
- Etapa 5: 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!
Acompanhe a gente!