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 4 – Vocabulary for tech work

Indian English at work: what global readers miss

Spot Indian English forms such as revert, prepone and do the needful that colleagues abroad may misread, and pick words every reader takes one way.

  • 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: Indian English is a variety; the question is who reads it · Revert means undo to a developer. With a pass: 3 in-depth parts and 3 interview answers, about 13 minutes.

What you will learn

  • Recognise Indian English words and phrases that colleagues abroad may misread
  • Choose an international alternative when you write for a global audience
  • Explain why Indian English is a variety and not a mistake, while you adapt your writing to the reader
  • Apply the same check to habits from your own first language if you are not from India

Before you start

What you’ll learn · Before you start

What you will learn

  • Recognise Indian English words and phrases that colleagues abroad may misread
  • Choose an international alternative when you write for a global audience
  • Explain why Indian English is a variety and not a mistake, while you adapt your writing to the reader
  • Apply the same check to habits from your own first language if you are not from India

Before you start

On this page

To a developer, revert means undo: Git’s git revert records new commits that reverse earlier ones. Oxford’s learner’s dictionary also lists revert meaning reply, “especially Indian English, rather formal”, so “Please revert on the PR” can send one colleague to answer a question and another to undo a change.

This lesson is about audience, not correctness. Indian English is a variety (of a language): A form of a language used in one country or by one community, with its own words, spellings and grammar, such as Indian, British or American English. No variety is a mistake. of English with words of its own, and the only question is whether your reader shares them. You will learn forms that colleagues abroad often misread, such as revert, prepone and do the needful, an international alternative for each, and a check you can apply to the habits of any first language.

Indian English is a variety; the question is who reads it

Oxford’s learner’s dictionary labels words by where they are used, as it labels others British or American. Several forms that Indian offices use every day carry its Indian English label:

Form Oxford’s label What it means For a reader abroad, write
prepone Indian English, informal to move something to an earlier time than was planned bring forward, move earlier
revert especially Indian English, rather formal to reply reply
do the needful especially Indian English to do what is necessary the exact action
kindly adjust Indian English, mainly in writing please accept a problem and adapt to it say what changed, and apologise

The label is not a mark of error. Inside an Indian team these forms are understood at once, and prepone says in one word what other varieties need two for, bring forward. The cost appears only when the reader is elsewhere: a client in Ohio may never have met prepone, and do the needful tells them that something is needed without saying what.

The program runs a rule pack of these forms on eight chat lines, each rule with its source, and checks the rewrites:

Eight chat lines checked by a global-reader rule pack JavaScript · rulepack/reader_check.mjs
// A global-reader rule pack for forms that colleagues outside India may misread. Each rule names its source: the label
// that Oxford's learner's dictionary gives the form, or "abbreviation" for a short form a reader may not know. A flag
// is a question about the reader, not a verdict on the English: with colleagues who share these forms, they are fine.

const RULES = [
  [/\brevert(?:ing|ed|s)?\b(?! (?:the|this|that|my|your|it|commit|PR|change)\b)/i, 'revert (= reply)', 'Oxford: especially Indian English, rather formal', 'reply'],
  [/\bpreponed?\b|\bpreponing\b/i, 'prepone', 'Oxford: Indian English, informal', 'bring forward, move earlier'],
  [/\bdo the needful\b/i, 'do the needful', 'Oxford: especially Indian English', 'the exact action'],
  [/\bkindly adjust\b/i, 'kindly adjust', 'Oxford: Indian English, mainly in writing', 'say what changed and apologise'],
  [/\bintimate (?:you|me|him|her|them|us)\b/i, 'intimate somebody', 'Oxford: intimate something (to somebody); the adjective has a sexual sense', 'let you know'],
  [/\bdiscuss(?:ed|ing)? about\b/i, 'discuss about', 'Oxford: still considered incorrect by most people', 'discuss'],
  [/\brevert back\b/i, 'revert back', 'back repeats what revert says', 'reply'],
  [/\bPFA\b/, 'PFA', 'abbreviation', "I've attached"],
];

