Learn to write CONTRIBUTING.md files, first-PR welcome messages, and contributor guidance.
0 / 37 completed
1 / 37
What should a CONTRIBUTING.md file include?
CONTRIBUTING.md should include: development setup steps, how to find good first issues, PR process (branching, testing, review), coding conventions, and communication channels — reducing friction for new contributors.
2 / 37
What is a 'first-time contributor welcome' message?
A first-time contributor welcome message (often automated via bots but personalised in tone) acknowledges the contribution, thanks the contributor, and guides them through the review process — reducing anxiety for newcomers.
3 / 37
What is the purpose of 'contributor experience' (CX) in open source?
Contributor experience focuses on how easy and rewarding it is to contribute — from finding a good first issue, through the PR process, to receiving useful review feedback and seeing your contribution merged.
4 / 37
What is a 'Developer Certificate of Origin' (DCO) in open source contribution?
The DCO is a per-commit sign-off (git commit -s adds Signed-off-by: Name ) where the contributor certifies they wrote the code and have the right to contribute it under the project's licence.
5 / 37
What does 'stale pull request' management communicate to contributors?
A stale PR message acknowledges the contributor's effort, explains the inactivity policy, and invites them to update the PR or comment — balancing backlog management with contributor respect.
6 / 37
Sarah posted this message in the team's #general Slack channel after reviewing a PR submitted by a new contributor, Mark:
"Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it might have some edge cases."
Which of the following best describes Sarah's intention and tone?
Sarah is providing constructive feedback by suggesting a unit test. The phrasing 'Looks good! Just a small suggestion…' indicates a positive initial assessment, and the focus on improving code quality demonstrates her role as a reviewer. It's important for developers to understand that offering suggestions like this, even with seemingly minor requests, is a key part of contributing effectively and fostering a collaborative environment. Option A describes an insufficient critique, while options B, C, and D misrepresent Sarah's tone.
7 / 37
John submitted a pull request to update the user authentication module. David, a senior developer, responded with: "This looks solid, but I'm concerned about potential race conditions in this area. Could you explore adding some locking mechanisms or using a thread-safe queue? Also, please run the existing tests again – they're failing.".What is David's primary goal in this comment?
David's comment isn't a simple request for fixes; it's a focused effort to improve the code quality. The suggestions regarding locking mechanisms and thread-safety demonstrate an understanding of potential issues (race conditions) and offer specific solutions. Option A is too demanding, option B is irrelevant to the immediate feedback, and option D is unnecessarily negative. Choosing option 2 accurately reflects David's role as a senior developer offering guidance.
8 / 37
Mark submitted a pull request to add a new feature to the payment processing API. The reviewer, Emily, responded with: 'Great addition! I've noticed the response time is significantly slower than our target of 200ms for this endpoint. Could you investigate potential bottlenecks and optimize the code?' What does Emily's comment primarily aim to achieve?
Emily's comment isn't just about style; it directly addresses a key performance metric (response time) that is crucial for the API. The phrase 'guide Mark towards identifying and resolving' indicates she wants to help him tackle a technical challenge constructively, rather than simply demanding a fix. Option A is too superficial, option B is overly directive, and option D inappropriately shifts responsibility.
9 / 37
Sarah posted this message in the team's #general Slack channel after reviewing a PR submitted by a new contributor, Mark:
"Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it might have some edge cases."
Which of the following best describes Sarah's intention and tone?
Sarah is providing constructive feedback by suggesting a unit test. The phrasing 'Looks good! Just a small suggestion…' indicates a positive initial assessment, and the focus on improving code quality demonstrates her role as a reviewer. It's important for developers to understand that offering suggestions like this, even with seemingly minor requests, is a key part of contributing effectively and fostering a collaborative environment. Option A describes an insufficient critique, while options B, C, and D misrepresent Sarah's tone.
10 / 37
John submitted a pull request to update the user authentication module. David, a senior developer, responded with: "This looks solid, but I'm concerned about potential race conditions in this area. Could you explore adding some locking mechanisms or using a thread-safe queue? Also, please run the existing tests again – they're failing.".What is David's primary goal in this comment?
David's comment isn't a simple request for fixes; it's a focused effort to improve the code quality. The suggestions regarding locking mechanisms and thread-safety demonstrate an understanding of potential issues (race conditions) and offer specific solutions. Option A is too demanding, option B is irrelevant to the immediate feedback, and option D is unnecessarily negative. Choosing option 2 accurately reflects David's role as a senior developer offering guidance.
11 / 37
Mark submitted a pull request to add a new feature to the payment processing API. The reviewer, Emily, responded with: 'Great addition! I've noticed the response time is significantly slower than our target of 200ms for this endpoint. Could you investigate potential bottlenecks and optimize the code?' What does Emily's comment primarily aim to achieve?
Emily's comment isn't just about style; it directly addresses a key performance metric (response time) that is crucial for the API. The phrase 'guide Mark towards identifying and resolving' indicates she wants to help him tackle a technical challenge constructively, rather than simply demanding a fix. Option A is too superficial, option B is overly directive, and option D inappropriately shifts responsibility.
12 / 37
Sarah posted this message in the team's #general Slack channel after reviewing a PR submitted by a new contributor, Mark:
"Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it might have some edge cases."
Which of the following best describes Sarah's intention and tone?
Sarah is providing constructive feedback by suggesting a unit test. The phrasing 'Looks good! Just a small suggestion…' indicates a positive initial assessment, and the focus on improving code quality demonstrates her role as a reviewer. It's important for developers to understand that offering suggestions like this, even with seemingly minor requests, is a key part of contributing effectively and fostering a collaborative environment. Option A describes an insufficient critique, while options B, C, and D misrepresent Sarah's tone.
13 / 37
John submitted a pull request to update the user authentication module. David, a senior developer, responded with: "This looks solid, but I'm concerned about potential race conditions in this area. Could you explore adding some locking mechanisms or using a thread-safe queue? Also, please run the existing tests again – they're failing.".What is David's primary goal in this comment?
David's comment isn't a simple request for fixes; it's a focused effort to improve the code quality. The suggestions regarding locking mechanisms and thread-safety demonstrate an understanding of potential issues (race conditions) and offer specific solutions. Option A is too demanding, option B is irrelevant to the immediate feedback, and option D is unnecessarily negative. Choosing option 2 accurately reflects David's role as a senior developer offering guidance.
14 / 37
Mark submitted a pull request to add a new feature to the payment processing API. The reviewer, Emily, responded with: 'Great addition! I've noticed the response time is significantly slower than our target of 200ms for this endpoint. Could you investigate potential bottlenecks and optimize the code?' What does Emily's comment primarily aim to achieve?
Emily's comment isn't just about style; it directly addresses a key performance metric (response time) that is crucial for the API. The phrase 'guide Mark towards identifying and resolving' indicates she wants to help him tackle a technical challenge constructively, rather than simply demanding a fix. Option A is too superficial, option B is overly directive, and option D inappropriately shifts responsibility.
15 / 37
Sarah posted this message in the team's #general Slack channel after reviewing a PR submitted by a new contributor, Mark:
"Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it might have some edge cases."
Which of the following best describes Sarah's intention and tone?
Sarah is providing constructive feedback by suggesting a unit test. The phrasing 'Looks good! Just a small suggestion…' indicates a positive initial assessment, and the focus on improving code quality demonstrates her role as a reviewer. It's important for developers to understand that offering suggestions like this, even with seemingly minor requests, is a key part of contributing effectively and fostering a collaborative environment. Option A describes an insufficient critique, while options B, C, and D misrepresent Sarah's tone.
16 / 37
John submitted a pull request to update the user authentication module. David, a senior developer, responded with: "This looks solid, but I'm concerned about potential race conditions in this area. Could you explore adding some locking mechanisms or using a thread-safe queue? Also, please run the existing tests again – they're failing.".What is David's primary goal in this comment?
David's comment isn't a simple request for fixes; it's a focused effort to improve the code quality. The suggestions regarding locking mechanisms and thread-safety demonstrate an understanding of potential issues (race conditions) and offer specific solutions. Option A is too demanding, option B is irrelevant to the immediate feedback, and option D is unnecessarily negative. Choosing option 2 accurately reflects David's role as a senior developer offering guidance.
17 / 37
Mark submitted a pull request to add a new feature to the payment processing API. The reviewer, Emily, responded with: 'Great addition! I've noticed the response time is significantly slower than our target of 200ms for this endpoint. Could you investigate potential bottlenecks and optimize the code?' What does Emily's comment primarily aim to achieve?
Emily's comment isn't just about style; it directly addresses a key performance metric (response time) that is crucial for the API. The phrase 'guide Mark towards identifying and resolving' indicates she wants to help him tackle a technical challenge constructively, rather than simply demanding a fix. Option A is too superficial, option B is overly directive, and option D inappropriately shifts responsibility.
18 / 37
During a standup meeting, Alex says, "I've been working on the user profile API endpoint. I'm currently implementing the data validation logic and anticipating some challenges with handling large datasets. I'll need to coordinate with the database team for potential schema changes."
This response demonstrates Alex clearly outlining his work and identifying dependencies. It showcases professional communication – crucial for onboarding. The incorrect options misinterpret Alex's statement; he's proactively acknowledging potential issues and requesting support, a standard practice in development teams. It's important to note that highlighting challenges is valuable, not a sign of weakness.
19 / 37
Emily is responding to a PR submitted by a new contributor, Ben. Her comment reads: 'This code integrates well with the existing module. However, could you please ensure that all input sanitization is performed correctly to prevent potential XSS vulnerabilities?' What does Emily primarily mean?
Emily's comment focuses on the security aspect of XSS vulnerabilities. She's highlighting a critical potential issue – injecting malicious scripts into user browsers via untrusted input. While all options touch upon development concerns, Emily's primary concern is about preventing a serious security risk. Understanding common web security terms like XSS is vital for new contributors.
20 / 37
David receives a PR from Sarah that introduces a new feature. The PR description states: 'This implements the user notification system using Kafka. We've optimized for low latency and high throughput.' Which of the following is David MOST likely to ask Sarah to clarify?
David is focused on validating the claims made in the PR description – specifically, the 'low latency and high throughput' optimization. Asking about performance metrics allows him to assess whether the feature genuinely meets the stated goals. The other options are valid questions, but aren't the *most* immediate one given the initial claim. It's important to challenge claims with data when reviewing PRs.
21 / 37
Mark is submitting a pull request containing a new function. The code review comment from Lisa reads: 'Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it's handling edge cases that aren't covered.' What does Lisa suggest Mark do?
Lisa's comment emphasizes the importance of thorough testing – specifically, writing unit tests to cover edge cases. This is a standard practice in software development to ensure code robustness and prevent future issues. The other options represent less critical aspects of code review or development practices. Unit tests are essential for verifying functionality and catching errors early on.
22 / 37
You receive an API response from a backend service: `{"status": "200", "data": {"user_id": 123456789, "username": "john.doe", "email": "john.doe@example.com"}}`. What does this likely indicate?
A status code of '200' indicates a successful HTTP request. The 'data' field contains the user information returned by the API. This is a standard response format indicating that the backend service processed the request and delivered the requested data. Understanding HTTP status codes is foundational to working with APIs. Different status codes signal different outcomes of requests.
23 / 37
During a standup meeting, Alex says, "I've been working on the user profile API endpoint. I'm currently implementing the data validation logic and anticipating some challenges with handling large datasets. I'll need to coordinate with the database team for potential schema changes."
This response demonstrates Alex clearly outlining his work and identifying dependencies. It showcases professional communication – crucial for onboarding. The incorrect options misinterpret Alex's statement; he's proactively acknowledging potential issues and requesting support, a standard practice in development teams. It's important to note that highlighting challenges is valuable, not a sign of weakness.
24 / 37
Emily is responding to a PR submitted by a new contributor, Ben. Her comment reads: 'This code integrates well with the existing module. However, could you please ensure that all input sanitization is performed correctly to prevent potential XSS vulnerabilities?' What does Emily primarily mean?
Emily's comment focuses on the security aspect of XSS vulnerabilities. She's highlighting a critical potential issue – injecting malicious scripts into user browsers via untrusted input. While all options touch upon development concerns, Emily's primary concern is about preventing a serious security risk. Understanding common web security terms like XSS is vital for new contributors.
25 / 37
David receives a PR from Sarah that introduces a new feature. The PR description states: 'This implements the user notification system using Kafka. We've optimized for low latency and high throughput.' Which of the following is David MOST likely to ask Sarah to clarify?
David is focused on validating the claims made in the PR description – specifically, the 'low latency and high throughput' optimization. Asking about performance metrics allows him to assess whether the feature genuinely meets the stated goals. The other options are valid questions, but aren't the *most* immediate one given the initial claim. It's important to challenge claims with data when reviewing PRs.
26 / 37
Mark is submitting a pull request containing a new function. The code review comment from Lisa reads: 'Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it's handling edge cases that aren't covered.' What does Lisa suggest Mark do?
Lisa's comment emphasizes the importance of thorough testing – specifically, writing unit tests to cover edge cases. This is a standard practice in software development to ensure code robustness and prevent future issues. The other options represent less critical aspects of code review or development practices. Unit tests are essential for verifying functionality and catching errors early on.
27 / 37
You receive an API response from a backend service: `{"status": "200", "data": {"user_id": 123456789, "username": "john.doe", "email": "john.doe@example.com"}}`. What does this likely indicate?
A status code of '200' indicates a successful HTTP request. The 'data' field contains the user information returned by the API. This is a standard response format indicating that the backend service processed the request and delivered the requested data. Understanding HTTP status codes is foundational to working with APIs. Different status codes signal different outcomes of requests.
28 / 37
During a standup meeting, Alex says, "I've been working on the user profile API endpoint. I'm currently implementing the data validation logic and anticipating some challenges with handling large datasets. I'll need to coordinate with the database team for potential schema changes."
This response demonstrates Alex clearly outlining his work and identifying dependencies. It showcases professional communication – crucial for onboarding. The incorrect options misinterpret Alex's statement; he's proactively acknowledging potential issues and requesting support, a standard practice in development teams. It's important to note that highlighting challenges is valuable, not a sign of weakness.
29 / 37
Emily is responding to a PR submitted by a new contributor, Ben. Her comment reads: 'This code integrates well with the existing module. However, could you please ensure that all input sanitization is performed correctly to prevent potential XSS vulnerabilities?' What does Emily primarily mean?
Emily's comment focuses on the security aspect of XSS vulnerabilities. She's highlighting a critical potential issue – injecting malicious scripts into user browsers via untrusted input. While all options touch upon development concerns, Emily's primary concern is about preventing a serious security risk. Understanding common web security terms like XSS is vital for new contributors.
30 / 37
David receives a PR from Sarah that introduces a new feature. The PR description states: 'This implements the user notification system using Kafka. We've optimized for low latency and high throughput.' Which of the following is David MOST likely to ask Sarah to clarify?
David is focused on validating the claims made in the PR description – specifically, the 'low latency and high throughput' optimization. Asking about performance metrics allows him to assess whether the feature genuinely meets the stated goals. The other options are valid questions, but aren't the *most* immediate one given the initial claim. It's important to challenge claims with data when reviewing PRs.
31 / 37
Mark is submitting a pull request containing a new function. The code review comment from Lisa reads: 'Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it's handling edge cases that aren't covered.' What does Lisa suggest Mark do?
Lisa's comment emphasizes the importance of thorough testing – specifically, writing unit tests to cover edge cases. This is a standard practice in software development to ensure code robustness and prevent future issues. The other options represent less critical aspects of code review or development practices. Unit tests are essential for verifying functionality and catching errors early on.
32 / 37
You receive an API response from a backend service: `{"status": "200", "data": {"user_id": 123456789, "username": "john.doe", "email": "john.doe@example.com"}}`. What does this likely indicate?
A status code of '200' indicates a successful HTTP request. The 'data' field contains the user information returned by the API. This is a standard response format indicating that the backend service processed the request and delivered the requested data. Understanding HTTP status codes is foundational to working with APIs. Different status codes signal different outcomes of requests.
33 / 37
During a standup meeting, Alex says, "I've been working on the user profile API endpoint. I'm currently implementing the data validation logic and anticipating some challenges with handling large datasets. I'll need to coordinate with the database team for potential schema changes."
This response demonstrates Alex clearly outlining his work and identifying dependencies. It showcases professional communication – crucial for onboarding. The incorrect options misinterpret Alex's statement; he's proactively acknowledging potential issues and requesting support, a standard practice in development teams. It's important to note that highlighting challenges is valuable, not a sign of weakness.
34 / 37
Emily is responding to a PR submitted by a new contributor, Ben. Her comment reads: 'This code integrates well with the existing module. However, could you please ensure that all input sanitization is performed correctly to prevent potential XSS vulnerabilities?' What does Emily primarily mean?
Emily's comment focuses on the security aspect of XSS vulnerabilities. She's highlighting a critical potential issue – injecting malicious scripts into user browsers via untrusted input. While all options touch upon development concerns, Emily's primary concern is about preventing a serious security risk. Understanding common web security terms like XSS is vital for new contributors.
35 / 37
David receives a PR from Sarah that introduces a new feature. The PR description states: 'This implements the user notification system using Kafka. We've optimized for low latency and high throughput.' Which of the following is David MOST likely to ask Sarah to clarify?
David is focused on validating the claims made in the PR description – specifically, the 'low latency and high throughput' optimization. Asking about performance metrics allows him to assess whether the feature genuinely meets the stated goals. The other options are valid questions, but aren't the *most* immediate one given the initial claim. It's important to challenge claims with data when reviewing PRs.
36 / 37
Mark is submitting a pull request containing a new function. The code review comment from Lisa reads: 'Looks good! Just a small suggestion: could you add a unit test for this function? It seems like it's handling edge cases that aren't covered.' What does Lisa suggest Mark do?
Lisa's comment emphasizes the importance of thorough testing – specifically, writing unit tests to cover edge cases. This is a standard practice in software development to ensure code robustness and prevent future issues. The other options represent less critical aspects of code review or development practices. Unit tests are essential for verifying functionality and catching errors early on.
37 / 37
You receive an API response from a backend service: `{"status": "200", "data": {"user_id": 123456789, "username": "john.doe", "email": "john.doe@example.com"}}`. What does this likely indicate?
A status code of '200' indicates a successful HTTP request. The 'data' field contains the user information returned by the API. This is a standard response format indicating that the backend service processed the request and delivered the requested data. Understanding HTTP status codes is foundational to working with APIs. Different status codes signal different outcomes of requests.
What does the "Contributing — Welcome and Onboarding Language" exercise practise?
Learn to write CONTRIBUTING.md files, first-PR welcome messages, and contributor guidance.
How many questions are in this exercise?
This exercise has 37 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 Developer Community Management 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 "Contributing — Welcome and Onboarding Language" part of a larger series?
Yes — it's one exercise in the Developer Community Management 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 Developer Community Management category page for related exercises, or browse the main Exercises hub for other IT English topics.