Welcome, and thank you for stopping by!
This page offers a glimpse into my journey as a Software Engineer —
a space where I share who I am, what I’ve worked on, and how I contribute to building meaningful, maintainable, and scalable software.
I’m currently working as a contractor, partnering with companies that value growth, clarity, and engineering excellence.
My focus is on helping teams perform at their best while aligning technical solutions with business goals.
I'm always open to new challenges where I can make a positive impact.
I’m a seasoned Software Engineer with nearly 15 years of experience designing, developing, testing, and deploying distributed backend applications—mainly using .NET, Java, and JavaScript tech stacks. My journey has taken me through consultancy, product development, R&D, and enterprise support—giving me a well-rounded perspective on software challenges and solutions.
Over the years, I’ve worn many hats, including Software Developer, Senior Developer, Tech Lead, Systems Architect, and Scrum Master. I’ve led high-performing teams and worked as an Engineering Manager, Technical Lead, and Senior Software Engineer.
At Microsoft, I handled over 200 high-severity cases for top enterprise customers, sharpening my problem-solving skills. I’m a strong advocate of Agile Architecture, SOLID principles, TDD, and design patterns. Above all, I value learning, coaching, and collaboration.
Modern .NET systems often appear healthy — low CPU, stable memory — even as users experience slowdowns. The root cause? Thread starvation, async backlog, and invisible queuing due to IO pressure, memory retention, and overworked thread pools.
June 27, 2025 · 14 min read
Read ArticleIn local systems, a transaction is enough to ensure consistency. In distributed systems, it isn’t. This article walks through how to evolve from simple DbContext.SaveChangesAsync() logic into robust patterns like execution strategies, the Outbox pattern, and idempotent consumers. You'll learn how to preserve integrity across retries, external calls, and scale — without relying on distributed transactions. Real .NET code included.
June 14, 2025 · 11 min read
Read ArticleThis post captures some of what I’ve been learning while working as a Scrum Master — a role that continues to offer insights I find valuable beyond delivery, especially when bridging product understanding with technical decision-making.
April 9, 2025 · 19 min read
Read ArticleOver the past few months, we’ve seen a surge in applications that integrate Large Language Models (LLMs). While getting started with models like OpenAI’s GPT or locally hosted options like Ollama is relatively easy, building real, scalable applications with LLMs requires more than sending a prompt and waiting for a response.
April 5, 2025 · 6 min read
Read ArticlePull requests is one important milestone when delivering software, especially if you are delivering software using CI/CD approach. It is a point in time where the team is able to share, learn, deliver and improve the product or the project they are delivering to the business.
October 11, 2019 · 5 min read
Read ArticlePresentation with fundamentals content about how to write code full of rules of thumb that should be considered when writing code to be maintanable and shared across multiple developers
Presentation with fundamentals content about the importance to exist design patterns.
Presentation with fundamentals about devops culture and what is part of that culture
Presentation with details about what protocol is this and how does it work
Presentation about the jorney, what are the painpoints, considerations to take and how to approach with an evolving architecture design
Presentation about the jorney, how to transform your application from monolith to reach serverless architecture style
BlobSyncer.Azure.BlobStorage is a tool designed to download files from Azure Blob Storage and store them in the filesystem. It is structured to support additional syncing features in the future, allowing files to be synced to another Blob Storage using DestinationHandlers.
View RepoThis repository contains a set of code samples on how to use .NET performance type System and the C# Language to implement performant code.
View Repothis project consists on the presentation of several Microsoft .Net technologies and sdks on how to use them to build reactive UIs. This POC continues the weatherforecast angular template from visual studio.
View RepoA minimal Identity Provider built in ASP.NET Core to explore and understand OAuth2 and OpenID Connect flows, including Authorization Code and On-Behalf-Of.
View Repothis is an application that runs Periodically to extract invoices from my gmail account to a specific disk location.
View RepoThis solution groups a set of projects that are common used accross diferent types of business solutions to use infrastructure or services.
View Repo