Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Professional English for Developers  Module 2 – Clear writing foundations

Concise and precise: words for technical writing

Cut wordy phrases, filler and claims nobody measured, keep one term for each concept, and use must, should and may the way readers expect.

  • Beginner
  • 20 minutes
  • Examples run with Node.js 24.21.0 and quickjs 0.32.0
  • By MySmartCoPilot
Free core, Pro depth: 7 of 20 minutes free
Free: Short, exact words instead of wordy phrases · Filler and judgement words make readers doubt the rest. With a pass: 3 in-depth parts and 3 interview answers, about 13 minutes.

What you will learn

  • Replace wordy and redundant phrases with short, exact words
  • Remove filler and subjective words such as "simply", "just" and "easy"
  • Use one term for one concept throughout a document
  • Use must, should, may and can with the meaning readers expect, including RFC 2119 keywords

Before you start

A README paragraph of 125 words lost 61 of them, 49 % of its length, and kept all eleven of its facts. Among the cuts were fifteen words and phrases that a checker flags and a reader learns nothing from: “in order to” where “to” says the same, “simply” in front of a step that may not be simple, and two claims that nobody had measured.

This lesson shows how to make technical writing concise, so that every word carries meaning, and precise, so that every word means exactly one thing. You will cut wordy phrases and filler with a checker you can run, then see why judgement words such as “easy” and “fastest” cost a writer trust.

Short, exact words instead of wordy phrases

Style guides keep lists of phrases that have a shorter equal. Google’s word list says to write “to” instead of “in order to”, “use” instead of “leverage” when you mean use, and “run” instead of “execute” when the meaning is the same. GOV.UK asks for “buy” instead of “purchase” and “help” instead of “assist”. A few examples:

Wordy Short Source
in order to to Google word list
allows you to lets you Google word list
makes use of uses Google, global audience
a number of some or many Google, global audience
commence start Google, global audience
purchase, assist buy, help GOV.UK

An edit for concision works best in passes, one kind of word at a time. Step through the four passes of one README paragraph:

Interactive · stage by stage Cutting a README paragraph in four passes Step through the edit one pass at a time. Each pass looks for one kind of word, and the last makes sure no fact went with them.
Cutting a README paragraph in four passes, step 4 of 4. Showing Wordy phrases (8 phrases replaced), Judgement words (5 words deleted), Unmeasured claims (2 claims deleted), Facts check (11 of 11, 64 words). In focus: Facts check.Wordy phrases8 phrases replacedJudgement words5 words deletedUnmeasured claims2 claims deletedFacts check11 of 11, 64 words

The drawing shows the whole scene; its 4 steps are listed below.

Every step as text
  1. Phrases with a shorter equal. The first pass replaces the eight wordy phrases the checker flags with their short forms. Among them: "in order to", twice, becomes "to", "allows you to" becomes "lets you", and "makes use of" becomes "uses".
  2. Words that judge the task. The second pass deletes five words that judge the task for the reader: simple, easily, just, simply and carefully. Each one adds no fact, and "carefully" becomes an instruction that says what to do: test before production.
  3. Claims nobody measured. The third pass finds two claims: "the fastest way to document releases" and "never slow down your pipeline". No measurement backs either, so both go rather than gain a number nobody has.
  4. Every fact still there. The last pass checks the result against a list of the facts of the original: the command-line tool, the deployments, npm, the init command, the configuration file, the Git history, the changelog, release notes, the dashboard, beta and production. All 11 are there, in 64 words instead of 125.

The program below runs the same checks, a list like the table above plus the filler and claims of the next section, on the paragraph before and after the edit. It also checks that eleven facts of the paragraph survive:

A README paragraph cut to concise words JavaScript · readme/cut_readme.mjs
// A README paragraph before and after an edit for concise, precise words. The rules come from Google's developer
// documentation style guide (word list, global audience, excessive claims) and GOV.UK's clear-language guidance.

const WORDY = [
  ['in order to', 'to'],
  ['a number of', 'some, many or the number'],
  ['allows you to', 'lets you'],
  ['makes use of', 'uses'],
  ['leveraged', 'used'],
  ['utilizing', 'using'],
  ['commence', 'start'],
  ['please note', 'delete it'],
];
const VAGUE = ['just', 'simply', 'simple', 'easy', 'easily', 'carefully'];
const CLAIMS = ['best', 'simplest', 'fastest', 'never', 'always'];