function flags(text) {
  return RULES.filter(([re]) => re.test(text)).map(([, form, source, plain]) => `${form} (${source}) -> ${plain}`);
}

const PAIRS = [
  ['Please revert on PR #412 by 6 PM IST.', 'Please reply on PR #412 by 6 PM IST (UTC+5:30).'],
  ['Can we prepone the demo to 3 PM?', 'Can we move the demo earlier, to 3 PM IST (UTC+5:30)?'],
  ['Kindly do the needful for the VPN access.', 'Could you approve my VPN access request?'],
  ['The build server is down today, kindly adjust.', 'The build server is down today. Sorry for the delay: builds will run again by 4 PM IST (UTC+5:30).'],
  ['I will intimate you once the patch is live.', 'I will let you know when the patch is live.'],
  ['Let us discuss about the schema on Monday.', "Let's discuss the schema on Monday."],
  ['PFA the logs and revert back with your comments.', "I've attached the logs. Could you reply with your comments?"],
  ['Please revert the change in PR #412: it broke the build.', 'Please revert the change in PR #412: it broke the build.'],
];

let before = 0;
let after = 0;
PAIRS.forEach(([original, fixed], i) => {
  const found = flags(original);
  before += found.length;
  after += flags(fixed).length;
  console.log(`${i + 1}  ${original}`);
  for (const f of found) console.log(`     ${f}`);
  console.log(fixed === original ? '   (revert means undo here: no flag)' : `   -> ${fixed}`);
});
console.log(`\nFlags: ${before} before, ${after} after`);

Output

1  Please revert on PR #412 by 6 PM IST.
     revert (= reply) (Oxford: especially Indian English, rather formal) -> reply
   -> Please reply on PR #412 by 6 PM IST (UTC+5:30).
2  Can we prepone the demo to 3 PM?
     prepone (Oxford: Indian English, informal) -> bring forward, move earlier
   -> Can we move the demo earlier, to 3 PM IST (UTC+5:30)?
3  Kindly do the needful for the VPN access.
     do the needful (Oxford: especially Indian English) -> the exact action
   -> Could you approve my VPN access request?
4  The build server is down today, kindly adjust.
     kindly adjust (Oxford: Indian English, mainly in writing) -> say what changed and apologise
   -> The build server is down today. Sorry for the delay: builds will run again by 4 PM IST (UTC+5:30).
5  I will intimate you once the patch is live.
     intimate somebody (Oxford: intimate something (to somebody); the adjective has a sexual sense) -> let you know
   -> I will let you know when the patch is live.
6  Let us discuss about the schema on Monday.
     discuss about (Oxford: still considered incorrect by most people) -> discuss
   -> Let's discuss the schema on Monday.
7  PFA the logs and revert back with your comments.
     revert (= reply) (Oxford: especially Indian English, rather formal) -> reply
     revert back (back repeats what revert says) -> reply
     PFA (abbreviation) -> I've attached
   -> I've attached the logs. Could you reply with your comments?
8  Please revert the change in PR #412: it broke the build.
   (revert means undo here: no flag)

Flags: 9 before, 0 after

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

Seven of the eight lines had 9 flags between them, and the rewrites none. Line 8 shows that the pack is not a word filter: “Please revert the change in PR #412” uses revert in its Git sense, to undo, so it is not flagged.

Key idea

Keep the forms with readers who share them, and write the international word when your reader may be elsewhere: reply, move earlier, the exact action.

Checkpoint

Check: Indian English as a variety, adapted to the reader

  1. Question 1 of 2 A colleague in Pune writes: "Can we prepone the demo?" What are they asking?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: To move the demo to an earlier time

    Prepone means to move something to an earlier time. For a reader abroad, write "move it earlier" or "bring it forward".

  2. Question 2 of 2 Rewrite for a reader abroad: "Kindly do the needful for the VPN access."

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Could you approve my VPN access request by 6 PM IST (UTC+5:30) today?

    Do the needful says that something is needed, not what. Replace it with the exact action: "Could you approve my VPN access request by 6 PM IST (UTC+5:30) today?"

