LSLínguas Sem BenaventeInglês para brasileiros

Aula

Modal verbs para possibilidade e certeza

Nível: B1

Objetivo

Usar modal verbs (may, might, could, must, can't) para expressar níveis de possibilidade e certeza ao diagnosticar bugs, levantar hipóteses e descartar causas improváveis — frases como `It might be a cache issue`, `The token must be expired` e `The request can't be coming from us`.

Explicação

Em engenharia, modal verbs (verbos modais) servem para mostrar o quanto você acredita em algo. Os quatro que você mais usa para diagnosticar bugs são may, might, could e must, mais o negativo lógico can't. Eles não flexionam (sempre `might`, nunca `mights`) e são seguidos pelo verbo na forma base.

Possibilidade: may, might, could

  • `might` é a forma mais comum em diagnóstico: indica hipótese, algo possível mas incerto.
  • `The bug might be in the parser.` (O bug pode estar no parser — talvez sim, talvez não.)

  • `may` é parecido, mas um pouco mais formal; em post-mortems e mensagens de incidente aparece com frequência.
  • `The latency may increase after the deploy.` (A latência pode aumentar — é possível.)

  • `could` também indica possibilidade, mas é mais usado para falar de causas em geral ou de algo que aconteceu no passado (`The token could have expired` = o token pode ter expirado).

Regra prática: quando você está chutando uma causa e quer deixar claro que ainda não tem certeza, use `might` ou `could`. Quando você está apontando uma causa real num relatório, `may` cabe bem.

Certeza forte: must (conclusão lógica)

  • `must` expressa conclusão lógica: "eu tenho quase certeza, pelas evidências, que isso é verdade". Não é 100%, mas é a única explicação razoável.
  • `The token must be expired — that's the only reason the call returns 401.` `It must be a config issue; the logs are clean otherwise.`

Use `must` quando você está fechando uma hipótese, não abrindo uma: `The bug must be here` = depois de testar outras coisas, esta é a resposta.

Impossibilidade: can't (certeza negativa)

  • `can't` é o oposto lógico de `must`: "eu tenho quase certeza de que isso não é a causa".
  • `It can't be a database issue; the query is fast in isolation.` `The request can't be coming from us; the IP is from another region.`

`can't` é muito útil para descartar causas durante o debug. Em vez de listar 10 motivos pelos quais algo pode estar errado, você reduz a lista: `It can't be A, it can't be B, so it must be C`.

Resumo rápido de certeza

FraseNível de certeza
`It might be a cache issue.`hipótese fraca (talvez)
`It could be a cache issue.`hipótese (uma das causas possíveis)
`It may be a cache issue.`hipótese um pouco mais formal
`It must be a cache issue.`certeza lógica (quase 100%)
`It can't be a cache issue.`certeza negativa (não é isso)

A forma é sempre `modal + verb base`: `might be`, `must be`, `can't be`, `could be`. Nada de `might being` ou `must being`.

Exemplos

InglêsTraduçãoObservação
It might be a cache issue.Pode ser um problema de cache.might + be: hipótese fraca, comum no início da investigação.
The token must be expired.O token deve estar expirado.must + be: conclusão lógica, quase certeza pelas evidências.
The request can't be coming from us.A requisição não pode estar vindo da gente.can't + be: certeza negativa, descarta a causa.
The latency may increase after the deploy.A latência pode aumentar depois do deploy.may + base: hipótese mais formal, comum em relatórios.
It could be a config issue.Pode ser um problema de configuração.could + be: uma das causas possíveis.
The worker must have crashed.O worker deve ter caído.must + have + past participle: certeza sobre algo que já aconteceu.
That can't be the cause; the logs show nothing.Essa não pode ser a causa; os logs não mostram nada.can't + be para descartar uma hipótese com evidência.

Erros comuns

  • Esquecer a forma base: `It might being a cache issue` deve ser `It might be a cache issue`.
  • Flexionar o modal: `The token musts be expired` está errado; use `must be`.
  • Usar `must` para hipótese fraca: `It must be a cache issue` (logo no começo) soa como certeza, não como palpite. Prefira `It might be` na primeira hipótese.
  • Confundir `can't` (impossibilidade lógica) com `cannot` (impossibilidade física): em diagnóstico de software, `can't` quase sempre é a forma usada em falas e mensagens curtas.
  • Misturar `may` e `might` no mesmo nível: `It may be the cache, but it might be the config` é aceitável para mostrar gradação, mas evite `It may be the cache, but it may be the config` (perde a nuance).
  • Esquecer `not` em contrações negativas longas: a forma padrão é `can't`, não `can not` em mensagens de incidente.
  • Traduzir `deve` direto como `should`: em conclusão lógica, `must` é a tradução certa; `should` é recomendação. `The token must be expired` ≠ `The token should be expired`.

Prática guiada

Leia cada cenário e escolha o modal adequado. A frase-modelo está entre parênteses como dica.

  1. Você acabou de receber um alerta. Não sabe ainda por que o serviço caiu, só que caiu.
  2. → `The service ___ be down because of the recent deploy.` (use might) → Resposta: `The service might be down because of the recent deploy.`

  1. Você olhou os logs, conferiu o horário e a única explicação que sobra é cache expirado.
  2. → `The cache ___ be expired; the request is older than the TTL.` (use must) → Resposta: `The cache must be expired; the request is older than the TTL.`

  1. Alguém sugeriu que o banco estava lento. Você já testou a query em isolamento e está rápida.
  2. → `It ___ be a database issue; the query is fast in isolation.` (use can't) → Resposta: `It can't be a database issue; the query is fast in isolation.`

Repare na gradação: might abre hipóteses, must fecha com quase certeza, can't descarta com quase certeza negativa.

Resumo

Use might, may e could para hipóteses (do mais informal ao mais formal). Use must para conclusão lógica quando as evidências apontam para uma causa. Use can't para descartar uma causa com segurança. Todos são seguidos pela forma base do verbo (`might be`, `must be`, `can't be`). A escolha entre eles mostra o quanto você acredita na causa.

Vocabulário

Palavras principais

18 itens
mightpode (hipótese fraca, talvez)

It might be a cache issue.

Pode ser um problema de cache.
maypode (possibilidade, mais formal)

The latency may increase after the deploy.

A latência pode aumentar depois do deploy.
couldpoderia, pode (causa possível)

It could be a config issue.

Pode ser um problema de configuração.
mustdeve (conclusão lógica, quase certeza)

The token must be expired.

O token deve estar expirado.
can'tnão pode (certeza negativa, descarta causa)

The request can't be coming from us.

A requisição não pode estar vindo da gente.
diagnosediagnosticar

We need to diagnose the latency spike before the standup.

Precisamos diagnosticar o pico de latência antes do standup.
hypothesishipótese

Our main hypothesis is a network issue.

Nossa principal hipótese é um problema de rede.
root causecausa raiz

We still haven't found the root cause of the outage.

Ainda não encontramos a causa raiz da queda.
to rule outdescartar (uma hipótese)

We can rule out the database; the query is fast.

Podemos descartar o banco; a query é rápida.
likelyprovável

A network timeout is the most likely cause.

Um timeout de rede é a causa mais provável.
unlikelyimprovável

A config error is unlikely because the last deploy was clean.

Um erro de configuração é improvável porque o último deploy foi limpo.
evidenceevidência, prova

The logs are the main evidence we have so far.

Os logs são a principal evidência que temos até agora.
expiredexpirado, vencido

The session token is expired; that's why the request returned 401.

O token de sessão está expirado; por isso a requisição retornou 401.
cache issueproblema de cache

It might be a cache issue after the migration.

Pode ser um problema de cache depois da migração.
config issueproblema de configuração

It could be a config issue with the new environment variable.

Pode ser um problema de configuração com a nova variável de ambiente.
network issueproblema de rede

The most likely cause is a network issue between regions.

A causa mais provável é um problema de rede entre regiões.
timeouttempo limite atingido

The client retried after the timeout.

O cliente tentou de novo depois do timeout.
log entryentrada de log, linha de log

There is no log entry for the failed request.

Não há entrada de log para a requisição que falhou.

História

História: Modal verbs para possibilidade e certeza

Nível: B1

História em inglês

The 2 a.m. alert

On Tuesday at 2:07 a.m., a PagerDuty alert woke up Renata, the on-call engineer. She opened the dashboard and saw a sudden spike in 500 errors for the payments service. "It might be a cache issue," she said to herself, scrolling through the recent deploys. But the most recent deploy was clean, so she opened the logs to look for more evidence. The first log entry for the failing requests was at 2:03 a.m., four minutes before the alert.

Ruling out causes

Renata started with the most likely hypothesis: a database slowdown. She ran the same query in isolation, and it returned in nine milliseconds. "Okay, the database is fast," she noted, "so it can't be a database issue." Next, she checked the network: latency between regions was under fifty milliseconds. "It can't be a network issue either," she said, crossing out two more causes. She was now down to two hypotheses: a cache issue or a config issue.

A logical conclusion

Renata opened the cache layer and saw something strange: every failing request was using the same session token. She checked the token's age: it was created four hours ago, and the TTL is two hours. "The token must be expired," she said out loud. "That must be the root cause — every failing request is reusing the same expired token." She refreshed the cache, rotated the token, and retried the failing requests from the logs. Every request returned 200 within a second; the alert cleared at 2:31 a.m.

Sharing the diagnosis

By 8 a.m., Renata was already drafting the incident message for the team. She wrote: "The root cause was an expired session token that was being cached and reused after its TTL." "The latency may spike again if we deploy without rotating the cache key, so we are adding a monitor." At the standup, she walked the team through the timeline and the three discarded causes. "The good news is, it could have been worse — the database and the network were both healthy." Everyone agreed: when the evidence is clear, a single `must` is worth a hundred `might`s.

Tradução linha por linha

InglêsTradução
On Tuesday at 2:07 a.m., a PagerDuty alert woke up Renata, the on-call engineer.Na terça às 2h07, um alerta do PagerDuty acordou Renata, a engenheira de plantão.
She opened the dashboard and saw a sudden spike in 500 errors for the payments service.Ela abriu o painel e viu um pico repentino de erros 500 no serviço de pagamentos.
"It might be a cache issue," she said to herself, scrolling through the recent deploys."Pode ser um problema de cache", disse ela para si mesma, percorrendo os deploys recentes.
But the most recent deploy was clean, so she opened the logs to look for more evidence.Mas o deploy mais recente estava limpo, então ela abriu os logs para procurar mais evidências.
The first log entry for the failing requests was at 2:03 a.m., four minutes before the alert.A primeira entrada de log para as requisições com falha foi às 2h03, quatro minutos antes do alerta.
Renata started with the most likely hypothesis: a database slowdown.Renata começou com a hipótese mais provável: uma lentidão no banco.
She ran the same query in isolation, and it returned in nine milliseconds.Ela rodou a mesma query em isolamento, e ela retornou em nove milissegundos.
"Okay, the database is fast," she noted, "so it can't be a database issue.""Ok, o banco está rápido", ela anotou, "então não pode ser problema de banco."
Next, she checked the network: latency between regions was under fifty milliseconds.Em seguida, ela checou a rede: a latência entre regiões estava abaixo de cinquenta milissegundos.
"It can't be a network issue either," she said, crossing out two more causes."Também não pode ser problema de rede", disse ela, riscando mais duas causas.
She was now down to two hypotheses: a cache issue or a config issue.Ela tinha agora duas hipóteses: um problema de cache ou um problema de configuração.
Renata opened the cache layer and saw something strange: every failing request was using the same session token.Renata abriu a camada de cache e viu algo estranho: toda requisição que falhava usava o mesmo token de sessão.
She checked the token's age: it was created four hours ago, and the TTL is two hours.Ela verificou a idade do token: ele foi criado quatro horas atrás, e o TTL é de duas horas.
"The token must be expired," she said out loud."O token deve estar expirado", disse ela em voz alta.
"That must be the root cause — every failing request is reusing the same expired token.""Essa deve ser a causa raiz — toda requisição com falha está reutilizando o mesmo token expirado."
She refreshed the cache, rotated the token, and retried the failing requests from the logs.Ela limpou o cache, rotacionou o token e repetiu as requisições com falha dos logs.
Every request returned 200 within a second; the alert cleared at 2:31 a.m.Toda requisição retornou 200 em menos de um segundo; o alerta foi resolvido às 2h31.
By 8 a.m., Renata was already drafting the incident message for the team.Às 8h, Renata já estava redigindo a mensagem de incidente para o time.
She wrote: "The root cause was an expired session token that was being cached and reused after its TTL."Ela escreveu: "A causa raiz foi um token de sessão expirado que estava sendo cacheado e reutilizado depois do TTL."
"The latency may spike again if we deploy without rotating the cache key, so we are adding a monitor.""A latência pode voltar a subir se implantarmos sem rotacionar a chave de cache, então estamos adicionando um monitor."
At the standup, she walked the team through the timeline and the three discarded causes.No standup, ela passou o time pela linha do tempo e pelas três causas descartadas.
"The good news is, it could have been worse — the database and the network were both healthy.""A boa notícia é que poderia ter sido pior — o banco e a rede estavam saudáveis."
Everyone agreed: when the evidence is clear, a single `must` is worth a hundred `might`s.Todos concordaram: quando a evidência é clara, um único `must` vale cem `might`s.

Notas de vocabulário

  • It might be a cache issue = hipótese fraca: abre a conversa quando ainda não há evidência
  • the most likely hypothesis = hypothesis: hipótese; a que tem mais chance de ser a causa
  • it can't be a database issue = certeza negativa: descarta uma causa com base em evidência
  • ruling out causes = rule out: descartar uma hipótese da lista de suspeitos
  • The token must be expired = conclusão lógica: a evidência (idade > TTL) deixa claro
  • That must be the root cause = must + be para indicar causa raiz quase certa
  • must have crashed = must + have + past participle: certeza sobre evento passado
  • The latency may spike again = may + base: hipótese formal em post-mortem, tom de relatório
  • it could have been worse = could + have + past participle: possibilidade sobre algo que não aconteceu

Perguntas de compreensão

  1. What woke Renata up at 2:07 a.m.?
  2. What was Renata's first hypothesis when she opened the dashboard?
  3. Why did Renata rule out the database as the cause?
  4. What other cause did Renata rule out, and on what evidence?
  5. What did Renata notice about the failing requests in the cache layer?
  6. Why did Renata conclude that the token must be expired?
  7. What did Renata do to fix the issue?
  8. What did Renata warn about in the incident message?
  9. What did the team agree about using `must` versus `might`?
  10. How long was the incident, from the first failing request to the alert being cleared?

Prática com a história

  1. Reescreva como hipótese fraca: The config issue is the root cause.
  2. Reescreva como certeza lógica: We think the token is expired.
  3. Reescreva como certeza negativa: I don't think it's a network issue.
  4. Passe para hipótese (could): The most likely cause is a cache issue.
  5. Escreva uma frase com `may` para o post-mortem: existe risco de o alerta voltar?

Prática

Exercícios e teste

Próxima etapa
7blocos de exercícios disponíveis neste tema
13questões de teste para revisar depois da aula

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.