const wordsOf = (text) => text.split(/\s+/).filter((w) => /[A-Za-z0-9]/.test(w));
const count = (text, phrase) => (text.toLowerCase().match(new RegExp(`\\b${phrase}\\b`, 'g')) ?? []).length;

function check(label, text) {
  const found = [];
  for (const [phrase, use] of WORDY) for (let i = count(text, phrase); i > 0; i--) found.push(`wordy    "${phrase}" -> ${use}`);
  for (const word of VAGUE) for (let i = count(text, word); i > 0; i--) found.push(`vague    "${word}" -> delete it, or say exactly how`);
  for (const word of CLAIMS) for (let i = count(text, word); i > 0; i--) found.push(`claim    "${word}" -> a number you measured, or nothing`);
  console.log(`${label}: ${wordsOf(text).length} words, ${found.length} flags`);
  for (const line of found) console.log(`  ${line}`);
  return wordsOf(text).length;
}

const before =
  'ShipLog is a simple, lightweight command-line tool that basically allows you to easily keep a record of the ' +
  'deployments of your services. In order to get started, you just need to install it with npm and then simply run ' +
  'the init command, which will commence the creation of a configuration file for you. ShipLog makes use of the Git ' +
  'history of your repository in order to generate a changelog, and it can also be leveraged to post release notes to ' +
  'your team chat. It is the fastest way to document releases and it will never slow down your pipeline. Please note ' +
  'that a number of features, such as the dashboard, are still in beta at this point in time, so use them carefully ' +
  'in production.';

const after =
  'ShipLog is a command-line tool that records the deployments of your services. To start, install it with npm and ' +
  'run `shiplog init`, which creates a configuration file. ShipLog builds a changelog from the Git history of your ' +
  'repository and can post release notes to your team chat. Some features, such as the dashboard, are in beta: test ' +
  'them before you use them in production.';

const FACTS = ['command-line tool', 'deployments', 'npm', 'init', 'configuration file', 'Git history', 'changelog', 'release notes', 'dashboard', 'beta', 'production'];

const a = check('Before', before);
console.log();
const b = check('After', after);
console.log(`\nCut: ${a - b} words (${Math.round((100 * (a - b)) / a)} %), facts kept: ${FACTS.filter((f) => after.includes(f)).length} of ${FACTS.length}`);

Output

Before: 125 words, 15 flags
  wordy    "in order to" -> to
  wordy    "in order to" -> to
  wordy    "a number of" -> some, many or the number
  wordy    "allows you to" -> lets you
  wordy    "makes use of" -> uses
  wordy    "leveraged" -> used
  wordy    "commence" -> start
  wordy    "please note" -> delete it
  vague    "just" -> delete it, or say exactly how
  vague    "simply" -> delete it, or say exactly how
  vague    "simple" -> delete it, or say exactly how
  vague    "easily" -> delete it, or say exactly how
  vague    "carefully" -> delete it, or say exactly how
  claim    "fastest" -> a number you measured, or nothing
  claim    "never" -> a number you measured, or nothing

After: 64 words, 0 flags

Cut: 61 words (49 %), facts kept: 11 of 11

Recorded with Node.js 24.21.0 on macOS 26 arm64. To run it yourself: mise exec node@24.21.0 -- node cut_readme.mjs

The edit removed 61 words and every flag. Each cut was a phrase with a shorter equal or a word that judged the task; none was a fact.

Run it on your own paragraph

Press Edit, paste a paragraph from one of your READMEs into after, and run it. Then rewrite each flagged phrase and run it again.

Checkpoint

Check: Phrases with a shorter equal

  1. Question 1 of 2 Which rewrite of "Run the script in order to generate the report" follows Google's word list?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Run the script to generate the report.

    "In order to" has a shorter equal, "to". Google's word list keeps "in order to" only where it clarifies meaning or makes a sentence easier to read, which is not the case here.

  2. Question 2 of 2 A paragraph contains "in order to" twice, "allows you to" once and "makes use of" once. You replace each with its short form from the table: "to", "lets you" and "uses". How many words does the paragraph lose?

    Type a number.

    A hint

    Count the words of each phrase and of its short form.

    Show the answer: Question 2 of 2

    Answer: 7 words

    "In order to" (3 words) becomes "to" (1), twice: 4 words. "Allows you to" (3) becomes "lets you" (2): 1 word. "Makes use of" (3) becomes "uses" (1): 2 words. 4 + 1 + 2 = 7.

