exercism / v3-beta

12 stars 2 forks source link

[Mentoring/Queue] Prevent mentor from starting the same mentoring session twice #147

Open angelikatyborska opened 3 years ago

angelikatyborska commented 3 years ago

Now that it's possible for a student to request mentoring a second time for the same exercise, there should be some sort of mechanism that prevents the same mentor from picking up the same mentoring session again, or at least warns them.

The solution depends on what motives do we expect the student to have for requesting mentoring again. Does requesting mentoring again mean that they were unhappy with the first mentoring? Or are they simply curious about what somebody else might say?

I am assuming that if the student or the mentor wants to continue the initial mentoring session, they can add comments to it anyway, so there is no technical reason for the same mentor to pick up the new mentoring request for the same exercise again.

iHiD commented 3 years ago

Note to self: Filtering on previously mentored solution_ids should be relatively performant from a SQL perspective.

kotp commented 3 years ago

There are technical reasons for wanting the same mentor to pick up again. If after going through other exercises, and picking up something that could be applied, it might be helpful to pick up a new mentor session from a well liked mentor. If I have ended the mentoring weeks ago, but it shows up, and it is maybe even a favorite student (and we match as favorites, even more) then perhaps they would like to get further information. Just because I end the conversation it only indicates that "at this time" I do not feel I have further mentoring to give. If they explore with other approaches, that can change at the new point in time and activity.

There is nothing that indicated that I would not want to continue on, just at the moment there is nothing to add, based on their current experience (as perceived by me) and perhaps the student agrees by also ending the discussion at that point.

kotp commented 3 years ago

In other words, if there are conversations happening, new conversations happening, and I do not see them only because I ended a current discussion, that would be unfortunate.

Sometimes I end discussions with Angela, but that doesn't mean that I would not love to continue a discussion when further information comes around.

joshgoebel commented 3 years ago

Does requesting mentoring again mean that they were unhappy with the first mentoring?

Yes, it can, I've (rarely) recommended students do this when I (or they) have had a poor experience. Sometimes another mentor would be better suited. This can even be (more commonly) where perhaps "unhappy" is too strong a phrasing. Sometimes a student wants to go a direction where I feel another mentor might be better suited. I have areas I tend to focus on and other things I'm less interested (and less experienced in)...

Or are they simply curious about what somebody else might say?

Yes, I'm often requesting re-mentoring on complex solutions to get the different takes of different mentors - such everyones approach is often so different.

I am assuming that if the student or the mentor wants to continue the initial mentoring session, they can add comments to it anyway, so there is no technical reason for the same mentor to pick up the new mentoring request for the same exercise again.

That makes sense, unless they wanted to start from scratch? But I assume (once we fix the iteration scrolling) that you could do this reasonably well in the prior mentoring session...


I think honestly for me I'd try to make both choices clear:

If you click "request mentoring":

You were previously mentored by Josh and KOTP. Would you like to resume either of those mentoring sessions or request a session with a new mentor?

And the UI would have 3 choices... 2 would jump you back into those mentoring conversations - PERHAPS unending them (so they can go back in my inbox where they belong)... and the 3rd option would put you in the queue for a new mentor.

kotp commented 3 years ago

I like the options, where we can submit back to prior mentor(s). It gives the power to the student, rather than to the developers that think they know better, and made the decision programmatically. So a checkbox of "all" or separately selecting which mentor(s) to invite back in on the conversation. (Though this may reveal a selection by the mentor to the student of "No, I am not interested in this student at all, ever.")