I am a passionate software engineer and European, living and working in Lisbon. Developing software is a craft and I care about doing it well. I strive to design resilient systems composed of simple, well-defined components.
I was born in the last weeks of 1989 on an island in the Atlantic Ocean and there I grew up and lived until I was seventeen.
I left Madeira for Lisbon to attend Instituto Superior Técnico. I later graduated with a BSc and a MSc degree in Software Engineering and Computer Science.
I drink a lot of tea, enjoy the simple things in life, use
vim and love open source. I enjoy improving my skills and learning new things.
Software Engineer, Guuru ∙ 3yrs
- Joined as one of the first two employees.
- Split a
Node.jsmonolith that ran on AppEngine in services and jobs running on
Kubernetes(GKE). Communication takes place via message queues (Pub/Sub) for increased reliability and observability.
- Set up the CI/CD pipelines using GitLab and deploying to Kubernetes.
- Defined most of the infrastructure as code, using
Terraform. This serves as a versioned blueprint of our cloud services and made them easier to reuse and evolve.
GraphQLusing Apollo client and server to provide a flexible API. With
DataLoaderand persisted queries this contributed to significant improvements in response time.
- Wrote and refactored
Reactcomponents to use hooks and consume data from our GraphQL API.
- Set up
jestand wrote (the first) tests to reduce regressions and increase confidence.
- Started the migration from Firebase to a proper
PostgreSQLdatabase supporting real queries. This allowed for a huge reduction in the amount of data fetched and processed. The codebase became simpler and smaller.
- Implemented the automated billing and payout system. Made use of event sourcing to store a ledger of all accounts credits and debits for each month. From this ledger we compute all balances and issue the payouts via a payment processor. Developed integrations for two processors: for
Support and Release Engineer, VILT Portugal ∙ 3yrs
- Introduced Configuration Management using
Saltto a fleet of a hundred existing servers. This included a wide range of services, from DNS to Tomcat application servers.
- Created an on-premises
Kubernetescluster integrated with GitLab CI. Managed and scaled on demand with Salt.
- Web development using Java,
- Used some amazing persuasion skills to introduce
Kotlinduring a Spring Boot migration. It went on to see increasing adoption at the company even after I left.
- Monitoring with
- Survived on-call rotations to provide 24/7 support. Also did release engineering, as a contractor, for companies like TIM and Porto Seguro.
- Performed maintenance and support, as a contractor, for Givaudan corporate website, powered by
Instituto Superior Técnico, Universidade de Lisboa
- MSc in Software Engineering and Computer Science, some courses:
- Advanced Programming
- Software Architecture
- Software Engineering
- Software Project Management
- Distributed Systems
- Advanced Algorithms
- Discrete Structures and Algorithms
- Computability and Complexity
- Master Thesis in Classification in the Presence of Background Domain Knowledge, article
- Undergraduate Research Grant in Domain Driven Machine Learning
- BSc in Computer Science and Engineering