Revert means undo to a developer

Outside software, revert usually means to go back to an earlier state. In a team of developers it also names a Git command. Git’s documentation describes git revert as taking existing commits, reverting the changes they introduced “and record some new commits that record them”. So the Indian English revert, meaning reply, collides with an instruction that changes the code. Step through one chat between Pune and Ohio:

Interactive · message by message One word, two meanings, one undone fix Step through a chat between Pune and Ohio. Watch what each developer believes revert means, and what happens next.
One word, two meanings, one undone fix, step 6 of 6. Messages so far: Priya to Tom: "Please revert on PR #412."; Tom to Priya: "Reverted, as you asked."; Priya to Tom: "Could you reply on PR #412?".Priyawrites: replyTomreplies on the PR"Please revert on PR #412.""Reverted, as you asked.""Could you reply on PR #412?"

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

Every step as text
  1. Please revert. Priya has questions about Tom's comments on her pull request, merged this morning. She posts: "Please revert on PR #412." In her office, revert means reply.
  2. Revert, the Git command. To Tom, as to most developers, revert names a Git command: git revert records new commits that reverse the changes of earlier ones. He reads an instruction to undo the change.
  3. The fix is undone. Tom runs git revert on the merge commit of PR #412 and pushes it. The fix that Priya shipped this morning is no longer on main.
  4. Two readings meet. Tom posts "Reverted, as you asked." Priya sees the revert commit, and ten minutes of chat later both see what happened: one word, two meanings.
  5. The exact action. The fix is to name the action: "Could you reply to my questions on PR #412 by 6 PM IST (UTC+5:30)?" Revert stays the word for undoing a change.
  6. One meaning. Tom answers the questions on the pull request, and the fix goes back on main. In a team of developers, keep revert for Git and write reply for answers.

The fix costs one word: write reply when you mean reply, and keep revert for undoing a change. “Could you reply to my questions on PR #412 by 6 PM IST (UTC+5:30)?” leaves one reading.

Three more groups of forms have parts of their own below. A full email from a team in Pune to a client in Ohio shows how these forms add up and how a rewrite keeps every fact. Intimate, doubt, discuss about and revert back are words whose second meaning or extra word surprises readers abroad. Forms of address such as Sir and Ma’am, and mixing languages in chat, depend on who reads, and the same check works for any first language.

Checkpoint

Check: Revert as reply and as undo

  1. Question 1 of 2 Priya posts "Please revert on PR #412", meaning "please reply". What does a reviewer abroad who knows revert only from Git read?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: An instruction to undo the change

    The reviewer reads the Git sense, undo. In the lesson's chat, that reading cost a fix on main. Write reply when you mean reply.

  2. Question 2 of 2 Which message keeps one reading in a team of developers?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Could you reply to my questions on PR #412 by 6 PM IST (UTC+5:30)?

    Write reply when you mean reply, and keep revert for undoing a change.

A Pune email to a client in Ohio, checked and rewritten Pro: opens with a Pro, Premium or Ultimate pass

One email can carry ten of these forms without anyone noticing, because each is normal in the office that wrote it. This part checks a real-sized email, line by line, and rewrites it so that a client in another country reads it once.

In this part:

  • The email, flagged line by line
  • What the rewrite kept, and what it cost

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).

Words with a second meaning abroad: intimate, doubt and doubled forms Pro: opens with a Pro, Premium or Ultimate pass

Some words cause trouble not because readers do not know them, but because they know a different meaning. This part covers the forms whose dictionary meaning surprises readers abroad, and the doubled forms that add a word without adding meaning.

In this part:

  • Intimate: a formal verb next to a personal adjective
  • Doubt: uncertainty, not a question
  • Doubled forms: discuss about, revert back

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).

Sir and Ma'am, mixed languages and your own first language Pro: opens with a Pro, Premium or Ultimate pass

