Häufige Fragen zum Mentoring

Eine Sammlung häufig gestellter Fragen rund ums Mentoring


Was qualifiziert jemanden als Mentor?

Kann ich eine Sprache mentorieren, während ich sie noch lerne?

Kann ich mehr als eine Sprache mentorieren?

Sollte ich versuchen, jede Lösung in der Warteschlange zu mentorieren?

Was, wenn eine Lösung seit Tagen, sogar Wochen in der Warteschlange liegt?

Was, wenn ich zu einer Lösung nichts vorschlagen kann?

Sollte ich eine Übung mentorieren, die ich noch nie gelöst habe?

Sollte ich eine Übung mentorieren, die ich gelöst habe, aber in einer anderen Sprache?

Muss ich eine Lösung mentorieren, sobald ich sie gesehen habe?

Was, wenn der Lernende etwas auch nach mehreren Erklärungen nicht versteht?

Wie reagiere ich, wenn der Lernende auf meine Vorschläge abwehrhaft reagiert?

Sollte der Lernende das letzte Wort haben, auch wenn ich ihn für falsch halte?

Wie formuliere ich einen Vorschlag am besten?

Sollte ich auf Formatierung, Kommentare und Namenskonventionen bestehen?

Was qualifiziert jemanden als Mentor?

Du musst kein Experte in einer Sprache sein, um sie zu mentorieren. Du musst nur ein wenig weniger Anfänger sein als die Person, die du mentorierst. Wenn es in einer Lösung etwas gibt, das man auch anders machen könnte, kannst du es vorschlagen. Es muss nicht unbedingt ein besserer Weg sein, sondern einfach eine idiomatische Alternative. Damit liegt die Wahl, ob der Vorschlag verwendet wird oder nicht, beim Lernenden, aber zumindest hat er mehr Optionen zur Auswahl.

Kann ich eine Sprache mentorieren, während ich sie noch lerne?

Idealerweise lernst du eine Sprache nie aus, auch nicht, wenn du sie schon kennst. Manche Sprachen veröffentlichen alle paar Wochen oder Monate eine aktualisierte Version. Es kann nicht nur neue Sprachfeatures zu lernen geben, sondern auch bestehende Features, die du nicht kennst. Manchmal verwendet ein Lernender ein Feature, und dann siehst du es zum ersten Mal. Mentoring kann also ein guter Weg sein, mehr über eine Sprache zu lernen.

Kann ich mehr als eine Sprache mentorieren?

Du kannst so viele Sprachen mentorieren, wie du dich dabei wohlfühlst. Es ist okay, mehrere Sprachen zu mentorieren, in denen du stark bist, genauso wie eine Sprache, die du noch lernst.

Sollte ich versuchen, jede Lösung in der Warteschlange zu mentorieren?

Wenn dir zu einer Lösung gerade nichts Gehaltvolles oder Konstruktives einfällt, ist es für den Lernenden vielleicht besser, wenn du die Mentoring-Anfrage einem anderen Mentor überlässt, auch wenn der Lernende dann länger auf eine Antwort warten muss.

Was, wenn eine Lösung seit Tagen, sogar Wochen in der Warteschlange liegt?

Wenn der Lernende eine konkrete Frage gestellt hat, die du nicht beantworten kannst, solltest du sie vielleicht trotzdem jemandem überlassen, der seine Frage beantworten kann.

Ansonsten gehört die Lösung vielleicht zu einer Übung, die für dich schwer war und die du entweder noch nicht gelöst hast oder gelöst hast, aber das Gefühl hattest, es nicht besonders gut gemacht zu haben. In dem Fall kannst du die Lösung durchgehen und schauen, ob du etwas daraus lernen kannst. Wenn ja, kannst du dem Lernenden dafür danken, was du konkret aus seiner Lösung gelernt hast.

Oder du möchtest, dass der Lernende dir seine Lösung erklärt. Das ist eine Art „Reverse Mentoring“, aber manche Lernende erklären ihre Lösung gern, wenn man höflich und respektvoll fragt. Du kannst dann fragen, ob sie einen anderen Ansatz in Betracht gezogen haben und warum sie sich für ihren Ansatz entschieden haben.

Oder du verstehst die Lösung insgesamt immer noch nicht, siehst aber einige Punkte, die du ansprechen kannst. Zum Beispiel kannst du anregen, aussagekräftige Namen für Funktionsparameter zu verwenden, wenn nur n oder m benutzt wurde.

Wenn du dich mit keinem dieser Dinge wohlfühlst, ist es okay, die Anfrage unbeantwortet zu lassen. Mentoring ist freiwillig. Nur weil du eine Sprache mentorierst, musst du nicht jede Übung für diese Sprache mentorieren.

Was, wenn ich zu einer Lösung nichts vorschlagen kann?

