We have evidence that the database is the bottleneck.
Temos evidência de que o banco é o gargalo.Aula
Senior engineering communication: communication under ambiguity
Nível: C1
Objetivo
Comunicar com clareza em C1 quando o problema não está totalmente definido, dizendo o que se sabe, o que não se sabe, e como o desconhecido será descoberto. O foco é declarar scope assumptions, open questions, unknowns e next validation steps de forma que a audiência saiba o que é fato, o que é hipótese, e o que vai mudar a decisão.
Explicação
Em comunicação sob ambiguidade em C1, três regras separam o engenheiro sênior do júnior:
1. Separar fato de hipótese
A frase C1 distingue os dois. `We have evidence that the database is the bottleneck; we do not have evidence yet for the cause of the spike.` A palavra evidence marca fato; hypothesis marca suposição; assumption marca premissa que precisa ser validada. Misturar os três é o erro clássico que custa credibilidade.
2. Listar unknowns explicitamente
Unknowns não são fraqueza — são o mapa do que falta validar. `Unknowns: the exact size of the user base that hits the slow path; whether the legacy service has rate limits we can rely on.` Cada unknown tem dono e plano de validação.
3. Dizer como o unknown será descoberto
Unknown sem plano vira dúvida; unknown com plano vira descoberta. `Validation: we will run a load test next Tuesday to measure the rate limit; we will instrument the slow path in the canary to capture the user base size.` C1 termina a frase de ambiguidade com o que vai acontecer, não com 'we will figure it out'.
A estrutura de uma mensagem sob ambiguidade em C1:
- What we know: fatos com evidência.
- What we don't know: unknowns nomeados.
- What we assume: premissas com risco de quebra.
- How we will validate: o que vai descobrir cada unknown, com prazo.
- Decision we can make now: o que não depende dos unknowns.
- Decision we cannot make yet: o que depende dos unknowns.
A audiência sai da mensagem sabendo: (a) o que é fato, (b) o que é suposição, (c) o que vai ser descoberto, (d) o que pode ser decidido hoje, e (e) o que precisa esperar.
Exemplos
| Inglês | Tradução | Observação |
|---|---|---|
| We have evidence that the database is the bottleneck; we do not have evidence yet for the cause of the spike. | Temos evidência de que o banco é o gargalo; ainda não temos evidência da causa do pico. | Separar fato (evidence) de hipótese (do not have evidence yet). |
| Unknowns: the exact size of the user base that hits the slow path; whether the legacy service has rate limits we can rely on. | Desconhecidos: o tamanho exato da base de usuários que cai no caminho lento; se o serviço legado tem rate limits confiáveis. | Unknowns nomeados, sem hedging vago. |
| Validation: we will run a load test next Tuesday to measure the rate limit; we will instrument the slow path in the canary to capture the user base size. | Validação: vamos rodar um teste de carga na terça que vem para medir o rate limit; vamos instrumentar o caminho lento no canário para capturar o tamanho da base. | Plano de validação com prazo e métrica. |
| Decision we can make now: approve the prototype scope. Decision we cannot make yet: the roll-out date, which depends on the load test result. | Decisão que podemos tomar agora: aprovar o escopo do protótipo. Decisão que ainda não podemos tomar: a data de roll-out, que depende do resultado do teste de carga. | Separar decisões que não dependem dos unknowns das que dependem. |
Erros comuns
- Tratar hipótese como fato: 'the database is the problem' vira fato antes da validação; C1 marca como hipótese.
- Listar unknowns sem plano: 'we don't know yet' vira dúvida; C1 diz 'we will validate on Tuesday'.
- Misturar 'we assume' com 'we know': suposição e fato na mesma frase confundem a audiência.
- Decidir antes de validar: fechar roll-out sem ver o resultado do load test é aposta, não engenharia.
- Esconder unknowns para parecer confiante: a audiência sênior lê o que está faltando mais rápido do que o que está escrito.
Prática guiada
Reescreva cada bloco abaixo no padrão C1 de comunicação sob ambiguidade.
- Fato vs hipótese: troque 'the database is the problem' por 'we have evidence that the database is the bottleneck; we do not have evidence yet for the cause'.
- Unknowns nomeados: troque 'we have some unknowns' por lista de unknowns com dono e plano.
- Plano de validação: troque 'we will figure it out' por validação com prazo + métrica.
- Decisão agora vs depois: separe o que pode ser decidido hoje do que depende dos unknowns.
Compare a versão C1 com a versão genérica: a versão C1 diz à audiência exatamente o que é fato, o que é suposição, e o que vai ser descoberto.
Resumo
Comunicação C1 sob ambiguidade separa fato de hipótese com palavras explícitas (evidence, hypothesis, assumption), lista unknowns com dono e plano, e diz como cada unknown será descoberto com prazo e métrica. A mensagem termina com decisões que podem ser tomadas agora vs decisões que precisam esperar. Sem essa separação, a audiência não sabe o que é fato e o que é suposição.
Vocabulário
Palavras principais
Our hypothesis is that the legacy service is rate-limited.
Nossa hipótese é que o serviço legado tem rate limit.Our assumption is that the cache hit rate will exceed 60%.
Nossa premissa é que a taxa de acerto do cache vai passar de 60%.The exact user base size on the slow path is an unknown.
O tamanho exato da base no caminho lento é um desconhecido.We will validate the rate limit with a load test on Tuesday.
Vamos validar o rate limit com um teste de carga na terça.We will run a load test next Tuesday.
Vamos rodar um teste de carga na terça que vem.We will instrument the slow path in the canary.
Vamos instrumentar o caminho lento no canário.Approve the prototype scope; the roll-out scope depends on the load test.
Aprovar o escopo do protótipo; o escopo do roll-out depende do teste de carga.Our scope assumption is that 12% of users hit the slow path.
Nossa premissa de escopo é que 12% dos usuários caem no caminho lento.'Open question: does the legacy service have rate limits we can rely on?'
'Questão em aberto: o serviço legado tem rate limits confiáveis?'História
História: Senior engineering communication: communication under ambiguity
Nível: C1
História em inglês
Communicating under ambiguity in a design review
On Tuesday, I had to present a database migration to the architecture review with several unknowns. I opened with: what we know, latency is in the primary reads; what we don't know, the exact size of the user base on the slow path. I listed assumptions: we assume the read replica can handle 70% of the load. I added the validation plan: we will run a load test next Tuesday to measure the rate limit; we will instrument the slow path in the canary. I closed with: decision we can make now, approve the prototype scope; decision we cannot make yet, the roll-out date. The architecture review approved the prototype scope and booked the load test for Tuesday.
Tradução linha por linha
| Inglês | Tradução |
|---|---|
| On Tuesday, I had to present a database migration to the architecture review with several unknowns. | Na terça, eu tive que apresentar uma migração de banco para a revisão de arquitetura com vários desconhecidos. |
| I opened with: what we know, latency is in the primary reads; what we don't know, the exact size of the user base on the slow path. | Eu abri com: o que sabemos, a latência está nas leituras primárias; o que não sabemos, o tamanho exato da base no caminho lento. |
| I listed assumptions: we assume the read replica can handle 70% of the load. | Eu listei premissas: assumimos que a read replica aguenta 70% da carga. |
| I added the validation plan: we will run a load test next Tuesday to measure the rate limit; we will instrument the slow path in the canary. | Eu adicionei o plano de validação: vamos rodar um teste de carga na terça que vem para medir o rate limit; vamos instrumentar o caminho lento no canário. |
| I closed with: decision we can make now, approve the prototype scope; decision we cannot make yet, the roll-out date. | Eu fechei com: decisão que podemos tomar agora, aprovar o escopo do protótipo; decisão que ainda não podemos tomar, a data de roll-out. |
| The architecture review approved the prototype scope and booked the load test for Tuesday. | A revisão de arquitetura aprovou o escopo do protótipo e agendou o teste de carga para terça. |
Notas de vocabulário
- what we know, what we don't know = abertura C1 sob ambiguidade: separar fato de suposição.
- we assume the read replica can handle 70% of the load = assumption nomeada com número.
- validation plan with date and metric = C1: unknown com plano de validação com prazo.
- decision now vs decision later = fechamento C1: separar o que não depende dos unknowns.
- the architecture review approved the prototype scope = C1 separa decisão parcial de decisão final; aqui a parcial foi aprovada.
Perguntas de compreensão
- Por que separar fato de hipótese em C1?
- O que torna um unknown C1 útil?
- Qual é a função do 'decision now vs later'?
Prática com a história
- Reescreva 'The database is the problem' separando fato de hipótese.
- Reescreva 'We will figure it out' como plano de validação C1.
- Escreva o 'decision now vs later' para uma migração com load test pendente.
Prática
Exercícios e teste
A próxima melhoria é transformar esses arquivos em perguntas com resposta no navegador. Por enquanto, esta página já organiza o estudo e permite seguir a aula inteira sem abrir os arquivos manualmente.