How you greet a reader and which languages you mix depend on the reader even more than vocabulary does. This part gives a way to choose a form of address, a rule for mixed-language chat, and a check that works for any first language.

In this part:

  • Forms of address, chosen by asking
  • Mixed languages: fine with people who share them
  • The same check for any first language
  • Three rules to keep from the parts on the email, second meanings and address

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).

Practise: rewrite an email for a reader abroad

The exercise holds a short email to a client in another country, with the forms of this lesson. Rewrite it until the sample tests pass:

Exercise · Easy · JavaScript

Rewrite an email for a client in another country

email.mjs holds an email from Neha, a developer in Pune, to Mark, a client in Ohio. Rewrite it inside the quotes for him:

  • none of the forms of the lesson's rule pack: discussed about, prepone, do the needful, PFA, intimate you and revert back, and no EOD;
  • the ask stays an ask: a question, or please and a verb, for the test report;
  • a time with its zone for the test report, such as 5 PM Eastern Time on Friday, in the client's own zone;
  • every fact stays: the go-live, Monday, the test report, the deployment plan, the cut-over and Neha;
  • no sentence over 25 words.

Run the sample tests after each sentence. When they pass, read the email as Mark would, and then as Neha's team lead would: is it still respectful and warm?

Starter code · email.mjs

// Rewrite the email for Mark, a client in Ohio. Keep the line breaks of the greeting and the signature, and every
// fact.
export const email =
  'Hi Mark,\n' +
  'As discussed about, we have preponed the go-live to Monday. Kindly do the needful and share the test report by ' +
  'EOD. PFA the deployment plan. I will intimate you once the cut-over starts. Please revert back with your ' +
  'comments.\n' +
  'Regards,\n' +
  'Neha';
The sample tests · email.test.mjs
import { test, assert } from 'mysmartcopilot:test';
import { email } from './email.mjs';

// The lesson's global-reader rule pack, with its rule for a time that has no zone.
const RULES = [
  [/\brevert(?:ing|ed|s)?\b(?! (?:the|this|that|my|your|it|commit|PR|change)\b)/i, 'revert: write reply'],
  [/\bpreponed?\b/i, 'prepone: write moved earlier'],
  [/\bdo the needful\b/i, 'do the needful: write the exact action'],
  [/\bintimate (?:you|me|him|her|them|us)\b/i, 'intimate you: write let you know'],
  [/\bdiscuss(?:ed|ing)? about\b/i, 'discussed about: write discussed or agreed'],
  [/\bPFA\b/, 'PFA: write I have attached'],
  [/\bEOD\b/, 'EOD: give a time and its zone'],
];
const ASK = /\?|\bplease\s+\w+/i;
const TIME_AND_ZONE = /\b\d{1,2}(?::\d{2})?\s?(?:AM|PM)?\s?(?:IST|UTC|GMT|BST|CET|Eastern Time|ET)\b|\bUTC[+-]\d/;
const body = () => email.split('\n').slice(1, -2).join(' ');

test('none of the rule pack forms remain', () => {
  for (const [re, why] of RULES) assert.ok(!re.test(email), `"${email.match(re)?.[0]}": ${why}`);
});

test('the ask for the test report stays an ask, with a time and its zone', () => {
  const sentence = body().split(/(?<=[.!?])\s+/).find((s) => s.includes('test report')) ?? '';
  assert.ok(sentence, 'the email no longer mentions the test report');
  assert.ok(ASK.test(sentence), 'ask for the test report: a question, or please and a verb');
  assert.ok(TIME_AND_ZONE.test(sentence), 'give a time with its zone for the test report');
});

test('every fact stays', () => {
  for (const fact of ['go-live', 'Monday', 'test report', 'deployment plan', 'cut-over', 'Neha']) {
    assert.ok(email.includes(fact), `the email no longer says "${fact}"`);
  }
});

test('no sentence is over 25 words', () => {
  for (const s of body().split(/(?<=[.!?])\s+/)) {
    const n = s.split(/\s+/).filter(Boolean).length;
    assert.ok(n <= 25, `${n} words: "${s}"`);
  }
});
A hint

Start with the ask. "Kindly do the needful and share the test report by EOD" becomes a question with the exact action and a time with its zone: "Could you send us the test report by …?"

The sample tests run on this device, in your browser (QuickJS): nothing is sent to mysmartcopilot.com. The first run downloads JavaScript (about 0.6 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.

Then try the questions on the variety and the revert trap. The session sends you first to the idea your answers so far have found hardest:

Practice that adapts to you

Practise this lesson

5 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 5 What does Oxford's label "Indian English" on prepone tell you?

    Choose one answer.

    Show the answer: Question 1 of 5

    Answer: That the word belongs to Indian English, so readers elsewhere may not know it

    The label tells you who shares the word. Choose by your reader, not by right and wrong.

  2. Question 2 of 5 A channel is shared by your Pune team and two colleagues in Kraków. A teammate writes there: "We will prepone the release." What is the best response?

    Choose one answer.

    Show the answer: Question 2 of 5

    Answer: Write the international form in shared spaces, such as "move the release earlier", and leave the team's own chats as they are

    Indian English is a variety, so the fix is about audience: in shared spaces, write the form every reader knows.

  3. Question 3 of 5 Rewrite for a client abroad: "The build server is down today, kindly adjust."

    Choose one answer.

    Show the answer: Question 3 of 5

    Answer: The build server is down today. Sorry for the delay: builds will run again by 4 PM IST (UTC+5:30).

    Kindly adjust asks the reader to accept a problem. A reader abroad needs what changed, an apology and when it will be fixed.

  4. Question 4 of 5 What does git revert do, according to Git's documentation?

    Choose one answer.

    Show the answer: Question 4 of 5

    Answer: It records new commits that reverse the changes of earlier commits

    git revert records new commits that reverse earlier ones. That is why "please revert" can undo a fix.

  5. Question 5 of 5 Which sentence uses revert safely in a team of developers?

    Choose one answer.

    Show the answer: Question 5 of 5

    Answer: Please revert the change in PR #412: it broke the build.

    Keep revert for undoing a change, as Git uses it, and write reply when you want an answer.

Interview questions

Warm-up (fresher to mid-level): What can “Please revert” mean, and why is it risky in a team of developers?

It can mean two things. Oxford’s learner’s dictionary lists revert meaning reply as especially Indian English and rather formal, so in many Indian offices “Please revert” means “please reply”. To developers everywhere, revert also names a Git command: git revert records new commits that undo earlier ones. A colleague abroad can read “Please revert on the PR” as an instruction to undo the change. Write reply when you mean reply, and keep revert for undoing a change.

Three longer questions about Indian English at work wait in this module’s bank:

  1. Fresher to mid

    A teammate's first email to a new client in Ohio says: "Dear Sir, kindly do the needful and revert by EOD. PFA the logs." Your lead asks you to fix it before it goes. What do you change, and how do you explain it to your teammate?

    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

    A colleague abroad ran git revert on a merged fix after a message said "please revert on the PR", which the writer meant as "please reply". The fix was off main for two hours. You are asked to stop this happening again. What do you propose?

    Model answer, Pro. First step and follow-ups

  3. Senior to staff

    Your company is writing one style guide for engineering teams in India and the US. You are asked to write the entry on Indian English forms. What goes into it, and how do you keep it respectful?

    Model answer, Pro. First step and follow-ups

Key takeaways

  • Indian English is a variety with its own words; adapt them to your reader, not because they are wrong.
  • Write the international word for a reader abroad: reply for revert, move earlier for prepone, the exact action for do the needful.
  • Keep revert for undoing a change: in a team of developers, “Please revert on the PR” can undo a fix.

Terms in this lesson

code-switching
Moving between two languages, or two varieties, in one conversation or message, such as mixing Hindi and English in a team chat.
variety (of a language)
A form of a language used in one country or by one community, with its own words, spellings and grammar, such as Indian, British or American English. No variety is a mistake.

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.