Es ist okay, zu sagen, was dir an einer Lösung gefällt. Tatsächlich ist es ein guter Einstieg in jedes Mentoring, zu sagen, was dir konkret an einer Lösung gefällt. Wenn du danach keine Vorschläge für alternative Herangehensweisen an die Übung hast, kannst du dem Lernenden einfach sagen: „Gut gemacht!“ Wenn der Lernende mehr als eine Iteration eingereicht hat, kannst du darauf hinweisen, inwiefern die neueste Iteration eine Verbesserung ist.

Sollte ich eine Übung mentorieren, die ich noch nie gelöst habe?

Manchmal bringt dich die Lösung eines Lernenden dazu, die Übung selbst zu lösen, besonders wenn der Ansatz in der Lösung die Übung einfacher erscheinen lässt als Ansätze, die du vielleicht schon in Betracht gezogen hast. Wenn die Mentoring-Anfrage, die dich inspiriert hat, nach dem Lösen der Übung nicht mehr verfügbar ist, bist du wenigstens beim nächsten Mal bereit.

Sollte ich eine Übung mentorieren, die ich gelöst habe, aber in einer anderen Sprache?

Da das, was in einer Sprache idiomatisch ist, in einer anderen nicht idiomatisch sein muss, ist es wahrscheinlich am besten, die Übung in der Sprache gelöst zu haben, die du mentorierst. Wenn sich die Lösungen in zwei Sprachen sehr ähneln und du beide Sprachen gut genug kennst, um zu wissen, was in jeder idiomatisch ist, sollte es nicht lange dauern, eine Lösung von einer Sprache in die andere zu übertragen. Wenn die Mentoring-Anfrage nach dem Übertragen der Lösung nicht mehr verfügbar ist, bist du wenigstens beim nächsten Mal bereit.

Muss ich eine Lösung mentorieren, sobald ich sie gesehen habe?

Vielleicht schaust du dir eine Lösung an und merkst, dass du sie aus verschiedenen Gründen nicht mentorieren möchtest, zum Beispiel:

  • Der Lernende hat vielleicht eine Frage gestellt, deren Antwort du nicht kennst.
  • Der Code ist vielleicht so weitschweifig und/oder verwirrend, dass du nicht weißt, wo du mit der Kritik anfangen sollst.
  • Der Code deutet vielleicht darauf hin, dass der Lernende ein absoluter Anfänger ist und viel grundlegende Anleitung braucht, für die du weder Zeit noch Geduld hast.
  • Der Kommentar des Lernenden deutet vielleicht darauf hin, dass die Interaktion mit ihm unangenehm oder mühsam werden könnte.

Niemand zwingt dich, auf die Schaltfläche „Mentoring starten“ zu klicken, wenn du findest, dass diese Mentoring-Anfrage nichts für dich ist.

Was, wenn der Lernende etwas auch nach mehreren Erklärungen nicht versteht?

Es kann vorkommen, dass ein Lernender sich geradezu hartnäckig weigert, deine Erklärungen zu verstehen. Wenn du das Gefühl hast, alle dir bekannten Erklärungen ausgeschöpft zu haben, kannst du die Diskussion mit dem Vorschlag beenden, dass der Lernende seine Mentoring-Anfrage erneut einreicht, damit sie von einem anderen Mentor übernommen werden kann, der die schwierigen Punkte vielleicht besser erklären kann.

Wie reagiere ich, wenn der Lernende auf meine Vorschläge abwehrhaft reagiert?

Manchmal sagt ein Lernender, er habe einen aufwendigeren Ansatz als nötig gewählt, um mehr über ein Sprachfeature zu lernen, auch wenn dieses Feature nicht am besten zur Übung passt. Da Exercism eine Lernplattform und keine Seite für Wettbewerbsprogrammierung ist, ist das ein legitimer Grund, nicht den elegantesten oder effizientesten Ansatz zu wählen. Du kannst Vorschläge dazu machen, wie sie ihren Ansatz umgesetzt haben, wenn du siehst, dass sie ihn idiomatischer hätten umsetzen können. Auf jeden Fall kannst du vorschlagen, dass sie auf Basis des Feedbacks eine weitere Iteration einreichen oder die Diskussion beenden, um einen Mentoring-Platz freizugeben.

Ein Lernender hängt vielleicht einem Programmierparadigma an, das nicht am besten zur Sprache oder zur Übung passt. Zum Beispiel möchte er immer das objektorientierte Paradigma verwenden und zerlegt eine relativ einfache, geradlinige Lösung in eine kleine Explosion von Klassen mit labyrinthartigem Kontrollfluss über mehrere Methoden. Je dogmatischer der Lernende dem Paradigma folgt, desto fruchtloser ist es meist, ihn von einem anderen Ansatz überzeugen zu wollen. Du kannst es versuchen, und vielleicht reagiert er auf deinen Vorschlag, aber wenn der Lernende sich festfährt, ist es vielleicht am besten, weiterzugehen.

