\A"; white-space: pre; position: absolute; inset: 0; font-family: monospace; font-size: 0.9rem; line-height: 1.8; color: rgba(255, 255, 255, 0.04); padding: 2rem; pointer-events: none; }
Profile photo

Hi, I'm Diego Pereira

Senior Backend Software Engineer. Born in São Paulo 🇧🇷 — living in Porto 🇵🇹 since 2018. Building scalable systems, exploring the world, and enjoying good coffee & craft beer.

About me

Hey, I’m a backend software engineer originally from São Paulo 🇧🇷, now living in Porto 🇵🇹 since 2018. I love turning complex problems into clean, maintainable solutions, building systems with .NET, cloud platforms, and event-driven architectures, and making sure they’re reliable, scalable, and performant.

Outside of work, I’m a curious and social person. I enjoy spending time with friends, exploring local restaurants, going to stand-up comedy shows, and soon I’ll be welcoming my first child — Bernardo! I also love traveling with my wife, watching series and movies together, reading books and tech articles, and listening to podcasts on all kinds of topics. Fun fact: I don’t play much video games, but I’m always up for learning something new.

I believe curiosity — about technology, people, and the world — makes life and software more interesting, and I try to bring that mindset into everything I do.

Expertise & Impact

How I design, build, ship and scale backend systems — from architecture and development to cloud infrastructure, production deployment and long-term reliability.

Backend & Distributed Systems

I design and deliver scalable, resilient backend systems that handle high-throughput and complex business workflows. My work spans building distributed microservices, designing REST and GraphQL APIs with strong contracts, implementing event-driven architectures, and ensuring long-term maintainability, performance, and reliability across diverse domains including IAM, data processing, and e-commerce platforms.

.NET 9+ REST APIs GraphQL Blazor Server Caching SQL & NoSQL Identity Microservices Event-Driven DDD Multi-Tenancy

Cloud & Platform Engineering

I design, operate, and optimize cloud platforms to enable secure, scalable, and observable systems. From setting up developer-friendly cloud environments to managing production deployments, I leverage Azure, containerization, GitOps pipelines, and automation to ensure reliability, efficiency, and smooth delivery across services, including identity solutions and large-scale data processing systems.

Azure Azure Functions Service Bus Event Grid Blob Storage Docker Kubernetes GitOps .NET Aspire

Observability, Reliability & Performance Engineering

I build systems that are deeply observable, resilient, and performant under real-world conditions. This includes designing distributed tracing and structured logging, creating dashboards and alerts, defining SLOs, and performing load and stress tests to ensure reliability, fast incident response, and continuous improvement across backend, cloud, and data-intensive systems.

OpenTelemetry Application Insights Grafana Prometheus New Relic Kibana Jaeger Distributed Tracing Load Testing JMeter BlazeMeter

Data & Storage Systems

I design and maintain reliable, high-performance data layers for both transactional and large-scale workloads. My work includes optimizing relational and NoSQL schemas, implementing caching and replication strategies, supporting zero-downtime migrations, and ensuring data consistency, scalability, and resilience across complex distributed systems.

SQL Server PostgreSQL CosmosDB MongoDB Cassandra Redis EF Core Dapper Data Modeling Migrations Caching

Testing, Quality & Delivery

I build systems that are safe to evolve and easy to operate by designing comprehensive testing strategies across unit, integration, contract, and end-to-end layers. I implement CI/CD pipelines, enforce quality gates, and automate tests to ensure performance, reliability, and maintainability across diverse applications and microservices.

xUnit Playwright Selenium WireMock Contract Testing SonarQube GitHub Actions Jenkins TeamCity CI/CD Test Automation

Architecture, Staff Engineering & Enablement

I drive technical strategy and system design across teams, defining architectures, reducing technical debt, and building internal frameworks to improve developer productivity. I mentor engineers, facilitate technical discussions, and enable teams to deliver high-quality software efficiently while promoting engineering best practices and long-term maintainability.

SOLID DDD Event-Driven Architecture Microservices ADRs (Architecture Decision Records) Technical Leadership Mentorship Kanban Scrum Staff Engineering Design Patterns

Education

2021 – 2022

Instituto Superior de Engenharia do Porto

Postgraduate Degree in Big Data & Decision Making

Porto, Portugal
2015 – 2017

Universidade Cruzeiro do Sul

Technologist in Software Development and Systems Analysis

São Paulo, Brazil

Blog & Writing

Here I share my thoughts, experiences, and learnings related to software development and technology. It’s a space to explore ideas, document discoveries, and reflect on the things I find interesting or useful in my work.

Fev 2026

How to Connect Your APIs to LLMs: A Deep Dive into MCP

In this article, we’ll build a real .NET-based MCP server that connects APIs to LLMs, turning GitHub issues into actionable tasks automatically.

Dec 2024

Have you tried .NET Aspire?

Discover what .NET Aspire is and how it can be used. This post shows a file-processing workflow built with .NET 9, integrating Azure Services, databases, and cache.

Apr 2024

Superset Dashboards in .NET with ClickHouse

Learn how to embed a Superset dashboard with a ClickHouse dataset into a .NET web application, with a brief introduction to both tools.

Oct 2022

Implementing GraphQL API Gateway in .NET 6 + HotChocolate v12 + Redis

Learn how to embed a Superset dashboard with a ClickHouse dataset into a .NET web application, with a brief introduction to both tools.

Apr 2021

Building GraphQL API in .NET Core + HotChocolate + MongoDB + Docker [Part 2]

Continuing the series: implementing mutations, subscriptions, and advanced API patterns, plus best practices for testing and deploying a containerized GraphQL service.

Mar 2021

Building GraphQL API in .NET Core + HotChocolate + MongoDB + Docker [Part 1]

Introduction to building a GraphQL API with .NET Core and HotChocolate, covering schema design, queries, and connecting to MongoDB in a containerized environment.

Certifications

Microsoft

  • AZ900: Azure Fundamentals
  • 70-486: Developing ASP.NET MVC Web Applications

MongoDB University

  • MongoDB Basics

NDC Conferences

  • Building scalable, cloud native, distributed systems in .NET
  • Building Modern Applications with GraphQL using ASP.NET 6

Coursera

  • Service-Oriented Architecture
  • Design Patterns
  • Object-Oriented Design

Udemy

  • High Performance Coding with .NET Core and C#
  • Performance Testing Course with JMeter and Blazemeter
  • Docker and Kubernetes: The Complete Guide
  • Microservices Architecture and Implementation on .NET 5
  • Microservices: Designing Highly Scalable Systems

Books & Learning

Here I highlight some of the books and resources that have influenced my thinking and approach to software development. They reflect the topics I enjoy exploring and the lessons I’ve found most valuable in my professional journey.

Clean Code

A practical guide on writing readable, maintainable, and efficient code. Reinforced best practices and the importance of craftsmanship in software development.

Robert C. Martin

Clean Architecture

Explores principles and patterns for designing flexible, maintainable, and scalable software systems. Highlights the importance of separating concerns and building resilient architecture.

Robert C. Martin

Head First Design Patterns

An engaging guide to understanding common software design patterns. Focuses on practical examples and real-world applications to improve code structure and maintainability.

Eric Freeman & Elisabeth Robson

The Pragmatic Programmer

A practical guide for software developers on best practices, problem-solving, and continuous improvement. Emphasizes craftsmanship, adaptability, and pragmatic approaches to everyday coding challenges.

Andrew Hunt & David Thomas

Beyond Code

Here’s a peek at the things that make me tick beyond coding: spending time with family and friends, exploring new places and flavors, cheering for football teams, laughing at stand-up shows, and always staying curious.

❤️ Family & Donna

Time with my wife, caring for Donna, our golden retriever, and preparing to welcome our son Bernardo. Family first — sharing laughter, memories, and support every day.

✈️ Travel & Local Experiences

I love exploring new places, tasting local cuisine, and discovering hidden gems in each city. Every trip is a chance to connect with the world.

🍺 Craft Beer, 🍷 Wine & ☕ Coffee

Enjoying good coffee, craft beer, or a fine wine with friends and family, swapping tasting notes, and discovering new favorites.

🎬 Series, Movies & Stand-up

Watching series and movies with my wife, going to stand-up comedy shows, and laughing as much as possible.

⚽ Football & Active Life

Playing and watching football, cheering for my teams, and staying active with fun, local games.

🎧 Curiosity & Learning

Reading books, tech articles, and listening to podcasts on a variety of topics — always curious, always learning.