Filler and judgement words make readers doubt the rest

“Simply run the init command” tells the reader that the step is simple. If it fails for them, the word makes them feel slow, and they start to doubt the rest of the page. Google’s word list says it directly: “What might be simple for you might not be simple for others.” Its guide for a global audience asks you to cut vague words such as simply, properly and carefully, and its word list calls just a filler word: A word that adds no meaning to a sentence, such as "just" or "simply" in an instruction: deleting it leaves the meaning unchanged. you can usually delete.

Claims work the same way. Google’s guidance on excessive claims asks writers to avoid superlatives such as best, simplest, fastest, never and always, and to keep to statements a reader can check. The README said that ShipLog was “the fastest way to document releases” and would “never slow down your pipeline”. Nobody had measured either, so both went.

Instead of Write Why
Simply run the init command. Run the init command. “Simply” adds a judgement, not a fact
It’s easy to configure. Set the options in the configuration file. Say how, not how hard
The fastest way to document releases (delete it) Nobody measured it

Key idea

Delete words that judge the task for the reader, such as “simply” and “easy”, and keep only the claims you can back with a measurement.

Three more habits make words precise, and each has a part of its own in this lesson. One term for one concept means a document never gives one thing two names. A second name makes readers ask whether a second thing exists. Requirement words such as must, should and may tell readers whether something is required, recommended or optional. Implementers build what these words say, so each one needs a single meaning. Numbers instead of adjectives means writing the measurement, such as a time in milliseconds, instead of “much faster”.

Checkpoint

Check: Filler, judgement words and claims

  1. Question 1 of 2 A step says "Simply restart the service." What is wrong with "simply"?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: It adds no information and judges the task; if the restart fails, the reader feels slow and doubts the page

    Delete it: "Restart the service." Words that judge the task, such as simply, just and easy, add no fact and can make a reader who struggles doubt the rest of the page.

  2. Question 2 of 2 A release note says "The new parser is always faster." You measured it on two of your five services: on both, the p95 parse time fell from 80 ms to 30 ms. What do you write?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: On the two services we measured, p95 parse time fell from 80 ms to 30 ms.

    Keep to what you can check: the measurement, where it was made, and the numbers before and after. Superlatives such as "always" and "fastest" make a claim that one counterexample breaks.

One term for one concept, kept with a glossary Pro: opens with a Pro, Premium or Ultimate pass

A synonym added for variety makes a reader, and a translation tool, think that a second thing exists. This part shows that drift in a design note, the three-line glossary that stops it, and the opposite mistake: one word for two things.

In this part:

  • Three names for one thing, counted in a design note
  • A three-line glossary that keeps the term from drifting

1 runnable example (JavaScript) · about 3 minutes

Opening this part with your pass…

This part opens with any MySmartCoPilot pass.

  • Pro pass · 1 week₹79$2.99
  • 30 days₹179$5.99
  • 1 year₹1,699$45

One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.

It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).

Must, should, may and can: requirement words readers trust Pro: opens with a Pro, Premium or Ultimate pass

A requirement word decides what an implementer builds, so a vague one can split a team in two. This part sets out what each word means in a specification and in a guide, and checks both kinds of text with a program.

In this part:

  • What the BCP 14 key words mean, and when they apply
  • The same rule written for a specification, a guide and a chat

1 runnable example (JavaScript) · about 7 minutes

Opening this part with your pass…

This part opens with any MySmartCoPilot pass.

  • Pro pass · 1 week₹79$2.99
  • 30 days₹179$5.99
  • 1 year₹1,699$45

One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.

It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).

Numbers instead of adjectives, with an edit you can check Pro: opens with a Pro, Premium or Ultimate pass

“Much faster” asks readers to trust you; “4,200 ms to 350 ms” lets them check. This part shows how to turn claims into measurements without inventing any, where conciseness turns into rudeness, and gives you a design note to edit with sample tests.

In this part:

  • Turning a claim into a measurement, worked through
  • Concise, not curt: the words a reader needs
  • Practise: edit a design note with numbers from a load test
  • Edit a design note to concise, precise words
    • Results of the sample tests
  • Three rules to keep from the precise parts

