Έχεις επιλέξει μια άσκηση για καθοδήγηση. Τώρα δώσε εξαιρετική ανατροφοδότηση.
Σε αυτό το σημείο θα πρέπει να έχεις διαλέξει μια λύση για καθοδήγηση. Αν δεν το έχεις κάνει, δες πρώτα το Επιλογή λύσης για καθοδήγηση και μετά γύρνα εδώ.
Πρόκειται να δώσεις την πρώτη σου ανατροφοδότηση σε έναν μαθητή. Αυτό μπορεί να είναι συναρπαστικό, αλλά και αρκετά τρομακτικό. Πολλοί (και από τους καλύτερους!) μέντορες υποφέρουν από το σύνδρομο του απατεώνα σε αυτό το σημείο και τα παρατάνε πριν καν ξεκινήσουν. Αν νιώθεις έτσι, είναι απόλυτα κατανοητό, αλλά και σχεδόν πάντα περιττό. Από τη στιγμή που αγχώνεσαι για το αν η ανατροφοδότησή σου θα είναι αρκετά καλή, είναι πιθανό ότι θα δώσεις προσεγμένα και ταπεινά σχόλια που οι μαθητές θα εκτιμήσουν πραγματικά. Και στη χειρότερη περίπτωση, ο μαθητής μπορεί πάντα να τερματίσει τη συζήτηση και να τη στείλει πίσω στην ουρά για κάποιον άλλον μέντορα. Οπότε δοκίμασέ το!
Το πρώτο πράγμα που πρέπει να έχεις στο μυαλό σου είναι η σωστή νοοτροπία ως μέντορας. Οι μαθητές ελπίζουν ότι μπορείς να τους βοηθήσεις να βελτιώσουν τις γνώσεις τους και να τους πεις πράγματα που δεν ξέρουν. Η δουλειά σου δεν είναι να "βαθμολογήσεις" τη δουλειά τους, αλλά να χρησιμοποιήσεις τη λύση τους ως βάση για να ξεκλειδώσεις ιδέες με τις οποίες δεν είναι εξοικειωμένοι ή με τις οποίες δυσκολεύονται.
Αξίζει επίσης να θυμάσαι ότι οι περισσότεροι χρήστες στο Exercism είναι έμπειροι προγραμματιστές που μαθαίνουν μια νέα γλώσσα. Έτσι, αν και ο κώδικάς τους μπορεί να σου φαίνεται κακός, αυτό μπορεί κάλλιστα να συμβαίνει επειδή απλώς δεν έχουν εμπειρία στο να γράφουν αυτή τη γλώσσα. Παρόμοιος κώδικας σε μια άλλη γλώσσα μπορεί να είναι απόλυτα ιδιωματικός και σωστός. Οι συζητήσεις τείνουν να είναι πιο παραγωγικές όταν τις προσεγγίζεις σαν δύο ίσους συνομιλητές που συζητούν ένα θέμα, παρά σαν ένα άτομο που επιδεικνύει τις γνώσεις του σε κάποιον άλλο.
Όταν ένας μαθητής υποβάλλει μια λύση για καθοδήγηση, του ζητείται να πει στον μέντορα τι ελπίζει να πάρει από αυτήν. Είναι πολύ σημαντικό εσύ, ως μέντορας, να το διαβάσεις και να προσπαθήσεις να ανταποκριθείς σε αυτό μέσα στην ανατροφοδότησή σου.
Ωστόσο, μία από τις βασικές αξίες της καθοδήγησης στο Exercism είναι ότι οι μέντορες μπορούν να βοηθήσουν τους μαθητές να ανακαλύψουν ιδέες που δεν είχαν ιδέα ότι υπάρχουν. Έτσι, μπορεί να κοιτάξεις τη λύση ενός μαθητή, να διαβάσεις το σχόλιό του όπου ρωτάει αν υπάρχουν μικροαλλαγές που θα μπορούσε να κάνει, και να σκεφτείς "Ουάου, δεν έχεις πιάσει καθόλου το νόημα αυτής της άσκησης". Μπορεί να έχει χάσει εντελώς το νόημα της άσκησης. Στην πορεία σου ως μέντορας, θα δεις κάποιες απίστευτα "υπερπροσαρμοσμένες" λύσεις, όπου οι μαθητές κάνουν τα tests να περνούν αλλά χάνουν εντελώς το νόημα της πρόκλησης. Ή μπορεί να δεις απίστευτα περίπλοκες λύσεις που μπορούν να ξαναγραφτούν σε δύο γραμμές κώδικα.
Η δουλειά σου ως μέντορας είναι να βοηθήσεις τον μαθητή να προχωρήσει από εκεί που ξεκινά. Ποιο είναι το σημαντικότερο πράγμα που θα μπορούσες να κάνεις για να ξεκλειδώσεις μια ιδέα ή να ξεμπλοκάρεις τη σκέψη του; Θα διαπιστώσεις ότι αν καταφέρεις να εξηγήσεις μια ιδέα σε έναν μαθητή και να του ανάψεις το λαμπάκι στο μυαλό, θα είναι μια εξαιρετικά ικανοποιητική συζήτηση.
Ο σκοπός της καθοδήγησης δεν είναι να φτάσει ο μαθητής στη βέλτιστη λύση, αλλά να μάθει καινούργια πράγματα. Το να δώσεις απλώς στον μαθητή τη σωστή απάντηση δεν είναι ούτε χρήσιμο ούτε βοηθητικό. Το Exercism ενθαρρύνει τους μαθητές να πάνε να δουν τις λύσεις άλλων και να μάθουν από αυτές, οπότε το να τους δώσεις εσύ μια καλή λύση δεν προσθέτει καμία αξία. Η αξία που προσθέτεις ως μέντορας είναι να τους βοηθήσεις να σκεφτούν διαφορετικά, να δουν τα πράγματα με άλλο μάτι.
Οι μέντορες έχουν διαφορετικές προσεγγίσεις ως προς το αν δίνουν "υποδείξεις" ή "εξηγήσεις". Κατά κανόνα, στόχευσε κάπου στη μέση. Φρόντισε να πεις στον μαθητή αρκετά ώστε να καταλάβει τι πρέπει να δοκιμάσει, αλλά προσπάθησε να μη του δίνεις απλώς την απάντηση και να του εξηγείς γιατί δουλεύει.
Για παράδειγμα, φαντάσου ότι βλέπεις μια εντολή if στη Ruby που θα ήταν πολύ πιο ωραία γραμμένη με τον τριαδικό τελεστή:
# Student's code
if a
b = 1
else
b = 2
end
# Mentor's suggestion
b = a ? 1 : 2
Θα μπορούσες απλώς να πεις: "Γράψε b = a ? 1 : 2 αντί για την εντολή if στη γραμμή 10", αλλά έτσι δεν θα βοηθούσες τον μαθητή να καταλάβει το γιατί ούτε να έχει τη δική του στιγμή φώτισης.
Αντ' αυτού, θα ήταν πολύ καλύτερο να του συστήσεις την ιδέα του τριαδικού τελεστή και να θέσεις στον μαθητή μια πρόκληση. Για παράδειγμα: "Νομίζω ότι θα μπορούσες να συμπτύξεις τις γραμμές 10-14 σε μία μόνο γραμμή χρησιμοποιώντας τον τριαδικό τελεστή. Πώς θα μπορούσε να μοιάζει αυτό;" Έτσι ο μαθητής θα πρέπει να παίξει με την ιδέα και να το λύσει μόνος του, αλλά του έχεις δώσει αρκετές πληροφορίες για να δουλέψει.
Στο άλλο άκρο, το να πεις "Σύμπτυξε τις γραμμές 10-14 σε μία" δεν θα έδινε στον μαθητή καμία ένδειξη για το πώς μπορεί να γίνει αυτό, και έτσι θα μπορούσε να τον απογοητεύσει απίστευτα. Προσπάθησε να δίνεις αρκετές πληροφορίες ώστε ο μαθητής να μπορεί να προχωρήσει.
Οι μέντορες έχουν διαφορετικά στυλ, αλλά η προεπιλεγμένη μας πρόταση είναι να δίνεις τα ένα έως τρία πιο σημαντικά σημεία ανατροφοδότησης σε κάθε επανάληψη. Αν ο μαθητής υποβάλει μια νέα επανάληψη με αυτά λυμένα, μπορείς τότε να δώσεις άλλα ένα έως τρία σημεία ανατροφοδότησης. Χωρίζοντας τα πράγματα με αυτόν τον τρόπο, ο μαθητής δεν θα νιώσει να πνίγεται, αλλά θα έχει και αρκετά να κάνει ώστε να κάνει ουσιαστικές αλλαγές κάθε φορά.
Καθώς αποκτάς εμπειρία στην καθοδήγηση, θα αρχίσεις να καταλαβαίνεις πώς αντιδρούν διαφορετικοί μαθητές σε διαφορετική ανατροφοδότηση και θα αναπτύξεις ένα στυλ που ταιριάζει στην προσωπικότητά σου.
Ένα από τα καλύτερα πράγματα στο να είσαι μέντορας στο Exercism είναι η κοινότητα των άλλων μεντόρων από τους οποίους μπορείς να μάθεις. Αν έχεις κάποια ερώτηση για μια λύση, ή απλώς θέλεις να ανταλλάξεις ιδέες με άλλους μέντορες, μπες στο φόρουμ μας και ρώτα ελεύθερα! Πιθανότατα θα βρεις και ανθρώπους που μπορείς να βοηθήσεις εσύ 🙂