IAN ROCHA / SOFTWARE ENGINEER

Menos ruído.
Mais clareza.
Código que resolve.

Entro no problema, conecto os times e trabalho na solução. Da conversa que destrava uma decisão ao código que precisa funcionar em produção.

PROFUNDIDADE TÉCNICA. CONTEXTO COMPARTILHADO.
ProdutoEngenhariaOperação

Visão de sistema.
Mão no código.

Ian RochaEngenheiro de software · Brasil

Sou o Ian. Um engenheiro que gosta de entender o todo — e não perde o interesse quando chega a hora de abrir o editor.

Conecto decisões de produto, arquitetura e operação. Transito entre backend, dados e infraestrutura para resolver o que fica no espaço entre as áreas.

Posso estar discutindo uma regra de negócio, investigando uma latência ou implementando um pipeline. O compromisso é o mesmo: encontrar o que realmente importa, tornar o caminho claro e levar a solução adiante.

Não quero ser o ponto por onde tudo precisa passar.
Quero ajudar o time a avançar melhor.

Minha trajetória no LinkedIn (abre em nova aba)

Problema complexo.
Próximo passo claro.

Menos idas e vindas. Mais contexto, decisões explícitas e trabalho que sai do lugar.

  1. Entender antes
    de propor.

    Investigo o problema, as restrições e o que precisa mudar para o negócio. Questiono a solução pronta quando ela ainda não responde à pergunta certa.

    Contexto antes da ferramenta
  2. Tirar o ruído
    da decisão.

    Traduzo complexidade em alternativas compreensíveis. Explicito trade-offs, alinho expectativas e separo o que é essencial do que pode esperar.

    Clareza para destravar
  3. Construir.
    Medir. Ajustar.

    Desenho a arquitetura e participo da implementação. Escrevo código, investigo falhas e acompanho o comportamento do sistema para evoluir com evidência.

    Da intenção à execução
  4. Conectar times.
    Compartilhar contexto.

    Apoio diferentes frentes com revisão técnica, decisões documentadas e troca direta. Busco resolver dependências sem criar dependência de mim.

    Referência, não gargalo

A simplicidade na superfície
exige engenharia por baixo.

Não é sobre usar tudo. É saber o que implementar, o que simplificar e quais garantias o problema exige.

02 / ALTA DISPONIBILIDADE

Falhas acontecem.
O desenho considera isso.

Alta disponibilidade começa antes do incidente: redundância, isolamento de falhas e caminhos de recuperação. Resiliência é uma propriedade da arquitetura, não uma promessa no slide.

  • Degradação controlada
  • Failover
  • Circuit breakers
  • SLIs e SLOs
03 / PROCESSAMENTO EM ESCALA

Volume muda
a forma de pensar.

Pipelines batch e orientados a eventos, da ingestão ao consumo. Particionamento, qualidade e reprocessamento entram no desenho junto com vazão, latência e custo.

  • Processamento distribuído
  • Deduplicação
  • Particionamento
  • Reprocessamento seguro
04 / OBSERVABILIDADE

Menos adivinhação.
Mais evidência.

Conecto o comportamento técnico ao impacto no negócio. Instrumentação que ajuda a explicar uma falha, encontrar um gargalo e distinguir um sinal importante de mais um alerta.

  • Logs estruturados
  • Métricas e traces
  • Correlação de eventos
  • Alertas acionáveis

Repertório, não receita.

Ferramentas que conecto de acordo com o contexto.

Backend & domínio

Go · Java · Kotlin · Python · TypeScript

Spring Boot · REST · gRPC · Temporal · DMN

Cloud & plataformas

AWS · Kubernetes · Docker · Terraform

Infraestrutura como código · CI/CD · Automação

Dados & eventos

PostgreSQL · Kafka · Spark · S3 · Athena

dbt · Parquet · Filas · Processamento assíncrono

Tem um problema difícil?
Vamos torná-lo claro.

Um sistema para destravar, uma decisão para amadurecer ou times que precisam construir juntos. A conversa pode começar por aí.