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

Writing for a global audience in tech teams

Replace words with two meanings, idioms and culture-bound references with plain English that colleagues and translation tools read one way.

  • Intermediate
  • 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: Words with two meanings: since, while, once, as and via · Idioms, humour and references that need a shared culture. With a pass: 3 in-depth parts and 3 interview answers, about 13 minutes.

What you will learn

  • Identify idioms, slang, humour and culture-bound references that global readers may misread
  • Replace ambiguous words such as "since", "while" and "once" with exact ones
  • Use helper words such as "that", "then" and "the" that make sentences easier to parse
  • Write text that survives machine translation into a colleague's first language

Before you start

What you’ll learn · Before you start

What you will learn

  • Identify idioms, slang, humour and culture-bound references that global readers may misread
  • Replace ambiguous words such as "since", "while" and "once" with exact ones
  • Use helper words such as "that", "then" and "the" that make sentences easier to parse
  • Write text that survives machine translation into a colleague's first language

Before you start

On this page

“Error rates are higher since the release” can report a time or blame a cause, and a colleague who reads it through a translation tool may get the one you did not mean. Twelve short sentences from tickets, docs and chat, checked below, each had a word like that; rewritten, none did.

This lesson shows how to write for a global audience: colleagues who read English as a second or third language, and the machine translation: Translation of text from one language into another by software rather than by a person, as in a browser's translate feature or a translation app. many of them use. You will replace words with two meanings by exact ones, and swap idioms and culture-bound references for plain words, with a rule pack you can run on your own sentences.

Words with two meanings: since, while, once, as and via

Google’s word list asks writers to use a few common words in one sense only. If you mean because, write because instead of since or as. If you mean after, write after instead of once. Do not use while for a contrast: write although, and keep while for time. Write “for example” instead of e.g. and “that is” instead of i.e., and do not use via at all. For a place in the text, write earlier and later rather than above and below.

Each of these words has two readings, and a translation has to pick one. Step through what happens to one incident message:

Interactive · message by message One word, two readings, on the way to a colleague Step through one incident message as it travels from the writer to a colleague who reads it in another language.
One word, two readings, on the way to a colleague, step 5 of 5. Messages so far: Writer to Translation: "higher since the release"; Translation to Reader: "higher because of release"; Writer to Translation: "rose after the release"; Translation to Reader: "rose after the release".Writerwrites after, and the gapTranslationone meaning to pickReadercause unknown, no rollback"higher since the release""higher because of release""rose after the release""rose after the release"

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

Every step as text
  1. The writer means a time. An engineer on call posts "Error rates are higher since the release." He means from the time of the release: nobody knows the cause yet. But since can also mean because.
  2. The translation must choose. The reader's language has one word for from the time that and another for because. Whoever translates, a tool or a person, has to pick one, and the sentence alone does not say which.
  3. The reader gets a cause. The colleague reads that the release caused the errors and starts to roll it back. The message never said that: the writer only knew when the errors began.
  4. The fix says what is known. The writer rewrites it: "Error rates rose after the release. We do not know the cause yet." Now only one reading exists, and the second sentence says what the first could only hint at.
  5. The same meaning at both ends. The colleague reads a time and an open question, and helps look for the cause instead of rolling back. Fixing a word with two meanings costs a few seconds when you write it.

The program below runs these rules on twelve sentences and on their fixed versions. Three flags are questions rather than mistakes: “Since version 3” really means from version 3 on, “Restart the service once” really means one time, and “While you wait for the migration” really means during. Rewriting them still removes the doubt for a reader who does not know which meaning you had in mind:

Twelve sentences checked for words with two meanings JavaScript · rulepack/global_check.mjs
// A global-reader check: words that Google's word list asks writers to avoid or to use in one sense only, run on
// twelve sentences and their fixed versions. A flag is a question for the writer, not a verdict: "since version 3"
// means "from version 3 on" and is correct, but a translator may still read "because".

const RULES = [
  [/\bsince\b/i, 'since', 'if you mean because, write because'],
  [/\bwhile\b/i, 'while', 'for a contrast, write although'],
  [/\bonce\b/i, 'once', 'if you mean after, write after'],
  [/^as\b/i, 'as', 'if you mean because, write because'],
  [/\bvia\b/i, 'via', 'write through, by or with'],
  [/\be\.g\./i, 'e.g.', 'write for example or such as'],
  [/\bi\.e\./i, 'i.e.', 'write that is'],
  [/\b(?:above|below)\b/i, 'above/below', 'for a place in the text, write earlier or later'],
];
const flagsOf = (s) => RULES.filter(([re]) => re.test(s));

const PAIRS = [
  ['Once the build passes, deploy to staging.', 'After the build passes, deploy to staging.'],
  ['Since the API changed, update the client.', 'Because the API changed, update the client.'],
  ['While the cache is fast, it is not durable.', 'Although the cache is fast, it is not durable.'],
  ['As the token expired, the request failed.', 'Because the token expired, the request failed.'],
  ['Send the logs via the support portal.', 'Send the logs through the support portal.'],
  ['Use a short-lived credential, e.g. an OIDC token.', 'Use a short-lived credential, such as an OIDC token.'],
  ['Rotate the keys, i.e. create new ones and revoke the old ones.', 'Rotate the keys: create new ones and revoke the old ones.'],
  ['See the table above for the limits.', 'See the table of limits earlier on this page.'],
  ['Since version 3, the flag is on by default.', 'From version 3 on, the flag is on by default.'],
  ['Restart the service once.', 'Restart the service one time.'],
  ['While you wait for the migration, read the release notes.', 'During the migration, read the release notes.'],
  ['The steps below need admin rights.', 'The following steps need admin rights.'],
];

let before = 0;
let after = 0;
PAIRS.forEach(([original, fixed], i) => {
  const flags = flagsOf(original);
  before += flags.length ? 1 : 0;
  after += flagsOf(fixed).length ? 1 : 0;
  for (const [, word, advice] of flags) console.log(`${String(i + 1).padStart(2)}  ${word}: ${advice}`);
  console.log(`    before: ${original}`);
  console.log(`    after:  ${fixed}`);
});
console.log(`\nFlagged: ${before} of ${PAIRS.length} sentences before, ${after} of ${PAIRS.length} after`);

Output

 1  once: if you mean after, write after
    before: Once the build passes, deploy to staging.
    after:  After the build passes, deploy to staging.
 2  since: if you mean because, write because
    before: Since the API changed, update the client.
    after:  Because the API changed, update the client.
 3  while: for a contrast, write although
    before: While the cache is fast, it is not durable.
    after:  Although the cache is fast, it is not durable.
 4  as: if you mean because, write because
    before: As the token expired, the request failed.
    after:  Because the token expired, the request failed.
 5  via: write through, by or with
    before: Send the logs via the support portal.
    after:  Send the logs through the support portal.
 6  e.g.: write for example or such as
    before: Use a short-lived credential, e.g. an OIDC token.
    after:  Use a short-lived credential, such as an OIDC token.
 7  i.e.: write that is
    before: Rotate the keys, i.e. create new ones and revoke the old ones.
    after:  Rotate the keys: create new ones and revoke the old ones.
 8  above/below: for a place in the text, write earlier or later
    before: See the table above for the limits.
    after:  See the table of limits earlier on this page.
 9  since: if you mean because, write because
    before: Since version 3, the flag is on by default.
    after:  From version 3 on, the flag is on by default.
10  once: if you mean after, write after
    before: Restart the service once.
    after:  Restart the service one time.
11  while: for a contrast, write although
    before: While you wait for the migration, read the release notes.
    after:  During the migration, read the release notes.
12  above/below: for a place in the text, write earlier or later
    before: The steps below need admin rights.
    after:  The following steps need admin rights.