1 exercise with sample tests · about 5 minutes

Opening this part with your pass…

This part opens with any MySmartCoPilot pass.

  • Pro pass · 1 week₹79$2.99
  • 30 days₹179$5.99
  • 1 year₹1,699$45

One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.

It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).

Practise: cut words that carry nothing

The questions below cover the first two habits of this lesson, wordy phrases and judgement words, and pick the habit you have missed most so far:

Practice that adapts to you

Practise this lesson

6 questions about 5 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 6 Which phrase has a shorter equal in Google's word list?

    Choose one answer.

    Show the answer: Question 1 of 6

    Answer: "allows you to", which becomes "lets you"

    "Allows you to" becomes "lets you". Not every phrase gets shorter: "set up" and "sign in" stay, because they are the plainest way to say it.

  2. Question 2 of 6 Rewrite: "This tool makes use of your Git history in order to commence the creation of a changelog."

    Choose one answer.

    Show the answer: Question 2 of 6

    Answer: This tool uses your Git history to create a changelog.

    Three fixes: "uses" for "makes use of", "to" for "in order to", and the verb "create" for "commence the creation of". Seventeen words become ten.

  3. Question 3 of 6 A teammate replaces every "utilize" in your docs with "use", including "CPU utilization exceeded 75 %". Is that right?

    Choose one answer.

    Show the answer: Question 3 of 6

    Answer: Not in that sentence. Google's word list keeps utilization for the quantity of a resource being used

    Replace a long word only where a short one means the same. "Utilize a load balancer" becomes "use a load balancer"; "CPU utilization" stays.

  4. Question 4 of 6 Which words does Google's guide for a global audience ask you to cut as vague?

    Choose every answer that is right.

    Show the answer: Question 4 of 6

    Answer:

    • carefully
    • simply
    • properly

    The guide asks you to cut vague words such as simply, properly and carefully, and to use exact technical wording instead.

  5. Question 5 of 6 Rewrite: "Just install the plugin, it's easy."

    Choose one answer.

    Show the answer: Question 5 of 6

    Answer: Install the plugin.

    "Install the plugin." If installing needs more than one step, list the steps; that tells readers more than "easy".

  6. Question 6 of 6 A product page calls your editor "the best and fastest editor". Your team has one benchmark, of start-up time. What do you write?

    Choose one answer.

    Show the answer: Question 6 of 6

    Answer: Give the start-up time you measured, with where it was measured, and drop "best"

    Write what you measured and where: the start-up time from the benchmark. "Best" has no measurement behind it, so it goes.

Interview questions

Warm-up (fresher to mid-level): Why do style guides tell you to delete words such as “simply” and “just” from instructions?

Because they add no information and can mislead. “Simply run the init command” says nothing that “Run the init command” does not, and it judges the task for the reader: if the step fails for them, the word makes them feel slow and doubt the rest of the page. Google’s word list calls “just” a filler you can usually delete and says that what is simple for you might not be simple for others. Deleting them makes the instruction shorter and more honest.

Three longer questions of this module’s bank build on this lesson:

  1. Fresher to mid

    A README's first paragraph runs to 140 words before the reader learns what the tool does. You are asked to halve it without losing a single fact. How do you go about it?

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page. First step and follow-ups

  2. Mid to senior

    Your API documentation calls one thing a workspace, a project and a space. Users open support tickets because they think these are three features. What do you change, and how do you stop it from happening again?

    Model answer, Pro. First step and follow-ups

  3. Mid to staff

    An integration partner read "the client should retry" in your API specification as optional, and their client never retries. Your team says it was obviously required. Who is right, and how should the specification have been written?

    Model answer, Pro. First step and follow-ups

Key takeaways

  • Replace phrases that have a shorter equal: “to” for “in order to”, “lets you” for “allows you to”, “uses” for “makes use of”.
  • Delete words that judge the task for the reader, such as “simply”, “just” and “easy”.
  • Keep only the claims you can check; superlatives such as “fastest” and “never” go unless a measurement backs them.
  • Concise means every word carries meaning, and a checker can find the words that do not.

Terms in this lesson

filler word
A word that adds no meaning to a sentence, such as "just" or "simply" in an instruction: deleting it leaves the meaning unchanged.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.