CARLOS0RODRIGUES
C. RODRIGUES

Carlos Rodrigues — {{TITLE}} designing and building distributed systems that stay understandable as they grow

DESIGN
( {{TITLE}} )
DELIVER
  • Distributed systems
  • Event-driven
  • Platform & DevEx
  • Data & streaming
  • {{LANGUAGES}}
  • {{CLOUD}}
  • {{DATA_TECH}}
  • {{OBSERVABILITY}}
Selected work
01 // 05
Order pipeline, event-driven
( Design docs first )
( Migrations without downtime )
( Owns the on-call )
( Mentors the next lead )
{{YEARS}} years building systems that other
teams depend on. Now spending most of
that time on architecture rather than tickets.
{{EMAIL}}
GitHub · LinkedIn · Résumé
Carlos Rodrigues 2026©
Project still: order pipeline
Project still: payments ledger
Project still: clinical records ingestion
Project still: internal developer platform
Project still: streaming inventory view

Most systems do not fail at launch. They fail eighteen months later, quietly. The decision nobody wrote down gets reversed. The service nobody owns becomes the one that pages. And the rewrite starts before the last one finished.

Two versions of the same system diagram, drifting apart
THE APPROACH
From a requirement nobody agrees on
to a system the team can run
WRITE_THE_DOC
SHIP_IN_SLICES
MEASURE_IN_PROD
A service dashboard showing latency, error rate and throughput

One engineer, four ways in

( Design ) ( Build ) ( Migrate ) ( Operate )
Selected work — eight of {{PROJECT_TOTAL}}
8 / 8
See every project

What I am usually brought in for

These are the parts that break first when a system outgrows the team that wrote it.

Architecture that survives contact with the roadmap

A design doc with the trade-offs written down, the rejected options kept, and a decision record that still explains itself two years later. The diagram is the cheap part.

Output
design doc · ADRs · diagrams
Shape
2–6 weeks, then hands on

Migrations that ship in slices

Dual-write, backfill, shadow-read, cut over. Every step reversible, every step in production, and nobody books a maintenance window at 2am.

Pattern
strangler fig · expand/contract
Rule
rollback path at every step

Platform work that makes other teams faster

Paved roads, sane defaults, tracing that reaches the database call. Measured by how quickly a new service reaches production, not by how many tools it has.

Measured by
lead time · change fail rate
Includes
on-call, until it is quiet
Places I have built for: {{COMPANY_1}}, {{COMPANY_2}}, {{COMPANY_3}}, {{COMPANY_4}}, {{COMPANY_5}}.
Portrait of {{REFERENCE_NAME}}
{{REFERENCE_QUOTE}}
{{REFERENCE_NAME}} {{REFERENCE_ROLE}}

A day in one of these systems

Traffic across the four service groups of {{METRICS_SYSTEM_NAME}}, sampled every thirty minutes.

Requests · thousands per hour
Years shipping
0
Systems in production
0
Peak requests / sec
0k
Engineers mentored
0

Ways in

Three shapes this usually takes. The middle one is where I do my best work, and it is the one I am looking for now.

Architecture review

Short · 2–4 weeks

You have a design or a system that worries someone, and you want it read properly.

  • Read the code, not just the diagram
  • Interviews with the people on call
  • Written findings, ranked by risk
  • A migration path, if one is needed
Start here
Senior / staff role

Full-time · {{AVAILABILITY}}

Owning the architecture of a product area and building it with the team, not beside it.

  • Design docs and the code that follows
  • On-call for what I ship
  • Mentoring the next lead
  • {{WORK_MODE}}
Get in touch
Platform & migration

Project · 3–6 months

A move that has been postponed twice because nobody wants to own the rollback plan.

  • Zero-downtime cutovers
  • Paved roads and templates
  • Tracing and honest SLOs
  • Handover the team can run
Ask about it
How I got here

Before you ask

I am looking for the work, and I am not precious about the title. What matters is owning the shape of a system end to end and still writing code — an architect who has not shipped in two years is guessing.

Every week. Roughly half my time on a normal project: the risky slice, the first vertical cut through a new design, the migration script nobody wants to write. The other half is design docs, reviews and being on call for what I shipped.

{{STACK_ANSWER}}

The interesting part is rarely the language. Most of what I do lives in the boundaries: what is a service, what is a message, what happens when half the write succeeded.

A well-factored monolith until the team size or the failure domains force a split, and then a split along seams that already exist in the domain. Most microservice pain I have been called in to fix was a distribution problem added to an unsolved modelling problem.

{{WORK_MODE_ANSWER}} I am in {{LOCATION}} ({{TIMEZONE}}) and I overlap comfortably with {{OVERLAP}}.

Some of this work is under NDA, so the detail here is deliberately thin. Ask and I will walk you through the architecture, the trade-offs and the parts that went wrong, which are usually the more useful half.

Have a system that
needs shaping?

Leave an address and I will reply, or write to {{EMAIL}} directly.

One line about the problem is enough to start.