Skip to content
View rodri-oliveira-dev's full-sized avatar
Focusing
Focusing

Block or report rodri-oliveira-dev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rodri-oliveira-dev/README.md

Português | English

RO Architect

Rodrigo de Oliveira

Arquiteto de Software | Sistemas Distribuídos | .NET | Cloud | DDD | Governança Técnica

Sou arquiteto de software com mais de 20 anos de experiência construindo, modernizando e evoluindo sistemas corporativos.

Atuo na interseção entre negócio, arquitetura e engenharia, transformando necessidades, atributos de qualidade e restrições operacionais em decisões técnicas que os times conseguem implementar, observar, operar e evoluir.

Meu foco é transformar decisões arquiteturais em código, contratos, guardrails e automação, mantendo a arquitetura próxima o suficiente da engenharia para que suas premissas possam ser validadas na prática.

Portfólio profissional · LinkedIn · Café com código · NuGet


Arquitetura na prática

Meus projetos open source tornam parte do meu raciocínio de engenharia inspecionável. O ponto central não é a tecnologia isolada, mas o problema, as restrições, a decisão tomada e a forma como essa decisão pode ser validada no código e na automação.

Projeto Problema, decisão e evidência
POC Arquitetura Como manter consistência e rastreabilidade entre serviços distribuídos: DDD, bounded contexts, Kafka, Outbox/Inbox, idempotência, sagas, OpenTelemetry, ADRs e runbooks tornam os trade-offs e modos de falha explícitos.
DotNetRepoInspector Como aplicar governança sobre repositórios .NET sem heurísticas frágeis: metadados avaliados pelo MSBuild são tratados como fonte de verdade e expostos por contratos determinísticos para CI/CD e automação.
.NET Library Template Como transformar práticas recorrentes de build, testes, segurança, empacotamento, versionamento e release em um golden path reutilizável, reduzindo decisões repetitivas sem retirar autonomia dos times.
ComplexityAnalysis.Analyzers Como transformar complexidade de código em feedback automatizado durante o desenvolvimento: análise Roslyn para complexidade algorítmica, ciclomática, cognitiva e estrutural, com comportamento conservador quando a inferência não é segura.
Brazilian Primitives for .NET Como representar conceitos do domínio explicitamente em vez de espalhar regras de validação pela aplicação: value objects fortemente tipados com integrações opcionais para EF Core e Dapper.

Ver todos os repositórios →


Governança como código

Arquitetura sustentável também depende de tornar padrões operacionais e de engenharia executáveis.

O repositório .github centraliza padrões de contribuição e segurança e mantém automação cross-repository para manutenção de SDKs .NET. A abordagem segue princípios de least privilege, revisão antes da mudança, defaults seguros e autoridade local do repositório.

Isso reflete uma das ideias que orientam meu trabalho: preferir guardrails automatizados a processos burocráticos sempre que a regra puder gerar feedback útil para os times.


Contribuições open source

Contribuir em bases de código que não controlo é outra forma de tornar minha engenharia verificável: entender decisões existentes, respeitar contratos e convenções do projeto, discutir trade-offs e entregar mudanças compatíveis com o ecossistema.

Projeto Contribuição
Ocelot PR #2420: tratamento de timeout downstream como 504 Gateway Timeout, alinhado à RFC 9110. PR #2421: cobertura de regressão para roteamento de multipart/form-data, preservando body, boundary e metadados do arquivo.
CrispyWaffle PR #980: suporte a serialização YAML com YamlDotNet, integração com as abstrações existentes, testes e documentação.
Architecture Decision Record PR #115: localização completa para Português do Brasil, preservando estrutura, referências e identidade entre os conteúdos equivalentes.

Acompanhar contribuições e trabalho em andamento →
Uso este GitHub Project para acompanhar issues, contribuições e iniciativas open source em que estou atuando, avaliando ou em que já atuei.


Como penso arquitetura

Alguns princípios orientam meu trabalho:

  • Começar pelo problema, não pelo padrão.
  • Tratar restrições como parte do design.
  • Tornar decisões e trade-offs explícitos.
  • Projetar para falhas e operação desde o início.
  • Preferir guardrails a burocracia.
  • Manter arquitetura próxima o suficiente do código para validar decisões.
  • Automatizar padrões quando isso gera feedback útil para os times.

Esse é também o fio condutor do meu portfólio profissional, onde apresento minha atuação em arquitetura, sistemas distribuídos, cloud, DDD e engenharia de software de forma mais completa.


Conteúdo técnico

Escrevo sobre arquitetura de software, Domain-Driven Design, sistemas distribuídos, backend, qualidade e decisões de engenharia.

  • Café com código — newsletter sobre arquitetura de software, Domain-Driven Design, sistemas distribuídos, backend, qualidade e os trade-offs por trás das decisões técnicas;
  • NuGet — bibliotecas e ferramentas .NET publicadas;
  • Portfólio — visão consolidada da minha atuação profissional;
  • LinkedIn — trajetória, experiência e presença profissional.

Atividade no GitHub

Estatísticas do GitHub de Rodrigo de Oliveira

Pinned Loading

  1. poc-arquitetura poc-arquitetura Public

    .NET architecture PoC for distributed services with CQRS, Kafka, PostgreSQL, Outbox, DLQ, observability and CI quality gates.

    C# 4

  2. .github .github Public

    Default community health files and funding configuration for my repositories.

  3. brazilian-primitives brazilian-primitives Public

    Objetos de valor .NET fortemente tipados e imutáveis para validar e normalizar identificadores brasileiros, como CPF, CNPJ, CEP, chaves Pix, telefones e documentos de veículos.

    C#

  4. complexity-analyzers complexity-analyzers Public

    Roslyn analyzer for C# that estimates algorithmic complexity and detects costly patterns in loops, LINQ, interprocedural calls, and recursion.

    C#

  5. dotnet-library-template dotnet-library-template Public template

    Opinionated .NET library template with testing, CI, packaging, code quality and repository governance.

    C#

  6. DotNetRepoInspector DotNetRepoInspector Public

    Inspect and classify .NET projects, extracting architecture metadata for CI/CD, automation, and technical governance.

    C#