Titulo Estágio
Golang Code Quality and Performance Improvement
Áreas de especialidade
Engenharia de Software
Local do Estágio
Lisbon, Portugal
Enquadramento
A EBS (Emvenci Business Services) desenvolve uma plataforma SaaS de cibersegurança com diversos módulos, desde um simulador de phishing, a formação em cibersegurança (elearning), um gestor de politicas de segurança, plataforma de registo dos requisitos do RGPD (Regulamento Geral de Proteção de Dados), um gestor de vulnerabilidades e uma plataforma de centralização e gestão de logs.
À medida que a empresa e a plataforma vão crescendo, é cada vez mais importante garantir a qualidade do código, assim como o seu desempenho, escalabilidade, manutenção e testagem.
Objetivo
A plataforma da EBS tem todo o seu backend desenvolvido em Golang e é nestes serviços que este projeto se centra. Pretende-se que inicialmente haja uma fase de análise do código existente ao nível de qualidade e desempenho das várias funcionalidades, seguido de um plano de implementação de alterações e possíveis refatorações. O plano poderá ter várias iterações consoante a implementação e resultados obtidos do mesmo. O objetivo será no final poder comparar os resultados de cada iteração e acabar com um software mais fiável e menos complexo.
Objetivos
- Rever e analisar o código existente de acordo com as melhores práticas e conhecidas métricas;
- Definir um plano de execução ao nível do código e dos testes necessários;
- Implementar, testar e concluir.
Plano de Trabalhos - Semestre 1
Análise
- Conhecer e rever a plataforma existente;
- Analisar desempenho e arquitetura atuais;
- Integrar-se nas medidas de qualidade e boas práticas de desenvolvimento de software;
- Levantar uma lista de trabalhos e pontos a melhorar e/ou desenvolver.
Desenho
- Encontrar soluções e formas de melhorar o código atual;
- Estruturar e desenhar as soluções, tendo em atenção o desenvolvimento concorrente do resto da equipa;
- Definir tarefas e nível de esforço de modo a planear e organizar em Sprints de desenvolvimento.
Relatório
- Desenvolver o relatório de projeto (intermédio)
Plano de Trabalhos - Semestre 2
Implementação
- Executar o desenho e planeamento definido;
- Participar ativamente no código desenvolvido pela equipa de desenvolvimento, na forma de reuniões e code reviews.
Testes
- Testar e analisar as mudanças feitas;
- Desenvolver testes unitários para o codigo desenvolvido sempre que aplicável, para garantir a qualidade do código da plataforma;
- Efetuar melhorias necessárias assentes no feedback.
Relatório
- Desenvolver o relatório de projeto final
Condições
As condições serão negociadas caso a caso, tipicamente ou por intermédio de estágio ou bolsa quando possível. Os valores rondam os 750/800€.
Observações
O orientador final será atribuido numa fase posterior pelo empresa, dependo da recurso e equipa atribuida.
Existe a opção de estágio remoto, mas deverá ser analisada em fase de seleção do candidato.
Orientador
Alexandre Miguel Coelho Aniceto
aaniceto@emvenci.com 📩