Flagged: 12 of 12 sentences before, 0 of 12 after

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

All twelve originals were flagged and none of the fixes were. A checker cannot know which meaning you meant, but it can find every place where a reader has to guess.

Check your own sentences

Press Edit, add two sentences from your last ticket or chat message to PAIRS, with your fix beside each, and run it. A sentence you cannot fix without guessing your own meaning was ambiguous to you too.

Checkpoint

Check: Words with two meanings

  1. Question 1 of 2 An incident message says "Error rates are higher since the release." The writer knows only when the errors began. What should he write?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Error rates rose after the release. We do not know the cause yet.

    If you mean a time, write a word that only means time, such as after or from. If you mean a cause, write because. "Since" leaves the choice to the reader or the translator.

  2. Question 2 of 2 Which word does Google's word list ask for in "___ the cache is fast, it is not durable"?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Although

    "Although the cache is fast, it is not durable." Keep "while" for time only, or use "during".

Idioms, humour and references that need a shared culture

Google’s guide for a global audience asks writers to avoid colloquialisms, idiom: A phrase whose meaning is not the sum of its words, such as "ballpark figure" for a rough estimate. Readers outside the culture that uses it, and translation tools, may take it word by word. and slang, and names three examples, ballpark figure, back burner and hang in there, as confusing and difficult to translate. It also asks writers to skip humour and to avoid seasons and other references that depend on where the reader lives: “this summer” means July in Kraków and January in São Paulo. Microsoft’s global writing tips give the same advice for idioms, colloquial expressions and culture-specific references.

Here is a chat message for a team in Bengaluru, Kraków and São Paulo, checked before and after a rewrite. The idioms marked “Google” are the guide’s examples; the others come from MySmartCoPilot’s list of phrases common in meetings:

An idiom-heavy chat message, rewritten for three offices JavaScript · chat/chat_check.mjs
// A team chat message checked for idioms and references that need a shared culture, before and after a rewrite for
// colleagues in Bengaluru, Krakow and Sao Paulo. The idioms marked [Google] are examples in Google's guide for a
// global audience; the others are MySmartCoPilot's list of phrases common in meetings.

const IDIOMS = [
  ['ballpark figure', 'a rough estimate', 'Google'],
  ['back burner', 'later, or not now', 'Google'],
  ['hang in there', 'say what you are thanking or asking for', 'Google'],
  ['circle back', 'discuss again, with a time', 'MySmartCoPilot'],
  ['boil the ocean', 'try to do everything at once', 'MySmartCoPilot'],
  ['low-hanging fruit', 'the quick, safe fixes', 'MySmartCoPilot'],
  ['take the rest offline', 'discuss it in a separate call', 'MySmartCoPilot'],
  ['crunch time', 'name the deadline', 'MySmartCoPilot'],
];
const TIME = [/\bEOD\b/, 'EOD', 'whose end of day? write a time and a time zone'];

function check(label, text) {
  const found = IDIOMS.filter(([phrase]) => text.toLowerCase().includes(phrase));
  const eod = TIME[0].test(text);
  console.log(`${label}: ${found.length + (eod ? 1 : 0)} flags`);
  for (const [phrase, plain, source] of found) console.log(`  "${phrase}" [${source}] -> ${plain}`);
  if (eod) console.log(`  "${TIME[1]}" -> ${TIME[2]}`);
}

const before =
  "Hi team! Let's circle back on the billing bug tomorrow. We won't boil the ocean: grab the low-hanging fruit " +
  'first and put the reporting revamp on the back burner. Can someone give me a ballpark figure for the fix by EOD? ' +
  "Let's take the rest offline. Hang in there, it's crunch time!";

const after =
  'Hi team, we will discuss the billing bug again tomorrow at 10:00 UTC. First we will fix the quick, safe issues; ' +
  'the reporting redesign waits until next month. Can someone estimate how long the fix will take, by 17:00 UTC ' +
  'today? We will discuss the other items in a separate call. Thank you for the extra work this week.';

