English for IT: How to Write Bug Reports, Code Reviews and Emails

October 2026  ·  6 min read

Short answer: Good written English at work is short, structured and polite. Use a fixed template for bug reports (summary, steps, expected, actual, environment), explain the “why” in pull request descriptions, phrase code review comments as suggestions or questions, and put the main point in the first line of every email or message.

Most of your English at work is written: tickets, pull requests, review comments, Slack messages and emails. Writing is also where non-native speakers have the biggest advantage, because you can take your time and use templates. Below are templates you can copy, before-and-after rewrites, and the grammar mistakes that show up most often in developer writing.

1. Bug Reports and Tickets

A bug report has one job: let someone else reproduce the problem without asking you questions. Use the same structure every time.

Template:

Before: “Login not working!!! Please fix urgent.”

After:

Notice the tone: no capital letters, no exclamation marks. If something is urgent, say why: “This blocks the release on Thursday.”

2. Pull Request Descriptions

The code shows what changed. Your description should explain why and tell the reviewer where to look.

Template:

Before: “fixed bug”

After: “Encode the email parameter before calling the auth API. Fixes LOGIN-482: users with a ‘+’ in their email got a 500 error. I used the standard encoder instead of a custom regex. Added unit tests for ‘+’, ‘%’ and spaces. The change in auth/client.ts is the important one; the rest is renaming.”

3. Code Review Comments

In review, direct translations from Russian, Turkish or Portuguese often sound like orders. English reviewers usually soften comments and make clear how important each one is.

TypeSounds harshSounds professional
Request (must fix)This is wrong. Change it.This will fail if the list is empty. Could you add a check?
SuggestionUse a map here.What do you think about using a map here? It would avoid the nested loop.
QuestionWhy did you do this?I’m curious why you chose a separate service here. Is it for scaling?
Nit (optional)Bad name.Nit: maybe userCount instead of cnt? Not blocking.
Praise(nothing)Nice, this is much easier to read now.

Useful labels many teams use: “Nit:” (tiny, optional), “Optional:”, “Question:” (not a request), “Blocking:” (must fix before merge). They save the author from guessing.

Replying to review comments:

Try it free: Want to know how your workplace writing compares? The English for IT test includes ticket, review and email situations and takes about 7 minutes. Take the free English for IT test →

4. Status Update Emails

Busy managers read the first two lines. Put the status there, then details.

Template:

Example: “Subject: Payments migration status, 14 Oct: at risk. Hi all, the migration is about two days behind because the sandbox API was down on Monday. Done: data mapping and tests for card payments. Next: refunds, then load testing. Blocker: we need production API keys from the finance team by Thursday to keep the release date.”

5. Asking for Help

Show what you have already tried. People help faster when the question is easy to answer.

Before: “Hi” (then waiting) … “Docker not working, can you help?”

After: “Hi Tom, quick question about the local setup. docker compose up fails with ‘port 5432 already in use’. I’ve stopped my local Postgres and restarted Docker, but the error is still there. Have you seen this before? No rush, any time today is fine.”

Write the whole question in one message. A lone “Hi” makes the other person wait for the real question.

6. Declining or Pushing Back on Scope

Saying “no” directly can sound rude in English. Saying “yes” to everything is worse. The pattern is: acknowledge, explain the constraint, offer an option.

Avoid “It is impossible” and “This is not my task”. Both are direct translations that sound much stronger in English than intended.

7. Common Grammar Mistakes in Developer Writing

Need the vocabulary behind these templates? See technical English vocabulary for developers. For spoken situations, read English for stand-ups and IT meetings. Derstina’s English for IT courses include lessons on exactly these tasks (tickets, code reviews, documentation and emails) at every level from A1 to C2.

Frequently Asked Questions

How do I write a good bug report in English?

Use a fixed structure: a clear title, numbered steps to reproduce, the expected result, the actual result with exact error text, and the environment. Keep sentences short and neutral, and if the bug is urgent, explain the impact instead of using capital letters or exclamation marks.

How do I write polite code review comments?

Describe the problem, not the person, and phrase changes as questions or suggestions, such as “Could you add a check here?” Label comments as “Nit”, “Optional”, “Question” or “Blocking” so the author knows what must change before merging.

What does “nit” mean in code review?

“Nit”, short for “nitpick”, marks a very small, optional comment, such as a variable name or formatting. The author can fix it or ignore it, and it should not block the merge.

Should commit messages be in the past tense?

Most teams use the imperative mood, for example “Fix null check in parser”, because it describes what the commit does when applied. Follow your team’s convention if it is different.

How do I say “no” to extra work politely in English?

Acknowledge the request, explain the constraint, and offer an option. For example: “I understand why this matters, but with the current deadline I can’t add it without dropping another feature. Which one should I prioritise?”

Check your English for IT level in 7 minutes

See how your English handles real tickets, code reviews and emails. 14 questions, free, with no signup to see your result. Test instructions are also available in Russian and Kazakh.

Take the free English for IT test →