Practise vocabulary for writing and reviewing technical RFCs: motivation, design alternatives, drawbacks, open questions, and RFC lifecycle.
0 / 30 completed
1 / 30
An RFC (Request for Comments) is a document that proposes a ___ technical decision and solicits feedback before implementation begins.
RFCs are used for significant decisions: API redesigns, architectural changes, new tooling adoption, breaking changes. They ensure stakeholders can review and provide input before engineering effort is committed.
2 / 30
The ___ section of an RFC explains why the current approach is insufficient and what problem the proposal solves.
The Motivation section frames the problem, establishing why the status quo is inadequate. A well-written motivation section creates buy-in by ensuring readers agree on the problem before evaluating the solution.
3 / 30
The ___ section of an RFC demonstrates rigorous thinking by documenting other approaches that were considered and why they were rejected.
The Alternatives Considered section shows the author has done thorough analysis, not just proposed the first idea. It pre-empts reviewer questions ('Did you consider X?') and explains why the proposed solution is superior to the alternatives.
4 / 30
An RFC's ___ section lists unresolved questions that require community input or decisions before the proposal can be finalised.
Open Questions invite the review community to contribute specific missing information. 'What should the deprecation timeline be for the old API?' is an open question that RFC readers can help answer.
5 / 30
The RFC ___ phase follows community discussion — once consensus is reached or objections are addressed, a designated approver makes a final decision.
The decision phase closes the RFC with an outcome: accepted, rejected, or withdrawn. The RFC is then archived as a historical record of the decision-making process, valuable for future engineers understanding why decisions were made.
6 / 30
Reviewer: "This PR introduces a new field, 'user_metadata', but doesn't specify its purpose or expected format. It seems like a potential data bloat."
The reviewer's comment focuses on the lack of *specification*, which is crucial in RFC authoring. A good RFC needs to clearly define the purpose and format of new fields like 'user_metadata'. This highlights a common issue – failing to anticipate potential problems early on, a key element when proposing changes.
7 / 30
"Sarah (Lead Engineer): Hey team, I'm drafting an RFC for the new rate-limiting strategy. Can anyone point me to resources on defining 'acceptable latency' in a technical document?"
Sarah's question demonstrates the importance of clearly defining ambiguous terms like 'acceptable latency' in an RFC. This isn't just about knowing the definition; it's about soliciting input and ensuring everyone understands the criteria being proposed. The correct answer reflects a practical need for collaboration.
8 / 30
PR Description: "Implemented changes to handle user authentication using OAuth2. Added new API endpoint /auth/token and updated the frontend to integrate with it."
RFCs require more than just a summary of code changes. While this PR description provides a basic overview, it misses crucial elements like the OAuth2 flow details (authorization server, token exchange) and any associated security implications. A robust RFC would thoroughly document these aspects.
While this API response appears complete, an RFC would need to *define* the structure of the `metadata` object. This includes data types, allowed values, and potential future expansions – all critical for consistent usage and maintainability within the proposed system.
10 / 30
"Mark (Developer): 'I'm working on implementing the new API endpoint for user profile updates. I've documented the schema and error handling in a separate document.'"
Mark's response indicates a misunderstanding of the RFC process. An RFC isn't just about documenting a single component; it's a collaborative effort requiring input from other developers and stakeholders. Simply having documentation doesn't fulfill the core purpose of soliciting feedback before implementation.
11 / 30
Reviewer: "This PR introduces a new field, 'user_metadata', but doesn't specify its purpose or expected format. It seems like a potential data bloat."
The reviewer's comment focuses on the lack of *specification*, which is crucial in RFC authoring. A good RFC needs to clearly define the purpose and format of new fields like 'user_metadata'. This highlights a common issue – failing to anticipate potential problems early on, a key element when proposing changes.
12 / 30
"Sarah (Lead Engineer): Hey team, I'm drafting an RFC for the new rate-limiting strategy. Can anyone point me to resources on defining 'acceptable latency' in a technical document?"
Sarah's question demonstrates the importance of clearly defining ambiguous terms like 'acceptable latency' in an RFC. This isn't just about knowing the definition; it's about soliciting input and ensuring everyone understands the criteria being proposed. The correct answer reflects a practical need for collaboration.
13 / 30
PR Description: "Implemented changes to handle user authentication using OAuth2. Added new API endpoint /auth/token and updated the frontend to integrate with it."
RFCs require more than just a summary of code changes. While this PR description provides a basic overview, it misses crucial elements like the OAuth2 flow details (authorization server, token exchange) and any associated security implications. A robust RFC would thoroughly document these aspects.
While this API response appears complete, an RFC would need to *define* the structure of the `metadata` object. This includes data types, allowed values, and potential future expansions – all critical for consistent usage and maintainability within the proposed system.
15 / 30
"Mark (Developer): 'I'm working on implementing the new API endpoint for user profile updates. I've documented the schema and error handling in a separate document.'"
Mark's response indicates a misunderstanding of the RFC process. An RFC isn't just about documenting a single component; it's a collaborative effort requiring input from other developers and stakeholders. Simply having documentation doesn't fulfill the core purpose of soliciting feedback before implementation.
16 / 30
Reviewer: "This PR introduces a new field, 'user_metadata', but doesn't specify its purpose or expected format. It seems like a potential data bloat."
The reviewer's comment focuses on the lack of *specification*, which is crucial in RFC authoring. A good RFC needs to clearly define the purpose and format of new fields like 'user_metadata'. This highlights a common issue – failing to anticipate potential problems early on, a key element when proposing changes.
17 / 30
"Sarah (Lead Engineer): Hey team, I'm drafting an RFC for the new rate-limiting strategy. Can anyone point me to resources on defining 'acceptable latency' in a technical document?"
Sarah's question demonstrates the importance of clearly defining ambiguous terms like 'acceptable latency' in an RFC. This isn't just about knowing the definition; it's about soliciting input and ensuring everyone understands the criteria being proposed. The correct answer reflects a practical need for collaboration.
18 / 30
PR Description: "Implemented changes to handle user authentication using OAuth2. Added new API endpoint /auth/token and updated the frontend to integrate with it."
RFCs require more than just a summary of code changes. While this PR description provides a basic overview, it misses crucial elements like the OAuth2 flow details (authorization server, token exchange) and any associated security implications. A robust RFC would thoroughly document these aspects.
While this API response appears complete, an RFC would need to *define* the structure of the `metadata` object. This includes data types, allowed values, and potential future expansions – all critical for consistent usage and maintainability within the proposed system.
20 / 30
"Mark (Developer): 'I'm working on implementing the new API endpoint for user profile updates. I've documented the schema and error handling in a separate document.'"
Mark's response indicates a misunderstanding of the RFC process. An RFC isn't just about documenting a single component; it's a collaborative effort requiring input from other developers and stakeholders. Simply having documentation doesn't fulfill the core purpose of soliciting feedback before implementation.
21 / 30
Reviewer: "This PR introduces a new field, 'user_metadata', but doesn't specify its purpose or expected format. It seems like a potential data bloat."
The reviewer's comment focuses on the lack of *specification*, which is crucial in RFC authoring. A good RFC needs to clearly define the purpose and format of new fields like 'user_metadata'. This highlights a common issue – failing to anticipate potential problems early on, a key element when proposing changes.
22 / 30
"Sarah (Lead Engineer): Hey team, I'm drafting an RFC for the new rate-limiting strategy. Can anyone point me to resources on defining 'acceptable latency' in a technical document?"
Sarah's question demonstrates the importance of clearly defining ambiguous terms like 'acceptable latency' in an RFC. This isn't just about knowing the definition; it's about soliciting input and ensuring everyone understands the criteria being proposed. The correct answer reflects a practical need for collaboration.
23 / 30
PR Description: "Implemented changes to handle user authentication using OAuth2. Added new API endpoint /auth/token and updated the frontend to integrate with it."
RFCs require more than just a summary of code changes. While this PR description provides a basic overview, it misses crucial elements like the OAuth2 flow details (authorization server, token exchange) and any associated security implications. A robust RFC would thoroughly document these aspects.
While this API response appears complete, an RFC would need to *define* the structure of the `metadata` object. This includes data types, allowed values, and potential future expansions – all critical for consistent usage and maintainability within the proposed system.
25 / 30
"Mark (Developer): 'I'm working on implementing the new API endpoint for user profile updates. I've documented the schema and error handling in a separate document.'"
Mark's response indicates a misunderstanding of the RFC process. An RFC isn't just about documenting a single component; it's a collaborative effort requiring input from other developers and stakeholders. Simply having documentation doesn't fulfill the core purpose of soliciting feedback before implementation.
26 / 30
Reviewer: "This PR introduces a new field, 'user_metadata', but doesn't specify its purpose or expected format. It seems like a potential data bloat."
The reviewer's comment focuses on the lack of *specification*, which is crucial in RFC authoring. A good RFC needs to clearly define the purpose and format of new fields like 'user_metadata'. This highlights a common issue – failing to anticipate potential problems early on, a key element when proposing changes.
27 / 30
"Sarah (Lead Engineer): Hey team, I'm drafting an RFC for the new rate-limiting strategy. Can anyone point me to resources on defining 'acceptable latency' in a technical document?"
Sarah's question demonstrates the importance of clearly defining ambiguous terms like 'acceptable latency' in an RFC. This isn't just about knowing the definition; it's about soliciting input and ensuring everyone understands the criteria being proposed. The correct answer reflects a practical need for collaboration.
28 / 30
PR Description: "Implemented changes to handle user authentication using OAuth2. Added new API endpoint /auth/token and updated the frontend to integrate with it."
RFCs require more than just a summary of code changes. While this PR description provides a basic overview, it misses crucial elements like the OAuth2 flow details (authorization server, token exchange) and any associated security implications. A robust RFC would thoroughly document these aspects.
While this API response appears complete, an RFC would need to *define* the structure of the `metadata` object. This includes data types, allowed values, and potential future expansions – all critical for consistent usage and maintainability within the proposed system.
30 / 30
"Mark (Developer): 'I'm working on implementing the new API endpoint for user profile updates. I've documented the schema and error handling in a separate document.'"
Mark's response indicates a misunderstanding of the RFC process. An RFC isn't just about documenting a single component; it's a collaborative effort requiring input from other developers and stakeholders. Simply having documentation doesn't fulfill the core purpose of soliciting feedback before implementation.
What will I learn from the "RFC Authoring Vocabulary" exercise?
Practise vocabulary for writing and reviewing technical RFCs: motivation, design alternatives, drawbacks, open questions, and RFC lifecycle.
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 required.
How many questions are in this exercise?
This set contains 30 multiple-choice questions, each with a detailed explanation shown after you answer.
Do I need to create an account to track my progress?
No account is required. Your progress bar and score reset each time you reload the page, but you can retry the exercise as many times as you like.
Who is this Staff Engineer Communication exercise for?
This exercise is built for IT professionals and non-native English speakers who need to read, write, and discuss staff engineer communication topics confidently at work.
What happens if I answer a question incorrectly?
You will see the correct answer highlighted along with a detailed explanation of why it is correct -- so every wrong answer becomes a learning moment, not just a lost point.
Can I retry this exercise?
Yes -- click "Try again" on the results screen at any time to reset your score and go through all the questions again.
How long does this exercise take to complete?
Most learners finish all 30 questions in under 10 minutes, since each question is answered by clicking a single option.
Where can I find more Staff Engineer Communication exercises?
See the full Staff Engineer Communication exercises hub for more vocabulary drills on this topic.
Is this exercise mobile-friendly?
Yes -- the exercise works on any device with a modern browser, including phones and tablets, with no app download required.