check('Before', before);
check('After', after);

Output

Before: 9 flags
  "ballpark figure" [Google] -> a rough estimate
  "back burner" [Google] -> later, or not now
  "hang in there" [Google] -> say what you are thanking or asking for
  "circle back" [MySmartCoPilot] -> discuss again, with a time
  "boil the ocean" [MySmartCoPilot] -> try to do everything at once
  "low-hanging fruit" [MySmartCoPilot] -> the quick, safe fixes
  "take the rest offline" [MySmartCoPilot] -> discuss it in a separate call
  "crunch time" [MySmartCoPilot] -> name the deadline
  "EOD" -> whose end of day? write a time and a time zone
After: 0 flags

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

The rewrite lost every idiom and the “EOD” whose end of day nobody could tell, and it gained two times with a time zone. Many of these phrases are worth understanding, because you will hear them in meetings; a later lesson of this track teaches the common ones. In writing, plain words reach every reader, and local forms of English that colleagues in one office use without thinking can stop a reader in another.

Key idea

Write each word in the one sense a reader cannot misread, and say plainly what an idiom only hints at.

Three more habits make text easy to parse and to translate, and each has a part of its own below. Helper words such as that and then show where a clause starts, and short noun phrases show which word describes which. Abbreviations need their full form at first use. A round trip through a translation tool shows which sentences can be read two ways.

Checkpoint

Check: Idioms and culture-bound references

  1. Question 1 of 2 A chat message asks: "Can someone give me a ballpark figure for the fix?" How do you rewrite it for a team in three countries?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Can someone estimate roughly how long the fix will take?

    Google's guide names "ballpark figure" as confusing and hard to translate. Write the plain meaning: a rough estimate, and of what.

  2. Question 2 of 2 A colleague in Bengaluru asks the teams in Kraków and São Paulo for an answer "by EOD". What is the problem, and what should the message say?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Each office has its own end of day; write a time with a time zone, such as 17:00 UTC

    A deadline that depends on where the reader is needs a time and a time zone. In the lesson's chat message, "by EOD" became "by 17:00 UTC today".

Helper words, noun stacks and only: sentences anyone can parse Pro: opens with a Pro, Premium or Ultimate pass

Casual English drops small words that readers of a second language rely on, and piles nouns on top of each other. This part restores the helper words, takes noun stacks apart with a program that counts them, and puts only where it belongs.

In this part:

  • Helper words that casual writing drops
  • Noun stacks of four or more, taken apart and counted
  • Only goes right before what it limits

1 runnable example (JavaScript) · about 4 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).

Abbreviations, numeronyms and pronouns, defined once Pro: opens with a Pro, Premium or Ultimate pass

Short forms save the writer seconds and cost every new reader a search. This part counts the abbreviations of a planning note, defines the ones worth keeping, and replaces pronouns that a translator cannot resolve.

In this part:

  • Numeronyms and acronyms, counted in a planning note
  • Pronouns a translator cannot resolve

1 runnable example (JavaScript) · about 4 minutes

Opening this part with your pass…Pro part. It opens with the same pass as the part above.

Testing a text for translation: a round trip and a self-review Pro: opens with a Pro, Premium or Ultimate pass

You cannot read your text in every colleague’s language, but you can find the sentences that will cause trouble. This part turns the tips for machine translation into checks, shows the round-trip habit and its limits, and ends with ten sentences to fix against sample tests.

In this part:

  • What machine translation needs from your English
  • The round trip, and when not to use it
  • Practise: ten sentences for a team that reads in many languages
  • Fix ten sentences for a team that reads in many languages
    • Results of the sample tests
  • Three rules to keep from the parts on parsing and translation

1 exercise with sample tests · about 5 minutes

Opening this part with your pass…Pro part. It opens with the same pass as the part above.

Practise: words a translation can carry

