Experiência
-
Engenheiro de Software Sénior
TransferGo
Liderar a implementação de novos domínios dentro da equipa de Aquisições, juntamente com iniciativas transversais da plataforma.
Liderar a implementação de novos domínios dentro da equipa de Aquisições, juntamente com iniciativas transversais da plataforma.
- Liderou a construção inicial do Contexto Delimitado do Recetor — entidades fundamentais, estrutura de filtros, modelo de disponibilidade, primeiros endpoints de serviço para serviço e infraestrutura inicial de testes de integração/sistema — passando as iterações posteriores a outros responsáveis.
- Estruturamos e desenvolvemos um novo Contexto Delimitado de Promoções de raiz: raiz agregada, entidade de configurações de segmentação, ciclo de vida do cupão (entidades mais serviços de disponibilidade/utilização/criação), domínio de atribuição (entidades, eventos, contratos, processador) e um fornecedor de cupões com reconhecimento de rota.
- Desativamos progressivamente as APIs legadas de destinatários em favor de endpoints pertencentes ao contexto delimitado em fábricas, fluxos em lote e ferramentas internas.
- Desenvolvi e implementei uma biblioteca cliente HTTP em PHP para toda a empresa — composição baseada em fábricas, reutilização orientada a características, fábricas de pedidos com JWT integrado e autowiring do Symfony — e promovi a sua adoção em dois serviços.
- Liderou a implementação do AsyncAPI como padrão de documentação da equipa, priorizando o contrato: validação do esquema antes do commit, testes de contrato alinhando a serialização das entidades com os esquemas publicados e um processo de revisão por escrito para os consumidores subsequentes.
- Liderou a contribuição da equipa Acquire para um programa transversal de retenção de dados que abrangia três serviços.
- Introduzimos ferramentas de desenvolvimento assistidas por IA na equipa: ficheiros de contexto de agentes, fluxos de trabalho de comandos estruturados, separação de PRD/Plano e competências de análise de pré-planeamento.
- Trabalho recorrente de fiabilidade: bloqueio otimista, tratamento de restrições de integridade, correções de condições de corrida em inserções de verificação duplicada, remediação N+1, investigação de DLQ, comportamento de encerramento correto de processos.
- Continuação da gestão do recurso Indique um Amigo em paralelo: limpeza de padrões legados, atualização da versão do PHP, automatização de dependências, remoção sistemática de recursos de ativação/desativação.
-
Engenheiro de Software Sénior
TransferGo
Continuar a liderar o programa Indique um Amigo dentro da equipa de Aquisições, com um âmbito alargado para abranger plataformas e questões transversa…
Continuar a liderar o programa Indique um Amigo dentro da equipa de Aquisições, com um âmbito alargado para abranger plataformas e questões transversais aos serviços.
- O contexto delimitado da RAF e o seu modelo de dados foram reforçados a tal ponto que um esforço posterior de extração de serviços - executado por outro engenheiro - foi concluído em poucos dias, sem incidentes de produção.
- Implementámos refatorações de armazenamento de dados em larga escala, alinhadas com os novos limites de serviço, melhorando o desempenho das consultas e a capacidade de manutenção a longo prazo.
- Aumento da cobertura de observabilidade para a RAF com métricas dedicadas, alertas e painéis de controlo, reduzindo o tempo de deteção de problemas em produção.
- Contribuiu com uma biblioteca partilhada para toda a empresa, relacionada com o tratamento de exceções e o comportamento do cliente HTTP, posteriormente adotada em diversos serviços.
- Autora da RFC que define o modelo de domínio Receivers, moldando padrões de integração entre equipas para consumidores a jusante.
- Implementámos uma série de melhorias no produto e na plataforma: redireccionamentos de links RAF, atribuição de campanhas após eventos do fornecedor de identidade, verificações de perfis e amigos relacionados, adaptação da moeda do programa, correções no total de recompensas e refinamentos no recálculo de campanhas.
- Melhoria dos processos de integração e consentimento de marketing nas operações diárias, em colaboração com a equipa de Trust e Regulatory Affairs.
- Trabalho contínuo na experiência do programador: enums partilhados, ergonomia de filas e melhorias de integração em torno de corredores favoritos e dados de transações.
-
Web Developer Backend Remoto
TransferGo
Faz parte da equipa Acquire, liderando a reformulação da plataforma Indique um Amigo.
Faz parte da equipa Acquire, liderando a reformulação da plataforma Indique um Amigo.
- Desenhei e implementei um novo Contexto Delimitado para o domínio "Recomendar um Amigo", migrando a funcionalidade existente para uma arquitetura mais clara e reduzindo o acoplamento com a plataforma de Remessas adjacente.
- Responsável pelo ciclo de vida completo da gestão de utilizadores do programa Advocate/Friend no novo contexto, incluindo identidade, elegibilidade e transições de estado.
- Gestão própria de programas — programas, campanhas e estratégias promocionais — e implementação de suporte para múltiplas campanhas simultâneas por programa.
- Substituímos as verificações manuais de elegibilidade do utilizador por uma estrutura de verificação automatizada e extensível, permitindo a adição de novas regras sem alterar os fluxos principais.
- Formatos de resposta da API padronizados e tratamento de erros em todos os endpoints do RAF, produzindo contratos de entidade consistentes, independentemente da interface de chamada.
- Melhoria no registo estruturado e na gestão de filas; a integração de uma nova fila passou de um processo de vários dias para uma única manhã.
- Redução do tempo de entrega para correções de bugs e implementação de novas funcionalidades; diversas melhorias são agora lançadas em questão de horas, em vez de sprints.
- Estabeleci uma cadência de detalhe de Épicos/Histórias/Subtarefas para utilização pela equipa.
- Aumento da estabilidade da plataforma após a migração.
-
Web Developer Backend Remoto
TransferGo
Auxiliar na manutenção da solução Fintech atual e na transição de partes do sistema para uma arquitetura de micro-serviços.
Auxiliar na manutenção da solução Fintech atual e na transição de partes do sistema para uma arquitetura de micro-serviços.
- Baseado em LAMP (Laravel e Symfony).
- Separação nítida entre as camadas de Aplicação e Domínio (bem como entre Framework e Infraestrutura).
- Design orientado para o domínio e desenvolvimento orientado para testes.
- Aplicar as melhores práticas da indústria (Design Standards/Design Principles).
-
Web Developer Backend Remoto
Exporo
Desenvolvimento de um projeto de plataforma de negociação para transações de ativos financeiros. Projeto de microsserviços orientado a eventos, como p…
Desenvolvimento de um projeto de plataforma de negociação para transações de ativos financeiros. Projeto de microsserviços orientado a eventos, como parte de uma solução SaaS Fintech mais ampla, envolvendo tokens blockchain e gestão de carteiras eletrónicas. Baseado em LAMP (Laravel).
- Desenvolvimento utilizando arquitetura de micro-serviços e orientada a eventos.
- Separação nítida entre as camadas de Aplicação e de Domínio.
- Design orientado para o domínio e desenvolvimento orientado para testes.
- Aplicar as melhores práticas da indústria (Design Standards/Design Principles).
-
Web Developer Backend Remoto
The Interaction Design Foundation
Auxiliar no desenvolvimento e na manutenção do produto SaaS da empresa.
-
Web Developer Fullstack Remoto / Líder de Equipa
redWEB ApS
Reescrever o principal produto da empresa, fornecendo-lhe uma arquitetura e um design mais fiáveis. Desenvolver as funcionalidades core tanto do backe…
Reescrever o principal produto da empresa, fornecendo-lhe uma arquitetura e um design mais fiáveis. Desenvolver as funcionalidades core tanto do backend como do frontend, com uma forte separação de responsabilidades, que irá suportar o desenvolvimento futuro da plataforma. Migrar para um sistema de pacotes baseado em Composer, que é independente da plataforma (PHP).
Isto permite que a plataforma seja instalada em diversas plataformas/frameworks de backend, bem como que os templates/interfaces de frontend sejam alterados de forma independente. O desenvolvimento de frontend utiliza ES6, HTML5 e CSS3 (LESS). O desenvolvimento de backend utiliza arquiteturas SOA/N-Tier e DDD.
Aplicação das melhores práticas da indústria (Design Patterns/Design Principles). Separação clara entre a camada de aplicação e o domínio. Desenvolvimento Orientado a Testes (TDD) em todo o projeto (domínio e frontend).
Testes completos de unidade e integração no domínio. Testes unitários e aceitação na camada de aplicação (incompletos).
-
CTO
Construções Europa Ar-lindo, S.A
Gestor de infraestrutura de TI. Supervisor de implementação de ERP. Integração e automatização de sistemas proprietários e de terceiros.
Gestor de infraestrutura de TI. Supervisor de implementação de ERP. Integração e automatização de sistemas proprietários e de terceiros.
Monitorização, auditoria e automatização de fluxos de trabalho internos. Desenvolvimento de aplicações para BI (Business Intelligence). Auditoria e geração de relatórios para DSS (Decision Support Systems).
Desenvolvimento web e para Windows. Gestão de telecomunicações.
-
Gestor de TI
Habitâmega-Construções, S.A.
Gestor de Infraestrutura de TI. Desenvolvimento e personalização de ERP. Validadores, Automações, Auditoria e Reporte em PHC Advanced e Enterprise.
Gestor de Infraestrutura de TI. Desenvolvimento e personalização de ERP. Validadores, Automações, Auditoria e Reporte em PHC Advanced e Enterprise.
Implementação e personalização de sistemas de domótica.
-
Web Developer
DaPitch
Desenvolvimento de uma aplicação de interface rica (RIA), com ampla utilização de JavaScript, imitando o comportamento das aplicações desktop. Conteúd…
Desenvolvimento de uma aplicação de interface rica (RIA), com ampla utilização de JavaScript, imitando o comportamento das aplicações desktop. Conteúdo gerado pelo utilizador (UGC) e conteúdo gerado pelo sistema. Autogestão completa do sistema.
Pilha LAMP.
-
Desktop Developer
QuintaSinfonia, S.A.
Desenvolvimento de aplicações desktop para uma das 3 maiores empresas de software de gestão escolar do país. Migração de VB6 para WinForms 2.0. Desenv…
Desenvolvimento de aplicações desktop para uma das 3 maiores empresas de software de gestão escolar do país. Migração de VB6 para WinForms 2.0. Desenvolvimento de sistema de atualização automática para a aplicação.
-
Programador de Software
Instituto Universitário da Maia
Desenvolvimento de formulários web em .NET 1.1. Design e desenvolvimento multimédia em ActionScript e Flash.