Practise vocabulary for discussing technical debt: tech debt ratio, hotspot analysis, principal vs. interest metaphor, and debt prioritisation for stakeholders.
0 / 45 completed
1 / 45
A tech lead says 'Our tech debt ratio is 18%.' What does this metric express?
Tech debt ratio = remediation cost ÷ development cost × 100. An 18% ratio means fixing the debt would cost 18% of what it took to build the system. SonarQube surfaces this metric.
2 / 45
A senior engineer says 'That module is a hotspot — high churn and low coverage.' What does 'hotspot' mean here?
A hotspot combines high change frequency (churn) with poor quality indicators like low coverage or high complexity. Hotspot analysis (popularised by Adam Tornhill) prioritises which debt to address first.
3 / 45
A product manager asks why the team is slow. The architect replies: 'We're paying interest on the debt.' What does 'interest' mean in this metaphor?
In the principal vs. interest metaphor, the principal is the original shortcuts taken, and the interest is the ongoing productivity drag — slower development, more bugs — incurred each sprint until the debt is paid down.
4 / 45
During sprint planning, the team says they want to 'pay down debt' in the next sprint. What does this phrase mean?
'Paying down debt' means investing effort to refactor or improve areas of poor code quality, reducing future interest payments (i.e., removing the ongoing drag on velocity and reliability).
5 / 45
A CTO presents to the board: 'We need to prioritise this debt because it sits on the critical path.' Which framing best supports this argument to non-technical stakeholders?
Stakeholder communication about debt works best when framed in business terms: delayed features, outage risk, and difficulty hiring/retaining engineers. Translating technical debt into business impact is a key skill for engineering leaders.
6 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
7 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
8 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
9 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
10 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
11 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
12 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
13 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
14 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
15 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
16 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
17 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
18 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
19 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
20 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
21 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
22 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
23 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
24 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
25 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
26 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
27 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
28 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
29 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
30 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
31 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
32 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
33 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
34 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
35 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
36 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
37 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
38 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
39 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
40 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
41 / 45
git diff --stat main...feature-branch
During a code review, a reviewer comments: 'This branch introduces significant technical debt. The resulting file size increase is 30%, and several classes have been duplicated.' How should you respond to this feedback in a Slack message to the reviewer? Consider which response best demonstrates understanding of the issue and proposes a constructive next step.
The correct response (option 1) demonstrates a willingness to understand the reviewer's concerns. The other options are problematic: option 2 seeks clarification – good, but could be more proactive; option 3 deflects responsibility and offers no immediate solution; and option 4 attempts to shift blame and doesn't acknowledge the impact of the technical debt. Asking for an explanation is key to tackling the issue effectively.
42 / 45
PR Description:
"Fix: Add user authentication. This PR introduces a new dependency and refactors the existing login flow. The new auth service utilizes a legacy database schema for simplicity, which we'll address in a later sprint. Initial estimates suggest this change will increase code complexity by approximately 15%."
The PR description highlights a key aspect of technical debt: increased complexity due to choices made for expediency. While security is paramount, the acknowledgement of 'increased code complexity' and the mention of a 'legacy database schema' are crucial signals that the team should consider the long-term implications of this change. Option A frames it as simply too large, ignoring the specific technical concerns raised; option D incorrectly suggests legacy databases are inherently acceptable – they often *create* debt.
43 / 45
Sarah (Developer) sent this Slack message after a code review comment about adding a new API endpoint:
"Okay, I see the concern. We'll definitely look into refactoring that endpoint to improve performance and reduce dependencies. Let's schedule a quick sync with the backend team to discuss potential optimizations."
This response is incorrect because it avoids directly addressing the reviewer's feedback about performance and dependencies. The key here is demonstrating understanding – Sarah acknowledges the concern and proposes a collaborative step (a sync) to find solutions. Dismissing the review or getting overly technical without outlining action doesn't show she grasped the issue, highlighting why option C is correct.
44 / 45
David: "I'm really concerned about this new feature. It's built using some very old libraries and the architecture is… well, let's just say it's not ideal for future growth."
Maria: "We know, but we needed to get it out quickly!"
Which of the following best describes Maria's reaction in this conversation?
Maria's response reflects a common situation in software development: prioritizing immediate delivery over long-term maintainability. The term 'technical debt' refers to the implied cost of rework caused by choosing an easy solution now instead of a better approach that would take longer. Her acknowledgement of the issue (albeit brief) is a recognition of the underlying problem, but her prioritization of speed demonstrates a lack of foresight regarding future development challenges. This highlights the tension between short-term gains and long-term sustainability.
45 / 45
During a standup update, the team lead asks: 'What's blocking us on completing this task?' John replies: 'We're trying to address some existing technical debt. It's like we built a house with mismatched bricks and now we have to replace them one by one.' Which of the following best describes John's statement?
John's statement employs an analogy – comparing the technical debt to a house with mismatched bricks. This effectively communicates the idea of accumulated issues needing gradual, systematic repair rather than a drastic overhaul. The other options misinterpret the situation; John isn't assigning blame or advocating for a complete rewrite, but rather illustrating the necessity for careful, incremental improvements to address the underlying problems. This highlights that technical debt doesn't always require immediate, radical solutions.
What does the "Technical Debt Discussion" exercise practise?
Practise vocabulary for discussing technical debt: tech debt ratio, hotspot analysis, principal vs. interest metaphor, and debt prioritisation for stakeholders.
How many questions are in this exercise?
This exercise has 45 questions, each multiple-choice with a full explanation shown after you answer.
What English level is this exercise for?
This exercise is tagged Intermediate. If the vocabulary feels difficult, browse the Code Quality & Metrics category page for an easier module to start with.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free with no account, sign-up, or paywall.
Do I get feedback if I answer incorrectly?
Yes — whichever option you choose, right or wrong, you'll immediately see an explanation clarifying the correct term and why the other options don't fit.
Can I retry this exercise?
Yes — once you finish all the questions, a "Try again" button on the results screen resets the exercise so you can practise as many times as you like.
Do I need an account to track my progress?
No account is required. Your progress bar and score for this session are tracked in the browser as you go, but nothing is saved once you leave the page.
Is "Technical Debt Discussion" part of a larger series?
Yes — it's one exercise in the Code Quality & Metrics category on CoderSlingo. See the category page for the full list of related exercises on similar terminology.
Can I link directly to this exercise?
Yes — this exercise has its own permanent URL, so you can bookmark it or share the link directly with a colleague or study partner.
Where can I find more exercises like this one?
See the Code Quality & Metrics category page for related exercises, or browse the main Exercises hub for other IT English topics.