5 exercises — expressing technical contrasts precisely in architecture discussions, PR reviews, and postmortems using structures like rather than, unlike, while/whereas, in contrast to, and the it-cleft.
Contrastive structures quick reference
Structure
Follows
Example
rather than
noun / -ing / verb
We chose Redis rather than Memcached.
as opposed to
noun phrase
Static typing, as opposed to dynamic, catches errors early.
While the function validates input, it does not sanitise it.
in contrast to
noun phrase
In contrast to the v1 API, v2 uses token auth.
It is/was X, not Y, that…
full it-cleft
It was the cache, not the DB, that caused the spike.
0 / 15 completed
1 / 15
A tech lead writes in a design document: "We chose microservices ___ a monolith because each service can be scaled independently." Which contrastive structure fits best?
Rather than is the correct structure here. It expresses a deliberate choice or preference over an alternative and fits naturally in formal technical arguments: "We chose X rather than Y because…" Rules: (1) rather than — deliberate preference; follows the same grammatical form on both sides (microservices rather than a monolith); (2) as opposed to (NOT "as opposed with") — highlights a contrast between two things, often to clarify a distinction; (3) unlike — introduces a contrasted entity at the start of a clause ("Unlike a monolith, microservices can be scaled independently."); (4) in contrast to (NOT "in contrast") — must be followed by a noun phrase. Option C uses the wrong preposition ("with" instead of "to"). Option D omits the mandatory "to".
2 / 15
During a postmortem, an engineer writes: "___ the staging environment, production traffic includes authenticated sessions and live database writes." Which contrastive opener is grammatically correct and most natural here?
Unlike + noun phrase is the standard opener for contrasting two entities when the subject of the main clause differs from the compared entity. Structure: "Unlike X, Y does Z." — where X and Y are different things being compared. Breakdown of each option: (A) "Rather than" implies a choice was made between the two — not what the sentence is saying; (B) ✅ "Unlike the staging environment, production traffic…" — correct contrast; (C) The it-cleft ("It is X, not Y") inverts the intended meaning — the sentence says staging is the one with sessions, which is wrong; (D) "Whereas" connects two full clauses, not a noun phrase and a clause — the grammar breaks down here. In postmortems, unlike is frequently used to explain why a bug didn't surface in testing: "Unlike the test environment, production uses connection pooling."
3 / 15
In a PR review comment, a senior engineer writes: "___ this function validates input, it does not sanitise it — XSS injection is still possible." Which contrastive connector is correct?
While (and its synonym whereas) introduces a contrastive subordinate clause and must be followed by a full subject + verb structure: "While [subject] [verb], [main clause]." This is the correct structure when contrasting two properties of the same entity. Breakdown: (A) "As opposed to" takes a noun phrase, not a full clause — "As opposed to sanitisation, this function only validates…"; (B) "In contrast to" also takes a noun phrase — "In contrast to the old handler, this function…"; (C) ✅ "While this function validates input, it does not sanitise it" — correct clause-level contrast; (D) "Rather than" signals choice, not this kind of inherent limitation. In PR reviews and security write-ups, while-clauses are essential for highlighting partial compliance: "While the input is trimmed, special characters are not escaped."
4 / 15
An architect writes in an RFC: "___ the REST approach that requires multiple round-trips, GraphQL allows clients to fetch exactly the data they need in a single request." Choose the best contrastive structure.
Both unlike and in contrast to take noun phrases, but unlike is the cleaner choice here because it directly frames the contrast between two named technologies. Breakdown: (A) The it-cleft works but changes emphasis — it foregrounds REST as the problem-causer rather than GraphQL as the solution; (B) "In contrast to" is grammatically correct and would also work, but is slightly more formal/verbose and the sentence is already long; (C) ❌ "While" must be followed by a full clause (subject + verb) — "the REST approach that requires…" is only a noun phrase; (D) ✅ "Unlike [noun phrase], [main clause]" — correct, concise, and widely used in architecture docs. When comparing technologies in RFCs and design docs, unlike is preferred for noun-to-noun comparisons; whereas for clause-to-clause. Example: "Unlike polling, WebSockets maintain a persistent connection."
5 / 15
In an architecture discussion, a team member writes: "___ the data pipeline that failed was the batch job, not the streaming consumer — the streaming consumer processed all events correctly." Which version uses a correct it-cleft structure?
An it-cleft has the structure: It + be + [focused element] + that/who + [rest of clause]. It shifts emphasis onto the focused element. Breakdown: (A) ✅ "It was the batch job, not the streaming consumer, that failed." — correctly focuses on "the batch job" as the failing component, with "not the streaming consumer" as an inline contrast; (B) ❌ Garbled — "It is the data pipeline that failed was" is ungrammatical (two verbs competing); (C) The focus shifts to "the data pipeline" rather than "the batch job" — imprecise for the intended meaning; (D) "Which" instead of "that" in it-cleft is non-standard; it-clefts use that in formal writing. It-clefts are especially useful in postmortems and incident reports to precisely isolate the failed component: "It was the cache layer, not the database, that caused the latency spike."
6 / 15
John, the junior developer, just submitted a PR. As the code reviewer, you notice: 'The API endpoint returns 200 OK, but the response body contains an error message indicating insufficient permissions.' Which contrastive structure best highlights this discrepancy and suggests a potential issue?
This question tests understanding of using 'however' to introduce a contrasting observation. The core issue isn't just the HTTP status code (200 OK), but the *content* of that response which indicates an authorization failure. Options A and C are overly simplistic; option D misinterprets the 200 OK status. Option B is the most accurate reflection of the situation.
7 / 15
Sarah, a DevOps engineer, is documenting a recent infrastructure change in a Slack channel. She writes: 'We upgraded the database server before implementing proper rollback procedures.' Which contrastive connector best emphasizes the problematic timing of this action?
The correct answer uses 'although' to acknowledge the successful upgrade while simultaneously highlighting that a crucial preventative measure (rollback procedures) was neglected. Options A and C suggest further actions or cause-and-effect relationships that aren't present in the scenario. Option B is too weak and doesn't clearly contrast the prioritized action with what *should* have been done.
8 / 15
David, a backend developer, is writing a PR description for a new feature. He states: 'We implemented JWT authentication before designing the API endpoints.' Which contrastive structure best clarifies the potential consequences of this order?
This question focuses on using 'because' to explain the negative impact of prioritizing JWT over API design. The situation presented suggests that the lack of API design consideration likely resulted in a flawed or poorly designed API. Options A and B are too prescriptive; option D is simply incorrect.
9 / 15
Maria, a security analyst, is writing an alert message to the development team regarding a newly discovered vulnerability. She writes: 'The application allows unfiltered user input while processing sensitive data.' Which contrastive connector best communicates the severity of this issue?
Using 'however' here effectively emphasizes the critical problem – the lack of input sanitization – and highlights the potential danger. Options A and B suggest mitigation strategies that aren't directly addressed by the contrastive structure. Option D is a dangerously complacent statement.
10 / 15
Ben, a senior engineer, is giving a standup update. He says: 'We finished implementing the caching layer before optimizing database queries.' Which contrastive connector best communicates the potential trade-offs involved?
The correct answer uses 'although' to acknowledge the successful implementation of the caching layer while simultaneously indicating that further optimization (database queries) is still necessary. This acknowledges a potential trade-off between immediate gains and long-term performance. Options A and C are too definitive; option D misrepresents the situation.
11 / 15
John, the junior developer, just submitted a PR. As the code reviewer, you notice: 'The API endpoint returns 200 OK, but the response body contains an error message indicating insufficient permissions.' Which contrastive structure best highlights this discrepancy and suggests a potential issue?
This question tests understanding of using 'however' to introduce a contrasting observation. The core issue isn't just the HTTP status code (200 OK), but the *content* of that response which indicates an authorization failure. Options A and C are overly simplistic; option D misinterprets the 200 OK status. Option B is the most accurate reflection of the situation.
12 / 15
Sarah, a DevOps engineer, is documenting a recent infrastructure change in a Slack channel. She writes: 'We upgraded the database server before implementing proper rollback procedures.' Which contrastive connector best emphasizes the problematic timing of this action?
The correct answer uses 'although' to acknowledge the successful upgrade while simultaneously highlighting that a crucial preventative measure (rollback procedures) was neglected. Options A and C suggest further actions or cause-and-effect relationships that aren't present in the scenario. Option B is too weak and doesn't clearly contrast the prioritized action with what *should* have been done.
13 / 15
David, a backend developer, is writing a PR description for a new feature. He states: 'We implemented JWT authentication before designing the API endpoints.' Which contrastive structure best clarifies the potential consequences of this order?
This question focuses on using 'because' to explain the negative impact of prioritizing JWT over API design. The situation presented suggests that the lack of API design consideration likely resulted in a flawed or poorly designed API. Options A and B are too prescriptive; option D is simply incorrect.
14 / 15
Maria, a security analyst, is writing an alert message to the development team regarding a newly discovered vulnerability. She writes: 'The application allows unfiltered user input while processing sensitive data.' Which contrastive connector best communicates the severity of this issue?
Using 'however' here effectively emphasizes the critical problem – the lack of input sanitization – and highlights the potential danger. Options A and B suggest mitigation strategies that aren't directly addressed by the contrastive structure. Option D is a dangerously complacent statement.
15 / 15
Ben, a senior engineer, is giving a standup update. He says: 'We finished implementing the caching layer before optimizing database queries.' Which contrastive connector best communicates the potential trade-offs involved?
The correct answer uses 'although' to acknowledge the successful implementation of the caching layer while simultaneously indicating that further optimization (database queries) is still necessary. This acknowledges a potential trade-off between immediate gains and long-term performance. Options A and C are too definitive; option D misrepresents the situation.
What will I practise in "Contrastive Structures in Technical English — IT English Grammar Exercise"?
Practice contrastive structures in technical English: rather than, unlike, whereas, in contrast to, as opposed to, and it-clefts — in architecture docs, PR
How many exercises are in this module?
This module has 15 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.