Der Lernende lehnt einen Vorschlag vielleicht rundheraus ab. Zum Beispiel schlägst du vielleicht reduce statt map und join vor, da reduce nur eine Iteration ist statt einer Iteration für map und einer weiteren für join. Aber der Lernende lehnt das vielleicht ab, weil er map und join für lesbarer hält. Es ist okay, dem Lernenden zuzustimmen, dass map und join lesbarer sein können als reduce. Du kannst vorschlagen, dass er sich mit reduce wohler fühlen wird, wenn er sich erst daran gewöhnt hat, und dass nichts falsch daran ist, map und join zu verwenden.

Es ist okay, einem Lernenden zuzustimmen, soweit er recht hat, und es ist okay, zu versuchen, eine falsche Vorstellung oder Übertreibung zu korrigieren, die er geäußert hat.

Sollte der Lernende das letzte Wort haben, auch wenn ich ihn für falsch halte?

Zum Beispiel schlägst du einem Lernenden vielleicht vor, bei der Übung Clock keine magischen Zahlen wie 60 und 24 zu verwenden, sondern sie als Konstanten mit aussagekräftigen Namen zu definieren. Der Lernende antwortet vielleicht, dass im Kontext offensichtlich ist, wofür 60 und 24 stehen. Du hast deinen Vorschlag gemacht, und der Lernende hat ihn verworfen. Vielleicht gibt es nichts zu gewinnen, und womöglich nur Wohlwollen zu verlieren, wenn du darüber diskutierst.

Wie formuliere ich einen Vorschlag am besten?

Um etwas als Alternative vorzuschlagen, die nicht unbedingt besser sein muss, kannst du mit „Ein anderer Ansatz könnte sein...“ beginnen. Zum Beispiel: „Ein anderer Ansatz könnte sein, every zusammen mit includes zu verwenden.“

Note

Wenn du ein Sprachfeature einführst, das der Lernende in der Lösung nicht verwendet hat (etwa every oder includes), ist es gut, auf eine Doku zu verlinken, die es erklärt.

Eine andere Möglichkeit, einen Vorschlag einzuleiten, ist „Vielleicht könntest du...“ Zum Beispiel: „Vielleicht könntest du Spread-Syntax statt split() verwenden.“ Wenn du stark findest, dass der Lernende eine Alternative verwenden sollte, kannst du das „Vielleicht“ weglassen und mit „Ziehe in Betracht...“ beginnen. Zum Beispiel: „Ziehe in Betracht, ein Standardargument zu verwenden.“

Bei einer Reihe von Vorschlägen solltest du vielleicht variieren, wie du jeden einzelnen einleitest.

Aufzählungspunkte sind ein wirksamer Weg, um aufzulisten, was dir an einer Lösung gefällt. Beim Auflisten von Vorschlägen wirken sie vielleicht weniger freundlich. Vorschläge locker und im Gesprächston anzubieten, macht es für den Lernenden vielleicht leichter, sie zu bedenken und anzunehmen.

Ein Wort, das man beim Vorschlagen wahrscheinlich am besten nicht verwendet, ist „should“. Zum Beispiel: „You should use a default argument.“ Wörter wie „should“ oder „must“ können bevormundend wirken.

Sollte ich auf Formatierung, Kommentare und Namenskonventionen bestehen?

Mentoren sind sich wahrscheinlich uneinig darüber, wann und wie nachdrücklich sie Themen wie Codeformatierung, Kommentare und Namenskonventionen ansprechen sollten. Einerseits möchtest du den Lernenden vielleicht schon früh mit Übungen wie Two Fer zum Nachdenken über solche Dinge anregen, bevor er schlechte Gewohnheiten entwickelt. Oder du möchtest einen Anfänger nicht mit all diesen Anstandsüberlegungen abschrecken. Andererseits kennen Lernende, die die fortgeschritteneren Übungen machen, die Konventionen vielleicht schon, ignorieren sie aber bewusst, weil sie sich auf die aktuelle Aufgabe konzentrieren. Sie könnten es übelnehmen, wenn du weiter auf Konventionen beharrst, und das als Pedanterie empfinden. Wenn eine Sprache einen oder mehrere Formatierer oder Linter hat, ist es gut, eine Übung auszuwählen, in der du sie einführst. Ansonsten, wenn der Verstoß gegen eine bestimmte Konvention wirklich schlimm ist, solltest du ihn vielleicht überall ansprechen, wo er auftritt. Worüber Mentoren unterschiedlicher Meinung sein können, ist, was als „wirklich schlimm“ gilt.