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 Confiança e Assuntos Regulamentares.
- 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 pela gestão completa do ciclo de vida do utilizador Defensor/Amigo 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
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.
- Concebemos e implementámos 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.
Desenvolvimento de um projeto de plataforma de negociação para transações de ativos financeiros.
Design de microsserviços orientado a eventos, como parte de uma solução SaaS Fintech maior, 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.
Migramos para um sistema de pacotes baseado em Composer, que é independente de 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.
Desenvolvimento frontend utilizando ES6, HTML5 e CSS3 (LESS). Desenvolvimento backend utilizando arquiteturas SOA/N-Tier e DDD. Aplicação das melhores práticas da indústria (Design Patterns/Design Principles).
Separação nítida entre a camada de aplicação e o domínio.
Desenvolvimento orientado a testes (TDD) completo do projeto (domínio e frontend). Testes unitários e de integração completos no domínio. Testes unitários e de 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.