Common MistakesVocabulary#mistakes#collocations#accuracy
Common Collocation Mistakes
5 exercises on the collocation errors non-native speakers make most often in technical English — fix these and sound immediately more fluent.
The "do / make" trap — remember these rules
X "do code" → write code (you write code, like text)
X "make a build" → run a build (you run automated processes)
X "install a bug" → introduce a bug (bugs are introduced, not installed)
X "do a meeting" → have / hold a meeting
✓ "make a commit" is correct — commits are objects you create
0 / 5 completed
1 / 5
A non-native speaker says: "I spent all afternoon doing code for the new dashboard."
A native English speaker would say:
"Write code" — the universal collocation for the act of programming:
This is one of the most common collocation mistakes for non-native English speakers. In English, you write code — not "do" code, "make" code, or "produce" code. The verb "write" applies even though you're creating software, not prose.
Why "write"? Early computing was closely tied to writing — writing programs in assembly, writing to punch cards, writing scripts. The metaphor stuck: "write a function", "write a class", "write a test", "write a script".
Correct collocations with "write":
write code / a function / a class / a module / a test / a script / documentation
write a commit message / a PR description / a spec
Other "do / make" mistakes to avoid:
X "do a test" → write a test (create) or run a test (execute)
X "make a function" → write a function
X "do programming" → write code / program / develop
2 / 5
A developer writes in a Slack message: "The CI is failing — can someone make a build locally to check if it's an environment issue?"
What is the correct collocation?
"Run a build" — not "make a build":
You run a build (execute the build process), not "make" one. "Make a build" sounds like you're constructing it manually. "Run a build" triggers the automated compilation, bundling, and packaging pipeline.
Build vocabulary — correct collocations:
run a build → execute the build process
trigger a build → cause it to start (especially remotely/automatically): "Push to trigger a build"
kick off a build → informal: "kick off a fresh build"
a build passes / succeeds → green
a build fails / breaks → red
a broken build → a build that is failing
a clean build → from scratch, no cached artifacts
Make vs run distinction across IT:
"Make a build" ✗ → "Run a build" ✓
"Make a deploy" ✗ → "Run a deployment" / "trigger a deploy" ✓
"Make a test" ✗ → "Write a test" (create) or "run a test" (execute) ✓
3 / 5
A team lead says in a retro: "The recent refactor installed a regression in the checkout flow — we didn't have sufficient test coverage."
What is the correct collocation?
"Introduce a regression" — the only natural collocation here:
When a code change accidentally causes a bug, we say the change introduced a bug, defect, or regression. The metaphor is of introducing something foreign into the codebase — like introducing a pathogen. "Install a bug" is a mistake; "install" applies to software packages, not defects.
Bug-introduction collocations:
introduce a bug / regression / defect / vulnerability → the standard verb
cause a regression → also correct but less specific
break something → informal: "The refactor broke the checkout"
Common non-native mistakes with bugs:
X "install a bug" → introduce a bug ✓
X "create a bug" → introduce a bug ✓ (though "create" is occasionally used)
X "produce a bug" → introduce / cause a bug ✓
Note: "create a bug" is occasionally used colloquially but is not the standard professional term. "Introduce a regression" is universally understood and accepted in post-mortems and code reviews.
4 / 5
A project manager says: "We need to do a meeting this week to align on the Q3 roadmap."
A native English speaker would say:
"Have a meeting" — the standard English collocation:
In English, you have a meeting (participate in it) or hold a meeting (organise/host it). "Do a meeting" is a very common mistake among non-native speakers, especially those whose first language uses the equivalent of "do" for meetings (e.g., French "faire une réunion", Ukrainian "провести зустріч").
Meeting collocations:
have a meeting → standard: "We're having a standup at 10"
hold a meeting → more formal, implies you're organising it: "Hold a retrospective"
run a meeting → facilitate/lead it: "Who's running today's standup?"
schedule a meeting → set up the time: "Schedule a meeting with the stakeholders"
attend a meeting → be present at it
skip / miss a meeting → not attend
cancel / postpone a meeting → administrative actions
Standup-specific vocabulary: "Run the standup", "host the standup", "facilitate the retrospective" — the person organising always "runs" or "hosts"; participants "attend" or "join".
5 / 5
A developer says: "I need to make a commit before I switch branches — I don't want to lose these changes."
Which collocation is most natural in this context?
"Make a commit" — actually correct here, but let's explore the full picture:
Unlike the other examples in this exercise, "make a commit" is genuinely correct and widely used. It sits alongside "create a commit" and the command-based "commit your changes." This is one of the cases where "make" works because a commit is a named object (a snapshot) that you create.
Git action vocabulary:
make a commit / create a commit → both correct; "make a commit" is more conversational
commit your changes → verb form: git commit -m "message"
stage / add changes → prepare for commit: git add
push commits → upload to remote: git push
amend a commit → modify the most recent commit: git commit --amend