Practice English for software developers
Remote tech work runs on spoken English: the daily stand-up, the code review call, the design discussion, the technical interview. You may write English all day and still freeze when you have to speak it on a call.
Airi role-plays your team so you can rehearse the moments that matter: giving a crisp stand-up update, explaining a technical decision, disagreeing about an approach, or answering interview questions out loud. Practice the phrases engineers actually use until speaking on calls is as comfortable as writing code.
A quick example with Airi
The calls a software developer has to handle in English
Beyond the daily stand-up, four kinds of calls come up again and again in a developer's week, and each one asks for a different speaking skill. Prepare one line for each, using your own project.
| Call | What it tests | A line that works |
|---|---|---|
| Pull request walkthrough | Summarizing a change before the details | This PR adds rate limiting to the login endpoint. The main change is in the middleware, and the rest is tests. |
| Design discussion | Giving a reason and a trade-off | I went with a queue instead of a cron job because we need retries. The trade-off is one more service to maintain. |
| Sprint planning | Estimating without overpromising | My rough estimate is three days, assuming the API contract doesn't change. |
| Incident call | Reporting facts fast and in order | Checkout started failing at 9:40, right after the deploy. I'm rolling it back now. |
How to say code, symbols and commands out loud in English
Pairing or debugging on a call means reading code aloud. These are the usual spoken names for what is on your screen. Where two names are given, you will hear both.
| You see | You say | On a call |
|---|---|---|
| user_id | user underscore I D | It's stored as user underscore I D, all lowercase. |
| --verbose | dash dash verbose | Run it again with dash dash verbose. |
| /config/.env | slash config slash dot env | The key goes in the dot env file. |
| ( ) [ ] { } | parentheses (or round brackets), square brackets, curly braces (or curly brackets) | You're missing a closing curly brace on line forty. |
| == and === | double equals, triple equals | Use triple equals there so the types have to match. |
| # and | | hash (also "pound" in the US), pipe | Pipe the output into grep. |
| \ ` ~ | backslash, backtick, tilde | Wrap the column name in backticks. |
| getUserById, get_user_by_id | camel case, snake case | We use snake case in Python and camel case in JavaScript. |
A few names have a documented pronunciation. The nginx site introduces the server as "engine x". The YAML specification says the name rhymes with "camel". The PostgreSQL project's FAQ gives "Post-Gres-Q-L" and calls "Postgres" a widely used nickname. And "cache" is pronounced like "cash".
Phrases for code reviews, pairing and incident calls
Google's public guide to writing code review comments asks reviewers to be kind, to explain their reasoning, and to comment on the code, never on the developer. On a call, one easy way to follow that advice is to give your reason and then ask a question.
| When you need to | Say |
|---|---|
| Suggest a change | What do you think about pulling this out into a helper function? |
| Flag a small point | This is just a nit, but could we give this variable a clearer name? |
| Push back on a comment | I see your point. I'd still keep it as is, because the alternative adds a new dependency. |
| Ask a pairing partner to go back | Could you scroll back up to that function? I want to make sure I follow. |
| Think out loud while debugging | My guess is the token expires before the retry. Let me add a log line to confirm. |
| Say you can't reproduce a bug | I can't reproduce it on my end. Which browser and version are you using? |
| Admit what you don't know yet in an incident | We don't know the root cause yet. I'll give another update in fifteen minutes. |
Thinking out loud in a technical interview in English
An interviewer cannot follow reasoning that stays in your head. Have a line ready for each of these moments.
- Clarify first. "Before I start, can I assume the input fits in memory?"
- Say the plan. "I'll start with the brute-force version and then look for something faster."
- Narrate as you code. "I'm using a hash map here so that lookups are constant time on average."
- Test out loud. "Let me walk through a small example, and then check the empty case."
Mistakes developers make when they speak English at work
| Instead of | Say | Why |
|---|---|---|
| I pushed the codes to the repo. | I pushed the code to the repo. | When it means program text, "code" is uncountable, like "software" and "feedback". The plural is for things you can count: error codes, status codes. |
| I resetted the cache, and it still throwed an error. | I reset the cache, and it still threw an error. | Several everyday developer verbs are irregular. "Reset", "set" and "split" stay the same in the past tense; "run" and "throw" become "ran" and "threw". |
| How to fix this? | How do I fix this? | "How to fix this" works as a heading, not as a question. A direct question needs a subject and an auxiliary verb: "How do I…?", "How can we…?" |
| I have deployed it yesterday. | I deployed it yesterday. | A finished time such as "yesterday" or "last sprint" takes the simple past. |
| It's not working. | The export times out after thirty seconds on large files. | The grammar is fine, but nobody can act on it. Give specifics: what you did, what you expected, and what happened instead. |
An eight-minute developer rehearsal with Airi
The free credits cover about eight minutes of speaking, enough for one quick pass through the steps below. Use your real ticket and your real stack.
- Set the scene: "You're my tech lead. I'm going to walk you through a pull request. Ask me one question about it." Describe a real change in three sentences: what it does, where the main change is, and what the rest is.
- Ask for pushback: "Now disagree with my approach." Answer with one reason and one trade-off.
- Read code aloud: "I'll read you one line of code, symbol by symbol. Then tell me what you think it does." Name every underscore, dot and bracket.
- Switch to an incident: "Now you're the on-call lead. Something I deployed is failing in production. Ask me for an update." Say what is failing, when it started, and what you are doing about it.
- When she shows a small fix, treat it like a review comment: say the corrected sentence once, then move on.
How to get the most from it
Nail the stand-up
What you did, what's next, any blockers. Rehearse it until it's three clean sentences.
Explain your decisions
Practice justifying a technical choice out loud — key for reviews and interviews.
Do a mock tech interview
Ask Airi to interview you for a role and explain your answers by talking, not typing.
Start speaking today
Your first 600 credits are free — no credit card. Sign in and have your first conversation with Airi.
Start free with GoogleFrequently asked questions
Can Airi do a technical mock interview?
Does she understand technical terms?
Is it good for remote-work English?
How do I disagree in a code review without sounding rude?
Is SQL pronounced "sequel" or "S-Q-L"?
What should I say when I get stuck in a technical interview?
Last updated: