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.
You can reach me at vieira@yubo.be or at GitHub.
Software Engineer, Guuru ∙ 6yrs
- Joined as one of the first two employees.
- Split a
Node.js
monolith that ran on AppEngine in services and jobs running onKubernetes
(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.- Introduced
GraphQL
using Apollo client and server to provide a flexible API. WithDataLoader
and persisted queries this contributed to significant improvements in response time.- Wrote and refactored
React
components to use hooks and consume data from our GraphQL API.- Set up
jest
and wrote (the first) tests to reduce regressions and increase confidence.- Started the migration from Firebase to a proper
PostgreSQL
database 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
Stripe
andRevolut
.
Support and Release Engineer, VILT Portugal ∙ 3yrs
- Introduced Configuration Management using
Salt
to a fleet of a hundred existing servers. This included a wide range of services, from DNS to Tomcat application servers.- Created an on-premises
Kubernetes
cluster integrated with GitLab CI. Managed and scaled on demand with Salt.- Web development using Java,
Spring
and Hibernate.- Used some amazing persuasion skills to introduce
Kotlin
during a Spring Boot migration. It went on to see increasing adoption at the company even after I left.- Monitoring with
Icinga
andGrafana
.- 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
Drupal
.
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