Answer the questions below on words with two meanings and on idioms; each session opens with whichever of the two your answers show you need most:

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 What does Google's word list ask you to write instead of "once" when you mean "after"?

    Choose one answer.

    Show the answer: Question 1 of 6

    Answer: after

    "After the build passes, deploy to staging." Keep "once" for "one time", or write "one time".

  2. Question 2 of 6 Rewrite for a global team: "Send the logs via the support portal, e.g. as a zip file."

    Choose one answer.

    Show the answer: Question 2 of 6

    Answer: Send the logs through the support portal, for example as a zip file.

    "Through" for "via", "for example" for "e.g.", and "that is" for "i.e.": each has one meaning a translation can carry.

  3. Question 3 of 6 The checker flags "Since version 3, the flag is on by default." The sentence is about time and is correct English. What do you do?

    Choose one answer.

    Show the answer: Question 3 of 6

    Answer: Rewrite it as "From version 3 on, the flag is on by default", so no reader has to choose

    Treat each flag as a question: what do I mean here? Then write the word that only means that: "From version 3 on".

  4. Question 4 of 6 Which phrases does Google's guide for a global audience name as idioms that are hard to translate?

    Choose every answer that is right.

    Show the answer: Question 4 of 6

    Answer:

    • back burner
    • hang in there
    • ballpark figure

    The guide names ballpark figure, back burner and hang in there. It keeps phrasal verbs such as set up, log in and sign in, which have no plainer equal.

  5. Question 5 of 6 Rewrite for colleagues in three countries: "Let's circle back on the timeout issue next week."

    Choose one answer.

    Show the answer: Question 5 of 6

    Answer: We will discuss the timeout issue again next week.

    Write the plain meaning and keep the facts: "We will discuss the timeout issue again next week." A date or a meeting time is even better.

  6. Question 6 of 6 A release plan for teams in Bengaluru, Kraków and São Paulo says "We ship the new dashboard this summer." What is the problem?

    Choose one answer.

    Show the answer: Question 6 of 6

    Answer: Summer falls in different months in the two hemispheres; name the month or the quarter instead

    References that depend on where the reader lives, such as seasons, need a shared place. Name the month or the quarter instead.

Interview questions

Warm-up (fresher to mid-level): Why do global style guides say to avoid “since” and “while” in technical text?

Because each has two meanings and the reader, or a translation tool, has to guess which one you meant. “Since” can mean “because” or “from the time that”, and “while” can mean “although” or “during the time that”. Other languages often need different words for the two meanings, so a translation must choose, and a wrong choice changes the instruction. Google’s word list asks for “because” when you mean a cause and “although” for a contrast; for time, write “after”, “from” or “during”.

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

  1. Mid to senior

    Your team lead's chat posts are full of idioms such as "let's circle back" and "low-hanging fruit", and they go to colleagues in three countries, some of whom read them through a translation tool. You are asked to help. What do you change, and how do you raise it?

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

  2. Senior to staff

    Your analytics show that a third of your documentation's readers use a browser's translation feature. Which changes to the writing make the biggest difference for them, and how would you check that they worked?

    Model answer, Pro. First step and follow-ups

  3. Fresher to mid

    A new teammate says the team's docs and chat are full of abbreviations they cannot look up, such as a11y, RC and o11y. How do you handle abbreviations when you write for a global team?

    Model answer, Pro. First step and follow-ups

Key takeaways

  • Words with two meanings, such as since, while, once and as, force readers and translators to guess; write because, although, after or during instead.
  • Avoid idioms, humour and references that need a shared culture, and write the plain meaning instead.
  • A checker finds every place a reader has to guess; deciding the meaning stays with you.

Terms in this lesson

idiom
A phrase whose meaning is not the sum of its words, such as "ballpark figure" for a rough estimate. Readers outside the culture that uses it, and translation tools, may take it word by word.
machine translation
Translation of text from one language into another by software rather than by a person, as in a browser's translate feature or a translation app.

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.