State the objective in the first paragraph of the document.
Declare o objetivo no primeiro parágrafo do documento.Aula
Escrever documentação B1
Nível: B1
Objetivo
Escrever documentação técnica de porte médio (READMEs detalhados, design docs, runbooks) com uma estrutura clara — Objective, Context, Prerequisites, Steps, Troubleshooting, Examples — usando voz ativa, linguagem concisa e terminologia consistente para engenheiros e times de produto.
Explicação
Documentação B1 não é só uma lista de comandos: é um texto que outra pessoa consegue seguir sem te perguntar nada. A estrutura recomendada tem seis blocos, nesta ordem:
- Objective — o que o leitor vai conseguir fazer depois de ler o documento. Use uma ou duas frases começando com um verbo de ação: *This guide shows you how to deploy the staging environment.*
- Context — por que o documento existe e qual problema ele resolve. Inclua o nome do sistema, o público-alvo e o cenário: *The DataSync service runs nightly and is owned by the Data Platform team.*
- Prerequisites — o que o leitor precisa ter antes de seguir os passos: contas, permissões, versões de software, acesso à VPN, chaves de API. Use uma lista com marcadores.
- Steps — os passos numerados, um verbo imperativo por linha, em voz ativa. *Run `make deploy`*, não *The command should be run*.
- Troubleshooting — erros comuns e como reagir: *If you see `403 Forbidden`, regenerate the token with `auth-cli refresh`.*
- Examples — entradas e saídas esperadas, blocos de código, diagramas, payloads de API.
Clareza vem de três hábitos: frases curtas (uma ideia por frase), voz ativa sempre que possível, e o mesmo termo para o mesmo conceito. Se você chama o serviço de `DataSync` no começo, não troque para `the data sync tool` no meio do texto. Consistência de terminologia é o que diferencia um texto profissional de um rascunho.
Voz ativa vs. voz passiva: a voz ativa diz *who does what*; a passiva esconde o ator. Em documentação, a ativa é quase sempre melhor porque mostra quem executa a ação:
- Ativa: *The scheduler runs the job every night.*
- Passiva: *The job is run by the scheduler every night.*
- Fraca: *The job is run every night.*
A passiva só é aceitável quando o ator é irrelevante ou desconhecido: *The configuration is loaded from `config.yaml`.* Aqui importa o que acontece, não quem faz.
Verbos imperativos nos passos mantêm o texto curto: *Click*, *Run*, *Open*, *Verify*, *Confirm*. Evite *you should click* ou *it is recommended to run* — dizem o mesmo com mais palavras.
Consistência também vale para formato: decida se vai usar `npm install` ou `npm i` e mantenha; decida se headings vão em `Sentence case` ou `Title Case` e mantenha; decida se listas de pré-requisitos usam `-` ou `*` e mantenha.
Quando escrever em voz passiva: introduza a regra com parcimônia. Em uma única runbook, prefira 90% de ativa; reserve a passiva para carregamentos, validações e importações automáticas, em que o ator é o sistema e não importa.
Exemplos
| Inglês | Tradução | Observação |
|---|---|---|
| This guide shows you how to deploy the staging environment. | Este guia mostra como fazer o deploy do ambiente de staging. | Abertura típica de Objective, com verbo de ação no presente. |
| The DataSync service is owned by the Data Platform team and runs nightly. | O serviço DataSync pertence ao time de Data Platform e roda toda noite. | Context: identifica dono, sistema e cadência. |
| Prerequisites: Node.js 18+, a valid API key, and VPN access. | Pré-requisitos: Node.js 18+, uma API key válida e acesso à VPN. | Lista de pré-requisitos em uma frase só, com dois pontos. |
| 1. Run `make build`.<br>2. Run `make deploy STAGE=staging`.<br>3. Verify the deployment in the dashboard. | 1. Execute `make build`.<br>2. Execute `make deploy STAGE=staging`.<br>3. Verifique o deploy no painel. | Passos numerados, imperativo, um verbo por linha. |
| If the build fails with `EACCES`, run `sudo chown -R $USER /usr/local/lib` and try again. | Se o build falhar com `EACCES`, execute `sudo chown -R $USER /usr/local/lib` e tente de novo. | Troubleshooting: erro específico + comando exato. |
| The scheduler runs the job every night at 02:00 UTC. | O agendador executa a tarefa toda noite às 02:00 UTC. | Voz ativa: o ator (the scheduler) e a ação (runs) estão claros. |
| The job is run every night at 02:00 UTC. | A tarefa é executada toda noite às 02:00 UTC. | Voz passiva: o ator sumiu, fica menos direto. |
| Generate the API key in the dashboard and store it in `.env` as `API_KEY`. | Gere a API key no painel e armazene-a em `.env` como `API_KEY`. | Imperativo no início, voz ativa, sem 'you should'. |
Erros comuns
- Esconder o ator na voz passiva: `The job is run nightly` perde informação; prefira `The scheduler runs the job nightly`.
- Começar passos com `you should` ou `it is recommended to`: troque por imperativo simples — `Run`, `Open`, `Verify`.
- Misturar nomes do mesmo conceito: se o serviço é `DataSync`, mantenha `DataSync`; não troque por `the data sync tool` no meio do texto.
- Pular a seção de pré-requisitos: o leitor descobre, no passo 4, que faltava uma API key. Liste tudo no Prerequisites.
- Colocar Troubleshooting antes de Steps: o leitor ainda não sabe o que está fazendo e não consegue reagir a erros.
- Usar frases longas e subordinadas em passos: *After you have finished configuring the environment, you should run the build command.* vire `Run the build command.`
- Inconsistência de formato: alternar `npm install` e `npm i`, ou usar `Title Case` em um heading e `Sentence case` no outro, confunde o leitor.
Prática guiada
Reescreva este parágrafo como uma seção Objective + Prerequisites clara:
> The way the system works is that you need to first have the API key generated and then the user should clone the repository, after that it is recommended to run the build and then the deployment will be performed by the script.
Versão reescrita:
- Objective: deploy the application to staging.
- Prerequisites: an API key in `.env` as `API_KEY`, Node.js 18+, and access to the `deploy` script.
- Steps:
- Clone the repository.
- Run `make build`.
- Run `make deploy STAGE=staging`.
Observe o que mudou: voz ativa em todo lugar, imperativos curtos, lista numerada, pré-requisitos listados antes dos passos. A informação é a mesma; a leitura é muito mais rápida.
Resumo
Documentação B1 segue a estrutura Objective, Context, Prerequisites, Steps, Troubleshooting, Examples. Use voz ativa, verbos imperativos nos passos, frases curtas e terminologia consistente do começo ao fim.
Vocabulário
Palavras principais
The Context section explains why the document exists.
A seção Context explica por que o documento existe.List the prerequisites before the steps.
Liste os pré-requisitos antes dos passos.See the Troubleshooting section for common errors.
Veja a seção Troubleshooting para erros comuns.The on-call runbook describes how to restart the service.
O runbook do plantão descreve como reiniciar o serviço.Write a design doc before implementing the new feature.
Escreva um design doc antes de implementar a nova funcionalidade.The README explains how to install and run the tool.
O README explica como instalar e executar a ferramenta.Start the document with a short overview of the system.
Comece o documento com uma visão geral curta do sistema.Identify the audience before you start writing.
Identifique o público-alvo antes de começar a escrever.Write each step as if the reader has never seen the system before.
Escreva cada passo como se o leitor nunca tivesse visto o sistema.The maintainer keeps the documentation up to date.
O mantenedor mantém a documentação atualizada.Use the active voice whenever possible to keep sentences short.
Use a voz ativa sempre que possível para manter as frases curtas.Avoid the passive voice in step-by-step instructions.
Evite a voz passiva em instruções passo a passo.A concise sentence is easier to translate and to follow.
Uma frase concisa é mais fácil de traduzir e de seguir.Clarity matters more than cleverness in technical writing.
Clareza importa mais que esperteza em escrita técnica.Keep the terminology consistent from the first line to the last.
Mantenha a terminologia consistente da primeira à última linha.Define the terminology in a glossary when in doubt.
Defina a terminologia em um glossário quando houver dúvida.Use the imperative mood in the Steps section.
Use o modo imperativo na seção Steps.História
História: Escrever documentação B1
Nível: B1
História em inglês
The new runbook nobody could follow
On Wednesday morning, Mark joined the Data Platform team as a senior engineer. His first task was to review the runbook for the nightly DataSync service. The document was twelve pages long, but it didn't start with an objective. Most steps were written in the passive voice, so it was hard to tell who had to do what. There was no Prerequisites section, and the Troubleshooting section was buried at the end of the file.
Mark rewrites the document
Mark opened a pull request and replaced the entire document with a new version. He started with a single line: "This runbook shows you how to operate the DataSync service during a nightly run." The Context section explained that the service was owned by the Data Platform team and ran every night at 02:00 UTC. He added a Prerequisites list with four items: VPN access, a valid API key, the on-call pager, and a copy of the playbook. The Steps section used the imperative voice: "Verify the job queue." "Run the rollback script." "Confirm the dashboard status." The Troubleshooting section came right after the Steps, with the most common error messages and the exact command to fix each one.
Sofia reviews the changes
On Thursday, Sofia, the team's technical writer, opened the pull request and read the new version. She noticed that Mark had renamed the service halfway through the document, calling it "the data sync tool" instead of "DataSync". She left a comment: "Please keep the terminology consistent. We agreed on `DataSync` in our style guide." Mark fixed every occurrence in a few minutes and pushed the change again. Sofia approved the pull request and the new runbook went live the same afternoon. During the next on-call shift, the new engineer on rotation followed the runbook end to end and did not need to ping anyone for help.
Tradução linha por linha
| Inglês | Tradução |
|---|---|
| On Wednesday morning, Mark joined the Data Platform team as a senior engineer. | Na manhã de quarta-feira, Mark entrou no time de Data Platform como engenheiro sênior. |
| His first task was to review the runbook for the nightly DataSync service. | A primeira tarefa dele foi revisar o runbook do serviço noturno DataSync. |
| The document was twelve pages long, but it didn't start with an objective. | O documento tinha doze páginas, mas não começava com um objective. |
| Most steps were written in the passive voice, so it was hard to tell who had to do what. | A maioria dos passos estava em voz passiva, então era difícil saber quem tinha que fazer o quê. |
| There was no Prerequisites section, and the Troubleshooting section was buried at the end of the file. | Não havia seção de Prerequisites, e a seção de Troubleshooting estava escondida no final do arquivo. |
| Mark opened a pull request and replaced the entire document with a new version. | Mark abriu um pull request e substituiu o documento inteiro por uma nova versão. |
| He started with a single line: "This runbook shows you how to operate the DataSync service during a nightly run." | Ele começou com uma única linha: "This runbook shows you how to operate the DataSync service during a nightly run." |
| The Context section explained that the service was owned by the Data Platform team and ran every night at 02:00 UTC. | A seção Context explicou que o serviço era mantido pelo time de Data Platform e rodava toda noite às 02:00 UTC. |
| He added a Prerequisites list with four items: VPN access, a valid API key, the on-call pager, and a copy of the playbook. | Ele adicionou uma lista de Prerequisites com quatro itens: acesso à VPN, uma API key válida, o pager do plantão e uma cópia do playbook. |
| The Steps section used the imperative voice: "Verify the job queue." "Run the rollback script." "Confirm the dashboard status." | A seção Steps usou o imperativo: "Verify the job queue." "Run the rollback script." "Confirm the dashboard status." |
| The Troubleshooting section came right after the Steps, with the most common error messages and the exact command to fix each one. | A seção Troubleshooting veio logo após os Steps, com as mensagens de erro mais comuns e o comando exato para corrigir cada uma. |
| On Thursday, Sofia, the team's technical writer, opened the pull request and read the new version. | Na quinta-feira, Sofia, a redatora técnica do time, abriu o pull request e leu a nova versão. |
| She noticed that Mark had renamed the service halfway through the document, calling it "the data sync tool" instead of "DataSync". | Ela percebeu que Mark tinha renomeado o serviço na metade do documento, chamando-o de "the data sync tool" em vez de "DataSync". |
| She left a comment: "Please keep the terminology consistent. We agreed on `DataSync` in our style guide." | Ela deixou um comentário: "Please keep the terminology consistent. We agreed on `DataSync` in our style guide." |
| Mark fixed every occurrence in a few minutes and pushed the change again. | Mark corrigiu todas as ocorrências em alguns minutos e enviou a alteração de novo. |
| Sofia approved the pull request and the new runbook went live the same afternoon. | Sofia aprovou o pull request e o novo runbook entrou no ar na mesma tarde. |
| During the next on-call shift, the new engineer on rotation followed the runbook end to end and did not need to ping anyone for help. | Durante o próximo plantão, a engenheira nova de plantão seguiu o runbook do começo ao fim e não precisou acionar ninguém para pedir ajuda. |
Notas de vocabulário
- runbook = manual operacional usado em plantão; descreve como agir em cenários específicos
- DataSync = nome próprio do serviço; manter idêntico em todo o documento
- objective = primeira seção; declara o que o leitor vai conseguir fazer
- passive voice = voz passiva; esconde o ator e deixa a frase mais longa
- imperative voice = modo imperativo; forma curta e direta para passos (Run, Verify, Confirm)
- Prerequisites = seção que lista contas, versões e permissões antes dos passos
- Troubleshooting = seção que lista erros comuns e a ação corretiva para cada um
- terminology = terminologia; conjunto de nomes usados consistentemente no documento
- style guide = guia de estilo; documento de referência para terminologia e formato
- on-call = plantão; pessoa escalada para responder a incidentes fora do horário
- technical writer = redator técnico; profissional dedicado a revisar clareza e consistência
- pull request = solicitação de merge; espaço para revisão de código e de documentação
Perguntas de compreensão
- What was Mark's first task on the Data Platform team?
- Why was the original runbook hard to follow?
- What did Mark write in the first line of the new runbook?
- Which four items did Mark put in the Prerequisites section?
- In which voice did Mark write the Steps section?
- Where did Mark place the Troubleshooting section?
- What consistency issue did Sofia find in Mark's draft?
- How did Sofia justify her comment about the terminology?
- What happened during the next on-call shift after the new runbook went live?
Prática com a história
- Reescreva em voz ativa: The job is run by the scheduler every night at 02:00 UTC.
- Reescreva o passo em imperativo direto: It is recommended that you run the rollback script before continuing.
- Traduza: Pré-requisitos: Docker, Make e uma API key em `.env`.
- Escreva uma frase de Troubleshooting para o erro `ECONNREFUSED` ao iniciar a API local.
- Corrija a inconsistência: Mark começou chamando o serviço de DataSync e depois passou a chamá-lo de the data sync tool.
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.