Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: Add mentee selection process #5920

Merged
merged 6 commits into from
Nov 28, 2022

Conversation

saswatamcode
Copy link
Member

This PR adds content for the Mentee Selection section i.e, process and recommendations, based on recent mentor learnings meeting we had with @bwplotka, @fpetkovski & @metonymic-smokey.

Would love to get some feedback on these processes and any additional recommendations that you might want! 🙂

  • I added CHANGELOG entry for this change.
  • Change is not relevant to the end user.

Changes

Verification

Copy link
Collaborator

@matej-g matej-g left a comment

Choose a reason for hiding this comment

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

Nice to have this in writing 😊

Comment on lines 122 to 123
* The mentee should have some form of local development environment setup, that would not require the mentor to constantly debug the mentee's environment, while working on the project.
* This is hard to ensure fully, but generally the mentee should be working on linux/linux VM/macOS, so most generic GNU/BSD commands are compatible.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'd even say debugging local environment is not strictly part of mentoring, ideally this should be up to the mentee and they should be able to deal with their environment (obviously, mentor should be able to follow their environment during pair programming etc.).

Copy link
Member

Choose a reason for hiding this comment

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

I don't think this is strictly necessary and I think it's potentially exclusionary to note it. If mentees want to use windows because it's the machine they have access to, then by all means, let them. They can always use the WSL or something. Alternatively, they can help get our scripts and such working on .ore platforms.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yup, I can rephrase a bit here but generally wanted to mention that having a local environment that the mentee knows how to operate, is beneficial, and helps the mentorship be more productive. I think we can mention linux VM as a fallback if problems due to this arise. We're not excluding any platforms/machines by any means. WDYT? 🙂

I think @bwplotka can speak more to this as well.

Copy link
Member

@bwplotka bwplotka Nov 28, 2022

Choose a reason for hiding this comment

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

Unfortunately, we have a visible case where WSL blocked mentees for the majority of mentorship time: So I would keep what Saswata wrote, just to motivate mentees to learn Linux / Linux VM creation upfront to make their mentorship time the most effective.

Copy link
Contributor

Choose a reason for hiding this comment

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

Unfortunately, we have a visible case where WSL blocked mentees for the majority of mentorship time.

Let's make this better then. I have a WSL2 environment at home that I successfully used for some time to work on Thanos and if there are any related issues I could have a look at them to help.

I 200% agree with @squat's statement.

Copy link
Member Author

@saswatamcode saswatamcode Nov 28, 2022

Choose a reason for hiding this comment

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

To reiterate, we aren't excluding mentees from using any machine/OS. Running a linux VM is acceptable in most cases and this is about having really productive mentorship, without the mentor having to spend time, debugging the mentee's local env in case they run into problems and are blocked.

Let's make this better then. I have a WSL2 environment at home that I successfully used for some time to work on Thanos and if there are any related issues I could have a look at them to help.

You could update https://thanos.io/tip/contributing/contributing.md/#development with this, but I'd still be against recommending complicated envs to mentees (who are often new to software and open-source), and instead just defaulting to simple linux VMs.

Copy link
Contributor

@douglascamata douglascamata Nov 29, 2022

Choose a reason for hiding this comment

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

It's not complicated, unless we have Service objects using service.spec.sessionAffinity: ClientIP. In this case we would need to recompile the WSL 2 kernel, then it becomes complicated. But most of Thanos development can be done within just Docker, without k8s.

Otherwise it's literally a matter of installing an app from the Microsoft Store. It integrates easily into Windows itself and any GUI code editor (like, but not limited to, VSCode or Goland).

docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Show resolved Hide resolved
bwplotka
bwplotka previously approved these changes Nov 28, 2022
Copy link
Member

@bwplotka bwplotka left a comment

Choose a reason for hiding this comment

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

Nice, thanks!

docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Outdated Show resolved Hide resolved
docs/contributing/mentorship.md Show resolved Hide resolved
bwplotka
bwplotka previously approved these changes Nov 28, 2022
Copy link
Member

@bwplotka bwplotka left a comment

Choose a reason for hiding this comment

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

Thanks! Great, we can always iterate later. @squat are you roughly ok with wording here?

* The mentee should be able to allocate enough time to the mentorship.
* Thus, having prior important commitments like a full-time job or large educational course load can lead to mentees not having enough time for the mentorship, even if they claim to commit to working > 30hrs a week. This could manifest as mentees not having enough energy to think about a project, skipping meetings, and not being able to utilize the time mentors can spend with them. It is hard to help them in such case. So it is better to practically judge the amount of work a mentee would be able to balance before selecting them.
* Generally, we expect our mentees to be university/college students, who would be able to balance both the mentorship and a moderate amount of course load. Commitments larger than this would need to be treated with some caution. Generally, it's only ok to have a full-time job only for more senior engineers, who understand how to organize work, be transparent about mentorship with their employer etc.
* In case the mentee is employed full-time, asking for some form of proof (letter/forwarded email from manager) that their employer approves of them working on this mentorship is preferable.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* In case the mentee is employed full-time, asking for some form of proof (letter/forwarded email from manager) that their employer approves of them working on this mentorship is preferable.
* In case the mentee is employed full-time, we recommend asking for some form of proof (letter/forwarded email from manager) that their employer approves of them working on this mentorship is preferable.

Copy link
Member Author

Choose a reason for hiding this comment

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

"is preferable" is at the end, so that makes this optional anyway 🙂

Copy link
Member

@squat squat left a comment

Choose a reason for hiding this comment

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

generally looks good. made some more suggestions. phrasing looks pretty good

squat
squat previously approved these changes Nov 28, 2022
Copy link
Member

@squat squat left a comment

Choose a reason for hiding this comment

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

lgtm

saswatamcode and others added 5 commits November 28, 2022 21:03
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
Co-authored-by: Lucas Servén Marín <lserven@gmail.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
Co-authored-by: Lucas Servén Marín <lserven@gmail.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
@bwplotka bwplotka merged commit afdb30e into thanos-io:main Nov 28, 2022
ngraham20 pushed a commit to ngraham20/thanos that referenced this pull request May 18, 2023
* Docs: Add mentee selection process

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

* Update docs/contributing/mentorship.md

Co-authored-by: Lucas Servén Marín <lserven@gmail.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

* Address feedback

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

* Apply suggestions from code review

Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

* Address full-time mentee + feedback

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

* Apply suggestions from doc review

Co-authored-by: Lucas Servén Marín <lserven@gmail.com>
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
Co-authored-by: Lucas Servén Marín <lserven@gmail.com>
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants