5 exercises — third conditionals, mixed conditionals, and formal inversion in postmortems and root cause analysis.
Key patterns:
If + past perfect, would have + past participle — standard third conditional
Had + subject + past participle, ... would have... — formal inversion (no if)
If + past perfect, would + infinitive — mixed conditional (past → present result)
Could/might have been avoided if... — unrealised past possibility
0 / 23 completed
1 / 23
A postmortem describes a missed monitoring gap. Which sentence uses the third conditional correctly to express what would have happened had the monitoring been in place?
The third conditional (if + past perfect, would have + past participle) is used for counterfactual situations in the past — things that did not happen. Option A is a first conditional (real future possibility). Option C incorrectly uses would have in the if-clause — a very common error. Option D is a second conditional (hypothetical present). Related patterns: "Had we... we would have..." (formal inversion), "this could have been avoided if...".
2 / 23
A senior engineer writes a root cause analysis. Which sentence correctly uses formal inversion in place of the third conditional?
"Had + subject + past participle" is the formal inverted form of the third conditional. It omits if and moves the auxiliary had to the front — a structure common in formal postmortems, legal risk assessments, and executive incident summaries. Option C uses second conditional inversion (hypothetical present). Option D is a first conditional inversion (future possibility). Related patterns: "Had we deployed the patch earlier...", "Had monitoring been enabled...".
3 / 23
An architecture review document contains this sentence: "If we had chosen a monolithic architecture, scaling horizontally _____ significantly more difficult." Choose the correct form:
"Would have been" completes the third conditional correctly here. The if-clause uses past perfect (had chosen) because it refers to a decision that was made in the past and did not happen as described. The result clause therefore requires would have + past participle. Option A (would be) is a mixed conditional — it could work if the result were present, but significantly more difficult describes the historical outcome. Option D is also plausible but been is more natural here.
4 / 23
A mixed conditional is needed: the condition is in the past, but the consequence is present. Which sentence is grammatically correct?
A mixed conditional combines a past condition (if + past perfect) with a present result (would + infinitive). Option A is correct: we did not write tests in the past (past perfect if-clause), and as a result we cannot catch regressions now (would catch — present modal). Option B uses a third conditional result clause, implying the consequence is also historical. Option C is a second conditional (hypothetical present). Related patterns: "Had we invested in observability, we would have visibility into this now."
5 / 23
A retrospective action item reads: "The outage _____ have been avoided if the runbook had included a rollback procedure." Which modal fits the counterfactual correctly?
"Could have been avoided" expresses a past possibility that was not realised — the runbook did not include a rollback procedure, so the outage was not avoided. Could have is the correct modal perfect for unrealised ability or possibility in counterfactual analysis. Should have would imply that avoiding the outage was an obligation; must have would express logical deduction about the past; will have is future perfect. Related patterns: "This might have been prevented if...", "The failure would have been caught had the alerts been configured."
6 / 23
Sarah (Lead DevOps) posted this comment on a code review for the new authentication service:
"I'm concerned about the lack of retry logic. If we'd implemented it during the initial design phase, we wouldn't be seeing these intermittent connection failures. It seems like a missed opportunity."
This question tests the accurate use of the third conditional in a realistic code review scenario. The key here is that the condition – implementing retry logic – *would have* prevented the failures. Option A uses the most precise phrasing for this counterfactual situation, avoiding conversational over-simplification. Options B and D are grammatically awkward.
7 / 23
David (Release Manager) drafts a pull request description:
'The deployment failed due to an unexpected dependency conflict. If the automated testing suite had included integration tests covering this specific scenario, we would have caught it before pushing to production.'
This examines counterfactual language within a PR description. Option 3 correctly uses the third conditional to express what *would* have occurred under different circumstances—the presence of specific tests. It's important to distinguish between stating a desired action (Option B) and describing a potential past outcome.
8 / 23
Elena (Software Architect) is discussing a design decision with her team:
'We could have avoided this complex routing logic if we'd adopted a microservices architecture from the outset.'
This focuses on the impact of a past decision. Option 1 is the most grammatically accurate and natural way to express this counterfactual consequence in a design discussion. The other options introduce unnecessary conversational elements or misinterpret the conditional's purpose.
9 / 23
Sarah (Lead DevOps) posted this comment on a code review for the new authentication service:
"I'm concerned about the lack of retry logic. If we'd implemented it during the initial design phase, we wouldn't be seeing these intermittent connection failures. It seems like a missed opportunity."
This question tests the accurate use of the third conditional in a realistic code review scenario. The key here is that the condition – implementing retry logic – *would have* prevented the failures. Option A uses the most precise phrasing for this counterfactual situation, avoiding conversational over-simplification. Options B and D are grammatically awkward.
10 / 23
David (Release Manager) drafts a pull request description:
'The deployment failed due to an unexpected dependency conflict. If the automated testing suite had included integration tests covering this specific scenario, we would have caught it before pushing to production.'
This examines counterfactual language within a PR description. Option 3 correctly uses the third conditional to express what *would* have occurred under different circumstances—the presence of specific tests. It's important to distinguish between stating a desired action (Option B) and describing a potential past outcome.
11 / 23
Elena (Software Architect) is discussing a design decision with her team:
'We could have avoided this complex routing logic if we'd adopted a microservices architecture from the outset.'
This focuses on the impact of a past decision. Option 1 is the most grammatically accurate and natural way to express this counterfactual consequence in a design discussion. The other options introduce unnecessary conversational elements or misinterpret the conditional's purpose.
12 / 23
Sarah (Lead DevOps) posted this comment on a code review for the new authentication service:
"I'm concerned about the lack of retry logic. If we'd implemented it during the initial design phase, we wouldn't be seeing these intermittent connection failures. It seems like a missed opportunity."
This question tests the accurate use of the third conditional in a realistic code review scenario. The key here is that the condition – implementing retry logic – *would have* prevented the failures. Option A uses the most precise phrasing for this counterfactual situation, avoiding conversational over-simplification. Options B and D are grammatically awkward.
13 / 23
David (Release Manager) drafts a pull request description:
'The deployment failed due to an unexpected dependency conflict. If the automated testing suite had included integration tests covering this specific scenario, we would have caught it before pushing to production.'
This examines counterfactual language within a PR description. Option 3 correctly uses the third conditional to express what *would* have occurred under different circumstances—the presence of specific tests. It's important to distinguish between stating a desired action (Option B) and describing a potential past outcome.
14 / 23
Elena (Software Architect) is discussing a design decision with her team:
'We could have avoided this complex routing logic if we'd adopted a microservices architecture from the outset.'
This focuses on the impact of a past decision. Option 1 is the most grammatically accurate and natural way to express this counterfactual consequence in a design discussion. The other options introduce unnecessary conversational elements or misinterpret the conditional's purpose.
15 / 23
During a Slack discussion about a recent deployment failure, Alex says: 'If we'd run more automated tests before pushing to production, this rollback wouldn't have been necessary.' Considering the context, which sentence accurately uses counterfactual grammar?
This question focuses on correct sentence structure. Option 0 is the most precise and natural way to express this counterfactual statement using third conditional inversion. Options 1 & 2 are grammatically awkward or misinterpret the cause-and-effect relationship. Option 3 is a redundant phrasing.
16 / 23
A code review comment reads: 'If we'd used a more robust error handling strategy during development, this exception wouldn't have propagated to the user interface.' Which option best demonstrates the correct usage of counterfactual conditional?
This question tests understanding of the core function of counterfactual conditionals – expressing what *would* have happened given a different past condition. Option 2 accurately employs inversion to express this hypothetical scenario. Options 1 & 3 are rephrased statements while option 4 is redundant.
17 / 23
In a standup update, Sarah states: 'If we'd prioritized performance testing earlier in the sprint, we wouldn't be facing these latency issues now.' Which sentence correctly uses counterfactual grammar to express this regret?
This question emphasizes natural language use. Option 3 is the most idiomatic and fluent way to express this regret using third conditional inversion. The other options are either overly formal or slightly awkward in phrasing. It highlights that counterfactuals don't always need rigid grammatical structures.
18 / 23
David (Release Manager) writes a PR description: 'The service degraded due to insufficient memory allocation. If we'd implemented circuit breakers, this cascading failure wouldn't have occurred.' Which statement correctly utilizes counterfactual grammar in the context of system resilience?
This question focuses on applying counterfactuals to a common system design concern – fault tolerance. Option 2 correctly uses inversion to express that implementing circuit breakers *would* have prevented the negative outcome (the cascade). It's a crucial element of discussing potential improvements in a technical context.
19 / 23
Mark (SRE) sent this message to the on-call team after a database outage:
'If we'd implemented proper monitoring for query execution times, we would have detected this slow query before it impacted users.' Which modal verb best completes this counterfactual statement?
The sentence describes a past action (lack of monitoring) and its present consequence (outage). 'Would' is the correct modal verb to express this. 'Should' implies obligation, 'could' suggests possibility, and 'might' indicates uncertainty – none fit the context of a known missed opportunity. This construction focuses on what *would* have happened if a different action had been taken.
20 / 23
During a post-mortem discussion about a failed deployment, John (Developer) said: 'If we'd run the integration tests against our staging environment before merging, this issue wouldn't have surfaced.' Which of the following best completes the sentence using counterfactual language?
This scenario requires a past action (not running integration tests) and its effect on the present situation (the issue surfacing). 'We had' is the correct auxiliary verb to use in this type of counterfactual statement. 'We would' implies speculation, 'we should' indicates a recommendation, and 'we could' suggests potential ability – all are inappropriate here.
21 / 23
A code review comment reads: 'If the API had implemented rate limiting, we wouldn't have experienced this DDoS attack.' What is the primary function of the 'if' clause in this statement?
The 'if' clause introduces a counterfactual condition – a situation that *didn't* happen but is being considered. It describes what the outcome *would have been* if something had been different. The other options misinterpret the purpose of this type of conditional sentence.
22 / 23
Elena (Lead Architect) is explaining a design decision to her team:
'If we'd utilized a message queue for asynchronous processing, this bottleneck wouldn't have occurred.' Which of the following best illustrates the grammatical function of 'if' in this sentence?
The 'if' clause here expresses *regret* for not having chosen a different approach (message queue) which led to the negative outcome (bottleneck). It's not a suggestion, question, or alternative – it's acknowledging that a different choice would have prevented the problem. Counterfactual statements often involve expressing regret about past decisions.
23 / 23
David (Release Manager) writes this in his PR description:
'If we'd performed a blue/green deployment, we wouldn't have experienced downtime during the upgrade.' What is the key characteristic of the 'if' clause that makes it a counterfactual statement?
The 'if' clause in this sentence isn't describing the present situation or offering a solution. Instead, it constructs a *hypothetical* scenario – what *would have happened* if they had used blue/green deployment instead of the standard upgrade process. This highlights the core element of counterfactual grammar: a past action and its potential alternative outcome.
What will I practise in "Counterfactual Language in Technical English — IT Grammar Exercise"?
Practice third conditionals, mixed conditionals, and formal inversion in IT postmortems, root cause analyses, and architecture reviews.
How many exercises are in this module?
This module has 23 multiple-choice exercises, each with instant feedback and a full explanation of the correct answer.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
Do I need to create an account to do these exercises?
No account is required. Just click an option to answer — your score for this session is tracked automatically in the progress bar above.
What happens if I choose the wrong answer?
You'll immediately see which answer was correct, plus a full explanation covering the grammar rule and reasoning behind it — mistakes are where most of the learning happens.
Can I retry the exercises if I want a higher score?
Yes — use the "Try again" button on the results screen to reset and go through all the questions again.
Is my progress saved if I close the page?
No. Progress is tracked only for your current visit; reloading or leaving the page resets the counter. This keeps the exercise simple and account-free.
Where can I find more Grammar exercises?
Browse the full Grammar hub for related drills, or check the "Next up" link below to continue with a connected topic.
How is this different from reading an article on the same topic?
Articles explain grammar rules in prose; this exercise tests and reinforces those rules through active recall with immediate feedback — the two work best together.
Who writes these exercises?
Every exercise is written by the CoderSlingo team, drawing on real workplace English used in IT roles, then reviewed for accuracy and clarity.