Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions docs/source/developing/new_developers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,22 @@ Post Acceptance

Assuming the new developer has been accepted, the nominator:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed during the meeting, have a back-up mentor committed to assist if the nominator leaves the dev team during the on-boarding period.


* Makes sure the new developer agrees to the code of conduct and knows that discussions on dev channels should be considered private and may include work in progress and thus should not be shared.
* Makes sure the new developer gets access to the infrastructure (github, slack, mesa-dev, testhub).
* Acts as a mentor to the new developer, helping them to get used to the system and the way things are done. This includes making commits, merging PR's, and general development tasks.
* Makes sure the new developer agrees to the code of conduct and knows that discussions on developer channels should be considered private and may include work in progress that should not be shared.
* Makes sure the new developer gets access to the relevant infrastructure. This includes adding them to the MESAHub GitHub organization with appropriate permissions, adding them to Slack and any relevant private channels, and arranging access to mesa-dev and testhub.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something to ponder on: to what level are we given access to the various aspects of the infrastructure. E.g. GitHub has different levels of access to a repository and organisation.

* Points the new developer to the existing documentation for development workflows. This includes contributing code through branches, making commits, opening pull requests, using the testing infrastructure, and identifying the points of contact for different parts of the infrastructure.
* Acts as the primary mentor for the new developer during onboarding, helping them to get used to the system and the way things are done. The nominator should make time to answer questions and help the new developer become comfortable with day to day development tasks.
* Helps the new developer learn the expected GitHub workflow, including when and how to create branches, make commits, open pull requests, respond to review, and, where appropriate, merge pull requests.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the same as the third point

* Remains involved in reviewing and guiding the new developer's contributions for an initial onboarding period of at least six months, so that the new developer receives the attention and mentorship needed to become a routine contributor to MESA.
* Helps connect the new developer with other existing developers whose expertise or responsibilities are particularly relevant to the new developer's interests and planned areas of contribution.
* If the new developer expects to work on backward incompatible changes, encourages them to raise those plans with the broader developer team before substantial development begins.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would consider this more appropriate for the contribution guidelines, which would be already referenced in point 3.

* As the new developer becomes established, discusses with them whether they would like to take on additional project maintenance responsibilities. Such responsibilities are optional and are not a required part of onboarding.

The relevant onboarding contacts are:

* Mentor and primary onboarding contact: the nominator
* GitHub maintainer and contact for GitHub access: Matteo Cantiello
* Slack maintainer and contact for Slack access: Rich Townsend
* testhub maintainer and contact for testhub access: Bill Wolf

Infrastructure Access for Collaborators
---------------------------------------
Expand Down