Fix the Grammar Mistakes in Your Commits and Slack Messages
You write code that compiles, passes tests, and ships. Then you type “we are making so much mistake in the checkout flow” into Slack, and a small part of your credibility quietly leaks away.
It isn’t that your teammates judge you for it. It’s that fuzzy writing makes your great work harder to read, harder to search, and harder to trust. The good news: the handful of grammar slips developers make are predictable, and once you can spot them, you can fix them on autopilot.
This is the capstone of the Developer English course. One workout that mixes every rule into real commits, pull requests, and standup messages, so the rules finally stick instead of fading after each separate lesson.
Why this matters
Your commits live forever. Six months from now, someone bisecting a bug will read your message at 2 a.m. and either thank you or curse you.
Writing isn’t decoration on top of engineering. It is engineering. A pull request description, a commit subject, a standup update, these are all interfaces other humans depend on.
The mistakes below are tiny in isolation. But they pile up, and they’re the difference between “this person communicates clearly” and “I have to decode everything they send.” You already do the hard part. This is the cheap part.
The mistakes developers actually make
Most grammar guides drown you in rules. You only need a short list, because the same slips show up again and again in technical writing. Here is the whole map.
| The slip | The one thing to remember |
|---|---|
| Dropping articles | ”Open a pull request,” not “open pull request.” |
| Much vs many | many + countable (“many bugs”); much + uncountable (“much progress”). |
| Subject-verb agreement | ”The test passes,” “the tests pass.” |
| Tenses | ”I fixed it” (done), “I have fixed it” (done, still relevant), “I’m fixing it” (now). |
| its vs it’s | its = belonging to it; it’s = it is. |
| Prepositions | ”merge into main,” “depends on the API,” “blocked by the migration.” |
| Run-on sentences | Two complete thoughts need a full stop, a semicolon, or a comma + and/but. |
| Confused words | their/there/they’re, then/than, affect/effect, lose/loose. |
| Spelling | grammar, research, separate, receive, occurred, definitely. |
| Texting leak | No “u,” “ur,” “thx” in professional writing. Write it out. |
Keep that table nearby. Everything below is just practice applying it.
How to practice (the drills)
This is mostly a workout, not a lecture. Below are mixed exercises, then a full answer key with one-line explanations.
Three rules make this actually work:
- Don’t peek at the answers until you’ve tried the whole set.
- Write your fix out in full. Don’t just think “yeah, I know that one.” The point is to train your fingers, because you write commits and Slack messages on autopilot, and autopilot is exactly where mistakes slip through.
- Note which topics you missed most, then re-read that one lesson.
Grab a scratch file or a pen. Start now, then check yourself.
Part A: Fix the sentence
Each line has one or more errors. Rewrite it correctly.
i pushed the fix to ur branch can u review itwe are making so much mistake in the checkout flowthe migration are still running, it has not finished yetplease open pull request against main branchi did a lot of reaseach on grammer before writing this docthe API return 500 when the cart is empty we should add a guardyour right, the cache key was wrong its fixed nowthere is to many open tickets in the backlog this sprintthe deploy effected all tenants because the config was sharedi think this approach is more better then the old one
Part B: Fill the blank
Choose the right word and write the full sentence.
- The pricing service depends ______ the tenant context being initialized first. (on / from / to)
- We merged the hotfix ______ main and tagged a release. (into / in / to)
- There ______ three failing tests in the payment suite right now. (is / are)
- ______ the queue worker still running, or did it crash? (Is / Are)
- I’ve reviewed the PR; ______ ready to merge once CI passes. (its / it’s)
- Please update ______ local
.envbefore running the seeder. (your / you’re) - We didn’t have ______ time to write tests for the edge cases. (much / many)
- There were ______ duplicate rows after the bad import. (much / many)
- The bug only appears ______ the user has more than one address. (then / when)
- This fix is faster ______ the previous one by about 40 ms. (then / than)
Part C: Choose A or B
- (A) “The endpoint returns it’s payload as JSON.” (B) “The endpoint returns its payload as JSON.”
- (A) “Each tenant have their own subdomain.” (B) “Each tenant has its own subdomain.”
- (A) “I have already deployed it yesterday.” (B) “I deployed it yesterday.”
- (A) “We need to separate the read and write paths.” (B) “We need to seperate the read and write paths.”
Part D: Clean up the messy dev message
Rewrite each so a teammate could read it without effort.
-
A run-on Slack standup:
yesterday i worked on the cart bug today i am doing the checkout flow i found so much issue in the validation also the API is slow we should look at it tmrw can u help -
A sloppy commit message:
fixed stuff in pricing also some other thing, broke the test but its fine i think will fix latter -
A confusing PR description:
this PR change the order service so it dont crash when address is missing i also did some refactor and remove dead code there is still much bug but this is good for now plz review -
The line that started this whole course:
can u do reaseach on grammer for me and teach me i already know but as of now i am making so much mistake
Common misconceptions
A few beliefs keep developers stuck. Let’s clear them up.
- “Good code speaks for itself, so writing doesn’t matter.” Code speaks to compilers. Your commit message and PR speak to humans, and humans decide whether to trust, merge, and build on your work.
- “Each tenant feels like many, so I should say ‘each tenant have.’” “Each” is always singular, no matter how many things it scans across. It’s “each tenant has its own subdomain.”
- “More better is more emphatic.” It’s doubled up. “Better” already means “more good.” Just say better.
- “‘It’s’ looks like possession, like the dog’s bowl.” Apostrophes usually mean possession, but its is the one exception you have to memorize. it’s only ever means “it is” or “it has.”
The answer key
Try the drills before reading on. Here’s how each one resolves, with the reason in one line.
Part A
- “I pushed the fix to your branch. Can you review it?” Capital I, “your” not “ur,” “you” not “u,” split into two sentences, and a question ends with ?.
- “We are making so many mistakes in the checkout flow.” “Mistake” is countable, so many + plural mistakes. This is the signature slip.
- “The migration is still running; it hasn’t finished yet.” “Migration” is singular, so is. Two complete thoughts need a semicolon or full stop, not a lone comma.
- “Please open a pull request against the main branch.” Add a before “pull request” and the before “main branch.” Dropped articles are easy to miss.
- “I did a lot of research on grammar before writing this doc.” Capital I, “research” (not “reaseach”), “grammar” (not “grammer”). Memorize both, they show up constantly.
- “The API returns a 500 when the cart is empty. We should add a guard.” “The API” is singular, so returns; add a before “500”; split the run-on.
- “You’re right. The cache key was wrong; it’s fixed now.” “You’re” = “you are”; “it’s” = “it is.” New sentence after “right.”
- “There are too many open tickets in the backlog this sprint.” “Tickets” is plural, so are; too (excessive), not “to”; many with countable tickets.
- “The deploy affected all tenants because the config was shared.” affected (verb), not “effected.” Remember: affect = action, effect = result.
- “I think this approach is better than the old one.” “More better” is doubled, just better; than for comparison, not “then.”
Part B
- on - “depends on something.” A fixed pairing.
- into - you merge changes into a branch (movement toward a target).
- are - “three failing tests” is plural.
- Is - “the queue worker” is singular; capital at the start of the sentence.
- it’s - “it’s ready” = “it is ready.”
- your - possessive: the
.envbelonging to you. - much - “time” is uncountable.
- many - “rows” is countable.
- when - the bug appears when a condition is met. (“then” = next/after.)
- than - comparisons use than.
Part C
- B - “its payload” (belonging to it). “it’s” would mean “it is payload,” which is nonsense.
- B - “Each tenant” is singular, so has + its.
- B - “yesterday” is a finished time, so use simple past deployed. Don’t mix “already… yesterday.”
- A - separate is correct. Mnemonic: there’s a rat in separate.
Part D
- The standup, cleaned up:
Yesterday I worked on the cart bug. Today I’m on the checkout flow. I found many issues in the validation. The API is also slow, we should look at it tomorrow. Can you help?
Full stops between thoughts, many issues not “so much issue,” “tomorrow” not “tmrw,” and a real ?.
- The commit message, cleaned up:
Fix pricing rounding bug; also adjust the tier lookup. One test is failing, will fix in a follow-up.
Say what you fixed instead of “stuff,” so the log is searchable. Note “latter” means the second of two things; you wanted later (afterward). A good commit subject is imperative (“Fix…”, “Add…”), short, and specific.
- The PR description, cleaned up:
This PR changes the order service so it doesn’t crash when the address is missing. I also refactored and removed some dead code. There are still a few known bugs, but this is a good checkpoint. Please review.
“PR changes” (singular subject), “doesn’t” not “dont,” add the before “address,” and a few bugs (countable), not “much bug.”
- The original line, corrected:
Can you do research on grammar for me and teach me? I already know it, but right now I’m making so many mistakes.
It’s a request, so it ends with ?; “I already know” needs an object (“know it”); and so many mistakes instead of “so much mistake.” When you can count it, use many and add the -s.
How to use this every day
You don’t need to memorize all twenty-eight drills. You need three habits that catch most slips before you hit send.
- End every sentence with a full stop. This single move breaks up almost every run-on you’d otherwise write.
- Capitalize “I,” always. No exceptions, no thinking required.
- Count it before you choose much vs many. If you can put a number in front of it, use many and add the -s.
Then add one slower habit:
- Reread before you send. One pass over a commit, PR, or Slack message catches the obvious ones. It costs ten seconds and saves your teammates real effort.
Bookmark this file and redo the drills in a week. If you score the same set clean twice, the rules have stuck.
Conclusion
Here’s the one takeaway: clear writing is not a soft skill bolted onto engineering. It is the interface your teammates actually touch, and the cheapest credibility you’ll ever buy.
The fix isn’t becoming a grammar expert. It’s catching the same five or six slips on autopilot, the way you already catch a missing semicolon.
And once your sentences are clean, a bigger question opens up: not just correct writing, but persuasive writing. How do you frame a PR so reviewers say yes? How do you write a design doc that gets buy-in before the meeting even starts? That’s where good grammar stops being defense and starts being leverage.
Frequently asked questions
What is the difference between much and many?
Use 'many' with things you can count, like bugs or tests ('many bugs'). Use 'much' with things you can't count, like progress or time ('much progress'). If you can add an -s and a number, it's 'many'.
Is it 'its' or 'it's'?
'It's' is short for 'it is' or 'it has'. 'Its' shows possession, like 'the service returns its payload'. If you can swap in 'it is' and the sentence still makes sense, use 'it's'.
When should I use 'affect' versus 'effect'?
'Affect' is usually the action verb: 'the deploy affected all tenants'. 'Effect' is usually the result noun: 'the change had a big effect'. Quick rule: affect = action, effect = result.
Why does grammar matter in commit messages and pull requests?
Clear writing makes your work searchable and your intent obvious. Teammates skim dozens of messages a day, so a clean, specific sentence saves them effort and earns trust faster than clever code alone.
What is a run-on sentence and how do I fix it?
A run-on jams two complete thoughts together with no proper break. Fix it with a full stop, a semicolon, or a comma plus 'and' or 'but'. For example: 'The API is slow. We should look at it.'
How do I stop confusing 'then' and 'than'?
'Than' is for comparisons: 'faster than before'. 'Then' is about time or sequence: 'fix it, then deploy'. If you're comparing two things, it's always 'than'.