Renaming "mentoring" to "code review"

I am a struggler: to me ‘code review’ sounds terribly intimidating. It’s what proficient, equally competent coders do amongst themselves because no one’s perfect, no one has all the possible enhancements figured out, all the traps avoided. I think that we strugglers need guidance – mentoring, coaching, teaching, not ‘code review’. But others here, dabbling in their 14th language seem a bit insulted at the notion of someone ‘mentoring’ them. Perhaps one asks for ‘code review’ in practice exercises, ‘mentoring’ when in ‘learning mode’? I also feel that allowing mentoring only for passing code excludes the casual struggler who might not even know what the ‘command line’ is, but might become a serious student with a little bit of good mentoring; I like to think that ‘Exercism is for everyone’

1 Like

What about some A-B testing? Compile a list of phrases (“Request mentoring”, “Discuss code with a mentor”, “Request code review”, etc) and see which randomly selected phrases gets the most results? Or is that asking too much? :smile:

1 Like

Jeremy ,
While we are on this topic, I wanted to ask about the right time to ask for mentoring. Initially I would submit the request for mentoring as soon as I finish an exercise. Then I would head out to community solutions and start reviewing them. For many of the mentoring requests, the suggestions made by the mentors were already covered in the community solutions. So, I did not feel that they added much value.

Then, I tried reviewing the community solutions and for many of the exercises, I felt I got what I wanted, but still I submitted for mentorship and I did not get any meaningful feedback from my mentors.

But there were other cases where I had engaged in a long conversation with a mentor and found it very enriching. But most of the mentors I got did not provide any meaty suggestions - so, I am wondering how to strike a balance between community solutions and learning on my own and using a mentor? I would appreciate your thoughts on this.

1 Like

As a mentor, I am just as happy to receive requests of the form

I am content with my own solution, and I see X, Y, and Z in the community solutions and that all makes sense to me. The only question I have is: is there anything else to this exercise that I might find interesting?

Such requests are appropriately easy to handle: if there isn’t then the answer is “Nope, you’re good!”, and if there is then I can elaborate liberally.

If you suspect another mentor might have something interesting to say, you can resubmit your request.

After reading all the above replies, i would like to see something along these lines:

Rename to something that is neutral, like “Discuss with mentor”, “Get feedback”. When we click on that we get a modal and now we can select anything that applies, like:

  • I want to improve my code
  • I want a code review
  • I have looked at the community solutions
  • Other: Specify

Something like that would help both mentors and students.

1 Like

It seems like there are plenty of good reasons for and against rebranding mentorship. Does this have to be a binary decision? What about adding a manual code review option? It could feed into the current mentoring pipeline. Keep code reviews brief and mentoring as is. Hopefully, this solution would keep the people who like mentoring and add those people who would prefer code review. :grin:

1 Like

Adding some nuance to what being mentored means might open the door wider for those hesitant to engage in what they may perceive as a mentoring relationship. Suppose we offered a menu of typical mentoring questions and maybe an indication of what to expect with each option. In that case, those who don’t feel worthy or aren’t initially trying to become an expert might be more inclined to make the request.

1 Like

That is lovely - will use this - thanks a lot Matthijs

1 Like

@IsaacG Probably asking too much :grin: I’d like to, but realistically it’s more time than I have right now.

@siraj-samsudeen Good question! I agree with what @MatthijsBlom said. I think it’s probably always ok to ask the question and see what happens. A big point of mentoring is that we don’t know our own knowledge gaps so sometimes someone will see something in our code that we haven’t noticed ourselves. But also, sometimes the community solutions do a great job in showing us those things ourselves. The big question I’d ask is “Why did you not think of the perfect solution yourself?” - writing the code eventually isn’t the key thing, it’s about thinking in the correct way in the first place, and so maybe working with mentors to help determine how you can think more idiomatically is the key thing here.


We’ve done two things:

  1. Added a feedback tab to the editor where automated feedback and mentoring both appear. This is useful for being able to reference feedback once a mentoring session is in progress (and is the foundation for some other improvements coming soon). It’s also another opportunity to nudge someone to improve their code.
  2. Changed some of the labels to say “Submit for Code Review” rather than “Request Mentoring”. Let’s see what happens and we can change it back after a while if we don’t think it helps. “Mentors” are still “mentors”.

I also strongly agree with the opinion that code review should be mentoring. I’d argue that code review that doesn’t include useful discussion or mentoring isn’t being done well (and is effectively just a second line of CI). Code Review IMO should be an opportunity for a discussion about how best to solve a problem and write code, not an exam-marking exercise. So I’m happy to use this language here, at least as an experiment :slight_smile:

This stuff will be rolling out in the next day or two. Thanks to everyone for contributing to the discussion. It’s been very helpful to read.

Here are two screenshots of the changes:


4 Likes

I think the renaming sounds good, but it highlights a weakness of the platform as it currently stands. People want/need/ and CRAVE actual mentoring. How will we fill this void??

Under 1% of people submitting exercises request mentoring. Despite us plastering it everywhere offering it them for free, emailing them about it any more. So clearly there’s some sort of huge disconnect between the people craving it, and the people requesting it.

Often though, disconnects like this are based in lack of clarity about a process, fear of failure/rejection, or similar. So us focussing more heavily on telling people it’s safe and easy is probably the first way we should start. I suspect “Code Review” as a concept makes the process immediately clearer and therefore might lead to an uptick. But it might not and we might need to focus more heavily in other ways!

I’ve just deploying this. Let’s see what happens!

1 Like

I am all for trying something new and seeing what works or not.

1 Like

It’s only been a month, but I’m curious: have any effects of the renaming already made themselves known?

Yes, the last two months have been the highest since the start of 2022. Specifically April was a 50% increase on the previous monthly average.

Month Requests
202201 1805
202202 1770
202203 1789
202204 1611
202205 1501
202206 1713
202207 1706
202208 1470
202209 1306
202210 1286
202211 1246
202212 1274
202301 1625
202302 1824
202303 2265
202304 2447
2 Likes

Egh, the data might be confounded by #12in23. Is the trend robust against excluding the featured languages of each month?

The data might be confused by lots of things. But general usage hasn’t risen that significantly from Jan to April so as a percentage of solutions it’s relatively robust.

17 posts were split to a new topic: Optimising Student Engagement in Mentoring

I’d prefer “code review”. I have requested mentoring/review of an exercise, but haven’t received mentoring/review yet, so what do I know. :)

“Code review” is what we do in professional settings. This can range from “looks good to me” to suggestions (fx “consider a hash table rather than loop through 1000 keys”) to onboarding to, I suppose, mentoring.

Note this was already changed about a year ago.

Hello,

I joined Exercism a few weeks ago and would first like to thank you for this great opportunity.

Apart from the first exercise, I have requested mentoring on all the others and have learned so much.

I would especially like to thank and highlight @siebenschlaefer as a mentor.

For me, the ability to request mentoring is the killer feature of Exercism.

I requested mentoring for my last exercise in c-lang and have yet to receive a response.

Since then, I have not solved any more exercises.

Please don’t misunderstand, everyone is doing this voluntarily and there is no right to mentoring.

But without mentoring, solving the tasks makes no sense for me.

Perhaps it is also because of the C language, which certainly has fewer mentors than Python / C++ / Java etc.