leandromaia.dev

Engineering notes

Leandro Maia

Notes on Backend Systems and Software Architecture

Mar 3, 20266 min read

When the message “disappears” : a production-focused guide using AWS SQS

In most production incidents involving “missing messages,” the queue is blamed early. SQS is down.The message was dropped.AWS lost it. True message loss inside managed queue infrastructure is extremel

Feb 25, 20267 min read

Java 21 in distributed systems: concurrency, deadlines, and failure containment

Modern backend services rarely perform isolated work. A single request often fans out into multiple network calls, database queries and asynchronous operations. The service is effectively coordinating

Feb 17, 20267 min read

The operational cost of LLM APIs

Large language model APIs feel deceptively simple from an engineering perspective.You send a prompt, you receive text. Compared to provisioning databases, tuning JVM memory or debugging distributed lo

Feb 10, 20265 min read

Why AI features are becoming reliability problems

Over the last year, many products added AI features. Chat assistants, automatic summaries, classification, recommendations, drafting emails, generating documentation, suggesting actions. In many cases

Feb 3, 20265 min read

What technical interviews in distributed systems actually test

Modern backend engineering increasingly revolves around distributed systems.As a consequence, many technical interviews — even for senior and leadership roles — are designed around deceptively simple

Jan 27, 20265 min read

AI Made Writing Code Easier — Software Development Didn’t Get Easier

Over the last year, most conversations about AI in software engineering have revolved around speed. People ask whether engineers are now two, five, or ten times faster. The assumption behind that ques

Jan 20, 20265 min read

Observability Is Not Dashboards — How I Actually Use Datadog in Production

Many teams say they “have observability”. Usually that means: CPU graphs memory usage request count maybe error rate Those are useful, but they are not observability. They are infrastructure vis

Jan 13, 20265 min read

Working With an AI Coding Assistant (Codex) as a Backend Engineer

Over the last months I started using an AI coding assistant powered by large language models (Codex-style systems). I did not approach it as a novelty or productivity experiment. I approached it the s

Jan 6, 20263 min read

Not All Race Conditions Are Threads — Race Conditions in Distributed Systems

When engineers hear “race condition”, most imagine two threads modifying the same variable. That is the smallest version of the problem. In distributed systems, race conditions are far more dangerous

Jan 6, 20264 min read

Why backend systems become fragile as companies grow

Most backend systems don’t fail because of a bad initial design. Many systems start simple, clean and understandable. Early teams usually know every component, every database table and most side effec