Τι έμαθα σε 10 χρόνια στο Stack Overflow

Τι έμαθα σε 10 χρόνια στο Stack Overflow
Πλησιάζω τη δέκατη επέτειό μου στο Stack Overflow. Με τα χρόνια, η προσέγγισή μου στη χρήση του ιστότοπου και η αντίληψή μου για αυτόν έχει αλλάξει πολύ και θέλω να μοιραστώ την εμπειρία μου μαζί σας. Και γράφω για αυτό από τη σκοπιά του μέσου χρήστη που δεν εμπλέκεται πολύ στη ζωή της κοινότητας του ιστότοπου ή στην κουλτούρα του. Αυτές τις μέρες απαντάω μόνο σε ερωτήσεις που σχετίζονται με το VS Code, το προϊόν στο οποίο εργάζομαι. Ωστόσο, συνήθιζα να συμμετέχω ενεργά σε συζητήσεις για ένα ευρύ φάσμα θεμάτων. Σε 10 χρόνια εγώ έκανε περίπου 50 ερωτήσεις και έδωσε 575 απαντήσεις, εξέτασε μια μυριάδα σχολίων άλλων ανθρώπων.

Τζον Σκιτ περιέγραψε την κουλτούρα του Stack Overflow πολύ καλύτερα και πιο έγκυρα από ό,τι θα μπορέσω ποτέ να κάνω. Η δημοσίευσή του επηρέασε ορισμένα από τα κεφάλαια αυτού του άρθρου, αλλά συνολικά αυτά είναι οι δικές μου ειλικρινείς σκέψεις σχετικά με τις εμπειρίες μου στο Stack Overflow, το καλό και το κακό του ιστότοπου και πώς μπορεί να χρησιμοποιηθεί σήμερα. Αυτή η συζήτηση θα είναι αρκετά επιφανειακή, χωρίς να εμβαθύνουμε στη λειτουργία του ιστότοπου ή στην ιστορία του.

Ορίστε λοιπόν τι έμαθα από 10 χρόνια χρήσης του Stack Overflow.

Πρέπει να μπορείτε να κάνετε ερωτήσεις

Με την πρώτη ματιά, τίποτα δεν θα μπορούσε να είναι απλούστερο: πληκτρολογήστε μερικές λέξεις στο πεδίο κειμένου, κάντε κλικ στο "Υποβολή" και το Διαδίκτυο θα σας βοηθήσει ως δια μαγείας να λύσετε όλα τα προβλήματά σας! Αλλά μου πήρε σχεδόν 10 χρόνια για να καταλάβω ποιες λέξεις να πληκτρολογήσω σε αυτό το καταραμένο πεδίο για να έχω πραγματικά αποτελέσματα. Στην πραγματικότητα, εξακολουθώ να το μαθαίνω καθημερινά.

Το να κάνετε καλές ερωτήσεις είναι μια πραγματικά υποτιμημένη ικανότητα (όπως και η σύνταξη μιας καλής αναφοράς για το θέμα, για αυτό το θέμα). Πρώτον, πώς προσδιορίζουμε αν μια ερώτηση είναι «καλή»; Προσφορές Stack Overflow ίχνος, το οποίο απαριθμεί τις ακόλουθες ιδιότητες μιας καλής ερώτησης:

  • Ταιριάζει με το θέμα του ιστότοπου;
  • Υπονοεί μια αντικειμενική απάντηση.
  • Δεν έχει ερωτηθεί ακόμα.
  • Έχει ερευνηθεί.
  • Περιγράφει ξεκάθαρα το πρόβλημα, συνήθως με ένα ελάχιστο, εύκολα αναπαραγόμενο παράδειγμα.

Εντάξει, αλλά πώς μοιάζει στην πράξη μια «σαφή δήλωση προβλήματος»; Ποιες πληροφορίες είναι σχετικές και ποιες όχι; Μερικές φορές φαίνεται ότι για να κάνετε μια καλή ερώτηση, πρέπει πρώτα να μάθετε την απάντηση.

Δυστυχώς, το μικρό πεδίο κειμένου δεν βοηθά εδώ. Είναι λοιπόν περίεργο που τόσοι πολλοί χρήστες δημοσιεύουν ερωτήσεις χαμηλής ποιότητας; Μερικές φορές η μόνη απάντηση που παίρνουν είναι ένας σύνδεσμος προς κάποια συγκεχυμένη τεκμηρίωση. Και θα είναι ακόμα τυχεροί. Πολλές ερωτήσεις χαμηλής ποιότητας απλώς καταψηφίζονται σιωπηλά και εξαφανίζονται στο ατελείωτο νήμα των ερωτήσεων.

Το να κάνεις καλές ερωτήσεις είναι μια δεξιότητα. Ευτυχώς, μπορεί να αναπτυχθεί. Έμαθα κυρίως διαβάζοντας ένα σωρό ερωτήσεις και απαντήσεις, σημειώνοντας τι λειτούργησε και τι όχι. Ποιες πληροφορίες είναι χρήσιμες και τι ενοχλητικές; Αν και θα φοβάστε ακόμα να χρησιμοποιήσετε τις γνώσεις που αποκτήσατε στην πράξη και να κάνετε ερωτήσεις. Απλά προσπαθήστε το καλύτερο και μάθετε από τα αποτελέσματα. Οφείλω να ομολογήσω ότι ο ίδιος ντρέπομαι για κάποιες από τις πρώιμες ανίδεες ερωτήσεις μου, αν και ίσως αυτό αποδεικνύει ότι έχω βελτιώσει πολύ τις δεξιότητές μου στις ερωτήσεις από τότε που βρέθηκα σε αυτόν τον ιστότοπο.

Οι κακές και οι όχι και τόσο καλές ερωτήσεις δεν είναι το ίδιο πράγμα

Δεν θα ζαχαρώσω το χάπι: ορισμένες ερωτήσεις είναι απλώς κακές.

Μια ερώτηση που αποτελείται από ένα στιγμιότυπο οθόνης και τη φράση "ΓΙΑΤΙ ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ ΑΥΤΟ!;!" - κακό. Γιατί; Είναι προφανές ότι ο συγγραφέας δεν κατέβαλε σχεδόν καμία προσπάθεια. Αυτό δεν είναι τόσο μια ερώτηση όσο μια απαίτηση: "Κάνε αυτή τη δουλειά για μένα!" Γιατί να το κάνω αυτό; Ο χρόνος μου είναι πολύ πολύτιμος για να σπαταλήσω βοηθώντας κάποιον που δεν θέλει να μάθει από την αρχή και δεν θα εκτιμήσει τη βοήθειά μου. Μάθετε τι είναι το Stack Overflow.

Τώρα σκεφτείτε μια ερώτηση με τίτλο "Πώς να αφαιρέσω τα μπλε περιγράμματα στη σελίδα μου", η οποία αποτελείται από πολλές παραγράφους κειμένου που μιλά για την ιδιότητα του περιγράμματος CSS, χωρίς όμως να αναφέρει ρητά τις λέξεις "CSS" ή "διάρθρωση". Αν και μια ερώτηση όπως αυτή μπορεί να έρχεται σε αντίθεση με πολλές οδηγίες υπερχείλισης στοίβας, διαφωνώ, δεν είναι κακή ερώτηση. Ο συγγραφέας τουλάχιστον προσπάθησε να δώσει κάποιες πληροφορίες, ακόμη και χωρίς να ξέρει τι να δώσει. Η προσπάθεια μετράει, όπως και η διάθεση για αντίληψη και μάθηση.

Ωστόσο, πολλοί συνεισφέροντες στο Stack Overflow πιθανότατα θα αντιμετωπίσουν και τις δύο ερωτήσεις με τον ίδιο τρόπο: αρνητική ψήφο και κλείσιμο. Αυτό είναι απογοητευτικό και απενεργοποιεί πολλούς άπειρους χρήστες προτού μπορέσουν να μάθουν να κάνουν καλύτερες ερωτήσεις και ακόμη και να κατανοήσουν πώς λειτουργεί ο ιστότοπος.

Πραγματικά κακές ερωτήσεις δεν αξίζουν τον χρόνο σας. Αλλά πρέπει να ληφθεί υπόψη ότι όσοι κάνουν όχι πολύ καλές ερωτήσεις το κάνουν ακούσια. Θέλουν να κάνουν καλές ερωτήσεις, απλά δεν ξέρουν πώς. Αν τιμωρήσετε τους νεοφερμένους τυφλά και χωρίς εξήγηση, πώς θα μάθουν;

Μια καλή ερώτηση δεν εγγυάται μια απάντηση

Το Stack Overflow συνήθως παρέχει πιο γρήγορες απαντήσεις σε απλές ερωτήσεις που μπορούν να απαντήσουν πολλοί άνθρωποι. Έχετε κάποια ερώτηση σχετικά με τη δυαδική αναζήτηση σε JavaScript ή σχετικά με την HTML; Εκπληκτικός! Λάβετε πέντε απαντήσεις σε λιγότερο από μία ώρα. Αλλά όσο πιο σύνθετη ή συγκεκριμένη είναι η ερώτηση, τόσο λιγότερο πιθανό είναι να λάβετε απάντηση, ανεξάρτητα από την ποιότητα της διατύπωσης.

Η πιθανότητα να λάβετε απάντηση μειώνεται επίσης γρήγορα με την πάροδο του χρόνου. Όταν μια ερώτηση πηγαίνει πολλές σελίδες βαθιά στη ροή, χάνεται. Μια εβδομάδα αργότερα, μπορείτε μόνο να προσευχηθείτε ώστε κάποιος με τη σωστή γνώση να σκοντάψει στην ερώτησή σας (ή να κάνει απλόχερα κλικ σε αυτήν).

Μπορεί να μην σας αρέσουν οι σωστές απαντήσεις

Κάθε μήνα λαμβάνω αρκετές αρνητικές ψήφους για τις λεγόμενες μη δημοφιλείς απαντήσεις. Αυτά είναι τα είδη των απαντήσεων που λένε ουσιαστικά, «ο λόγος είναι επειδή έχει σχεδιαστεί με αυτόν τον τρόπο» ή «δεν είναι δυνατό γιατί...» ή «είναι ένα σφάλμα που πρέπει πρώτα να επιδιορθωθεί». Σε όλες τις παραπάνω περιπτώσεις, οι συγγραφείς δεν λαμβάνουν λύση ή ακόμη και λύση. Και υποπτεύομαι ότι όταν στους ανθρώπους δεν αρέσει αυτό που λέει μια απάντηση, το καταψηφίζουν. Τους καταλαβαίνω κιόλας, αλλά αυτό δεν σημαίνει ότι οι απαντήσεις είναι λάθος.

Φυσικά, ισχύει και το αντίθετο: οι καλές απαντήσεις δεν σας λένε απαραίτητα αυτό που θέλετε να ακούσετε. Μερικές από τις καλύτερες απαντήσεις απαντούν πρώτα στην αρχική ερώτηση, αλλά στη συνέχεια περιγράφουν άλλες προσεγγίσεις για την επίλυση του προβλήματος. Μερικές φορές απαντώ στην ερώτηση ενός χρήστη και στη συνέχεια γράφω ένα μεγάλο κείμενο σχετικά με το γιατί δεν συνιστάται να το κάνω.

Κάθε φορά που οι εκφράσεις στάσης απλοποιούνται σε ψήφους πάνω-κάτω ή ένα κουμπί like, χάνονται σημαντικές διακρίσεις. Αυτό το πρόβλημα παρουσιάζεται συχνά στο Διαδίκτυο. Πόσα κοινωνικά δίκτυα σάς επιτρέπουν να διακρίνετε το «υποστηρίζω αυτό» και το «νομίζω ότι είναι καλά ειπωμένο, ακόμα κι αν δεν μου αρέσει ή συμφωνώ με αυτό»;

Συνολικά, παρά τις μηνιαίες αρνητικές ψήφους, πιστεύω ότι η κοινότητα του Stack Overflow ψηφίζει δίκαια. Θα μείνουμε σε αυτό το μονοπάτι.

Δεν ρωτάω σχεδόν ποτέ στο Stack Overflow

Όσο περισσότερο χρησιμοποιούσα αυτόν τον ιστότοπο, τόσο λιγότερο συχνά έκανα ερωτήσεις σε αυτόν. Αυτό οφείλεται εν μέρει στην επαγγελματική μου ανάπτυξη. Πολλά από τα προβλήματα που αντιμετωπίζω στη δουλειά είναι πολύ περίπλοκα για να τα εκφράσω με απλές ερωτήσεις ή πολύ συγκεκριμένα για να με βοηθήσει κάποιος καθόλου. Έχω συνειδητοποιήσει τους περιορισμούς του ιστότοπου, γι' αυτό αποφεύγω να κάνω ερωτήσεις στις οποίες είναι σχεδόν βέβαιο ότι δεν θα πάρω καλή απάντηση.

Αλλά σπάνια έκανα ερωτήσεις εδώ, ακόμη και όταν μάθαινα μια νέα γλώσσα ή πλαίσιο. Όχι επειδή είναι τόσο ιδιοφυΐα, το αντίθετο. Απλώς, μετά από χρόνια που είμαι στο Stack Overflow, όταν έχω μια ερώτηση, πείθομαι βαθιά ότι είναι απίθανο να είμαι ο πρώτος που θα τη ρωτήσω. Αρχίζω να ψάχνω και σχεδόν πάντα βρίσκω ότι κάποιος είχε ήδη ρωτήσει το ίδιο πράγμα πριν από μερικά χρόνια.

Η παρατήρηση των ερωτήσεων των άλλων είναι ένας πολύ καλός τρόπος για να μάθετε νέα πράγματα για το προϊόν σας.

Τώρα δουλεύω Κωδικός VS, έτσι έκανα συνήθεια να κοιτάζω ερωτήσεις με ετικέτα vscode. Αυτός είναι ένας πολύ καλός τρόπος για να δείτε πώς χρησιμοποιείται ο κώδικάς μου στον πραγματικό κόσμο. Τι προβλήματα αντιμετωπίζουν οι χρήστες; Πώς μπορεί να βελτιωθεί η τεκμηρίωση ή το API; Γιατί κάτι που νόμιζα ότι ήταν απολύτως σαφές προκαλεί τόση παρεξήγηση;

Οι ερωτήσεις είναι ένα σημαντικό μήνυμα που δείχνει πώς χρησιμοποιείται το προϊόν σας. Το θέμα όμως δεν είναι να απαντήσουμε και να προχωρήσουμε, αλλά να προσπαθήσουμε πρώτα να καταλάβουμε γιατί το άτομο έχει μια ερώτηση. Ίσως υπάρχει κάποιο πρόβλημα στο προϊόν που είναι άγνωστο σε εσάς ή κάποιες υποθέσεις που κάνατε εν αγνοία σας; Οι ερωτήσεις με βοήθησαν επίσης να ανακαλύψω πολλά σφάλματα και με ενέπνευσαν να συνεχίσω να εργάζομαι.

Εάν διατηρείτε ένα προϊόν για προγραμματιστές, μην σκεφτείτε το Stack Overflow ως χωματερή (ή χειρότερα, ένα νεκροταφείο ερωτήσεων). Ελέγχετε τακτικά για να δείτε ποιες ερωτήσεις και απαντήσεις έχουν εμφανιστεί. Αυτό δεν σημαίνει ότι πρέπει να απαντήσετε σε κάθε ερώτηση μόνοι σας, αλλά τα σήματα από το Stack Overflow είναι πολύ σημαντικά για να τα αγνοήσετε.

Οι γραμμές μεταξύ μιας ερώτησης, μιας αναφοράς σφάλματος και ενός αιτήματος λειτουργίας είναι θολές.

Αρκετές ερωτήσεις σχετικά με τον κώδικα VS στο Stack Overflow ήταν στην πραγματικότητα αναφορές σφαλμάτων. Και πολλά άλλα είναι στην πραγματικότητα αιτήματα για νέες δυνατότητες.

Για παράδειγμα, μια ερώτηση με τίτλο "Γιατί διακόπτεται ο κώδικας VS όταν κάνω...;" - αυτή είναι μια αναφορά σφαλμάτων. Ο κώδικας VS δεν πρέπει να διακόπτεται σε διάφορες καταστάσεις. Η απάντηση σε ερωτήσεις που είναι αναφορές σφαλμάτων είναι αντιπαραγωγική επειδή οι συντάκτες μπορεί να είναι ικανοποιημένοι με μια λύση και να μην υποβάλλουν ποτέ μια πραγματική αναφορά σφαλμάτων. Σε περιπτώσεις όπως αυτή, συνήθως ζητώ από τους χρήστες να υποβάλουν μια αναφορά σφαλμάτων στο Github.

Σε άλλες περιπτώσεις, οι διαφορές μπορεί να είναι λιγότερο εμφανείς. Για παράδειγμα, η ερώτηση "Γιατί δεν λειτουργεί το JavaScript IntelliSense σε VS Code;" Ανάλογα με το πώς δεν λειτουργεί το JavaScript IntelliSense, το ζήτημα μπορεί να εμπίπτει σε μία από τις τρεις κατηγορίες:

  • Εάν πρόκειται για πρόβλημα διαμόρφωσης χρήστη, τότε είναι πραγματικά μια ερώτηση για το Stack Overflow.
  • Εάν στην περιγραφόμενη περίπτωση το IntelliSense πρέπει να λειτουργεί, αλλά δεν λειτουργεί, τότε αυτή είναι μια αναφορά σφαλμάτων.
  • Εάν στην περιγραφόμενη περίπτωση το IntelliSense δεν λειτουργεί, τότε αυτό είναι ένα αίτημα για μια νέα δυνατότητα.

Στο τέλος της ημέρας, οι περισσότεροι χρήστες δεν ενδιαφέρονται για αυτές τις αποχρώσεις — θέλουν απλώς να λειτουργήσει το JavaScript IntelliSense.

Και παρόλο που αυτές οι διαφορές είναι σημαντικές για μένα, ως υπεύθυνος για το έργο, γενικά δεν πρέπει να έχουν σημασία για μένα. Επειδή οι ερωτήσεις, οι αναφορές σφαλμάτων και τα αιτήματα λειτουργιών είναι όλοι τρόποι έκφρασης μιας ιδέας: ο χρήστης περιμένει κάτι από τον κώδικά μου και δεν το λαμβάνει. Εάν το προϊόν ήταν τέλειο, οι χρήστες δεν θα έκαναν ποτέ ερωτήσεις σχετικά με αυτό, γιατί όλα θα ήταν ξεκάθαρα σε αυτούς και θα έκανε ακριβώς αυτό που θέλουν (ή τουλάχιστον θα τους έλεγε ξεκάθαρα γιατί δεν μπορεί).

Οι προγραμματιστές είναι επίσης άνθρωποι

Οι άνθρωποι είναι συναισθηματικοί. Οι άνθρωποι είναι παράλογοι. Οι άνθρωποι είναι μαλάκες. Όχι πάντα, βέβαια, αλλά μερικές φορές! Και είτε το πιστεύετε είτε όχι, και οι προγραμματιστές είναι άνθρωποι.

Υπάρχει μια φαντασίωση που εμείς οι προγραμματιστές μας αρέσει να λέμε στον εαυτό μας: «Δουλεύουμε με υπολογιστές, επομένως πρέπει να είμαστε λογικοί. Κατανοούμε τα κρυπτικά σύμβολα, επομένως πρέπει να είμαστε έξυπνοι. Το λογισμικό έχει κατακτήσει τον κόσμο, επομένως πρέπει να είμαστε ψύχραιμοι! Δροσερός! Προς τα εμπρός!!!"

Αυτό είναι λάθος. Και αν ήταν έτσι, τότε ο Θεός να βοηθήσει τους υπόλοιπους ανθρώπους. Ακόμη και στο Stack Overflow, αυτό το εργαλείο για επαγγελματίες που έχει σχεδιαστεί ως αντικειμενική βάση γνώσεων, ακόμα και στη δική μου, εξαιρετικά συγκεκριμένη γωνιά του VS Code, συνεχίζω να αντιμετωπίζω κάθε είδους αγανάκτηση: λογικές πλάνες, προσβολές, νοοτροπία αγέλης κ.λπ.

Μην κοροϊδεύετε τον εαυτό σας: μάλλον δεν είστε τόσο τέλειοι όσο νομίζετε. Αυτό όμως δεν σημαίνει ότι δεν πρέπει να προσπαθούμε να απαλλαγούμε από τις ελλείψεις μας.

Φίλε, είμαι αυτός που το δημιούργησα

Άνθρωπος είμαι κι εγώ και από καιρό σε καιρό ό,τι συμβαίνει στο Stack Overflow με εκνευρίζει. Για παράδειγμα, όταν ένας χρήστης γράφει με σιγουριά ανοησίες ή απλώς δίνει μια λανθασμένη απάντηση σε μια ερώτηση που σχετίζεται με το VS Code, ένα προϊόν που δημιούργησα εγώ και το οποίο γνωρίζω πολύ καλά. Περιέργως, φαίνεται ότι όσο πιο λανθασμένη είναι η απάντηση, τόσο πιο πιθανό είναι κάποιος να την χαρακτηρίσει αδιαμφισβήτητο γεγονός.

Όταν συμβεί αυτό, ενεργώ όπως στην εικόνα και γράφω τη σωστή απάντηση.

Τι έμαθα σε 10 χρόνια στο Stack Overflow

Και αρκετές φορές αυτό είχε ως αποτέλεσμα μακριές κλωστές: αλίμονο που τόλμησα να αμφισβητήσω τις γνώσεις τους για το τι δημιούργησα! Σταματήστε να προσπαθείτε να έχετε δίκιο όλη την ώρα, ρε έξυπνοι! Γιατί έχω δίκιο!!!

Είναι εύκολο να γίνεις κυνικός σε αυτή την απελπισία

Όταν αντιμετωπίζετε μια ατελείωτη ροή ερωτήσεων χαμηλής ποιότητας, είναι εύκολο να γίνετε κυνικοί. Δεν έχει ακούσει ποτέ για το Google; Ξέρει καν πώς να κατασκευάζει συνεκτικές προτάσεις; Τι είσαι σκύλος;

Μερικές φορές κοιτάζω δεκάδες νέες ερωτήσεις σε μια μέρα. Η συνεχής παρατήρηση όλων αυτών των ερωτήσεων χαμηλής ποιότητας κινδυνεύει να γλιστρήσει σε περιφρόνηση ή κυνισμό. Αυτός ο κυνισμός μπορεί να διαχυθεί στον ιστότοπο, καθώς οποιοσδήποτε έχει συναντήσει έναν υπερβολικά ζήλο συντονιστή ή έχει αφιερώσει μερικές ώρες ερευνώντας και συντάσσοντας μια ερώτηση θα το επιβεβαιώσει, μόνο για να λάβει αρνητικές απαντήσεις σε αντάλλαγμα και να εξαφανιστεί στη λήθη χωρίς καμία εξήγηση.

Φυσικά, υπάρχουν χρήστες που δεν κάνουν ούτε μια ουγγιά προσπάθεια και δημοσιεύουν κακές ερωτήσεις. Αλλά πιστεύω ότι ο μεγαλύτερος όγκος των ερωτήσεων χαμηλής ποιότητας προέρχεται από άτομα με καλές προθέσεις (αν και ανόητες). Προσπαθώ πάντα να θυμάμαι τι σημαίνει να είσαι αρχάριος. Όταν μόλις ξεκινάς, δεν καταλαβαίνεις πώς λειτουργούν πραγματικά όλα εδώ. Σε ορισμένες περιπτώσεις, δεν ξέρετε καν με ποιες λέξεις να εκφράσετε σωστά το πρόβλημά σας. Πιστέψτε με, είναι δύσκολο να είσαι σε αυτή τη θέση. Και είναι δυσάρεστο όταν σε πλημμυρίζει μόνο και μόνο για να κάνεις μια ερώτηση.

Αν και το Stack Overflow έχει κάνει πολλά για να βοηθήσει τους αρχάριους, υπάρχουν ακόμα πολλά που πρέπει να γίνουν. Προσπάθησα να βρω μια ισορροπία μεταξύ της τήρησης των προτύπων του ιστότοπου και της επιείκειας απέναντι στους άπειρους χρήστες. Αυτό μπορεί να περιλαμβάνει εξηγήσεις γιατί ψήφισα να κλείσω την ερώτηση ή δημοσιεύω ένα σχόλιο που ενθαρρύνει τον χρήστη να παρέχει περισσότερες πληροφορίες. Έχω ακόμα χώρο να μεγαλώσω.

Από την άλλη πλευρά, δεν διστάζω να καταψηφίσω τους χρήστες με φήμη 50 που δημοσιεύουν ερωτήσεις όπως «Ποια είναι η καλύτερη διάταξη VS Code για ανάπτυξη JavaScript;» ή που ανεβάζουν σαπουνοειδή στιγμιότυπα οθόνης κώδικα αντί κειμένου.

Μερικές φορές θέλω απλώς να σε ευχαριστήσω

Υπάρχει μια αδύναμη κουλτούρα ευγνωμοσύνης στο Stack Overflow. Θυμάμαι μια φορά κι έναν καιρό ο ιστότοπος έκοψε αυτόματα τις λέξεις "γεια" και "ευχαριστώ" από ερωτήσεις. Ίσως αυτό γίνεται ακόμα, δεν το έχω ελέγξει.

Σήμερα, όποιος έχει εργαστεί στην υποστήριξη πελατών γνωρίζει καλά ότι η υπερβολική ευγένεια μπορεί να εμποδίσει τον δρόμο και ακόμη και να φαίνεται αναγκαστική. Αλλά μερικές φορές κάποιος σε αυτόν τον ιστότοπο κάνει κάτι πολύ σημαντικό για εσάς και ο μόνος τρόπος να τον ευχαριστήσετε είναι να του δώσετε ένα συν. Είναι χάλια.

Η αποτελεσματικότητα δεν απαιτεί να γίνουμε άψυχα ρομπότ. Ένα πλευρικό κανάλι μπορεί να παρέχει πιο αυθεντική επικοινωνία μεταξύ των ανθρώπων, αν φυσικά το θέλουν οι ίδιοι οι χρήστες.

Μερικές φορές θέλω να μάθω τι συνέβη αφού έλαβα την απάντηση

Το Stack Overflow λειτουργεί με βάση μια συναλλακτική αρχή: κάποιοι κάνουν ερωτήσεις, άλλοι απαντούν. Τι συμβαίνει μετά τη λήψη απάντησης; Ποιός ξέρει? Μερικές φορές αναρωτιέμαι για αυτό. Ήταν χρήσιμη η απάντησή μου; Ποιο σεμνό έργο βοήθησε; Τι έμαθε ο ερωτών;

Φυσικά, είναι αδύνατο να ικανοποιηθεί αυτή η περιέργεια. Η απαίτηση από τους χρήστες να αναφέρουν τον τρόπο με τον οποίο θα χρησιμοποιήσουν τις πληροφορίες που λαμβάνουν θα ήταν πολύ προβληματικό, ακόμα κι αν μπορούσατε να το κάνετε αυτό. Αλλά είναι ενδιαφέρον να το σκεφτούμε.

Το gamification είναι αποτελεσματικό...

…όταν μετατρέπονται οι διαδικασίες σε παιχνίδια.

Εξακολουθώ να ανησυχώ λίγο όταν βλέπω το μικρό εικονίδιο +10 ή +25 στη γραμμή κατάστασης. Ίσως αυτές οι μικρές πινελιές gamification είναι ο λόγος που επιστρέφω στον ιστότοπο εδώ και 10 χρόνια. Αλλά με τα χρόνια, άρχισα επίσης να αναρωτιέμαι τι είδους παιχνίδι είναι το Stack Overflow και τι σημαίνει η νίκη σε αυτό.

Είμαι βέβαιος ότι το σύστημα δημιουργήθηκε με τις καλύτερες προθέσεις: να ανταμείψει τους ανθρώπους για χρήσιμες ερωτήσεις και απαντήσεις. Αλλά μόλις προσθέσετε υψηλές βαθμολογίες, τίθεται σε ισχύ Νόμος του Goodhart, και ορισμένοι χρήστες αρχίζουν να προσαρμόζουν τις ενέργειές τους όχι για να επιτύχουν τη μέγιστη τιμή, αλλά για να αποκτήσουν μέγιστες αξιολογήσεις. Και αυτό είναι σημαντικό γιατί...

Η φήμη δεν σημαίνει αυτό που νομίζεις ότι σημαίνει.

Η φήμη δεν ισοδυναμεί με τεχνική επάρκεια, δεξιότητες επικοινωνίας ή κατανόηση του πώς λειτουργεί ή πρέπει να λειτουργεί το Stack Overflow.

Δεν θέλω να πω ότι η φήμη είναι άχρηστη. Απλώς δεν σημαίνει τι σημαίνουν οι διαχειριστές του Stack Overflow ή τι υποτίθεται ότι σημαίνει η λέξη "φήμη". Συνειδητοποίησα ότι η φήμη είναι ένα μέτρο επιρροής. Εξετάστε δύο υποθετικές απαντήσεις που δημοσιεύονται στον ιστότοπο:

  • Ένα για μια κοινή λειτουργία git. Έγραψα μια απάντηση τριών γραμμών σε δύο λεπτά χρησιμοποιώντας το Google.
  • Το άλλο αφορά τη θεωρία των μπερδεμένων γραφημάτων. Ίσως μόνο εκατό άνθρωποι σε ολόκληρο τον κόσμο μπορούν να το απαντήσουν. Έγραψα μερικές παραγράφους και δείγμα κώδικα εξηγώντας το πρόβλημα και τον τρόπο επίλυσής του.

Σε πέντε χρόνια, η πρώτη απάντηση προβλήθηκε 5 εκατομμύρια φορές και έλαβε 2000 θετικές ψήφους. Η δεύτερη απάντηση εξετάστηκε 300 φορές και έλαβε δύο κακές ψήφους υπέρ.

Σε κάποιο βαθμό αυτό είναι πολύ ανέντιμο. Γιατί να επιβραβεύσετε κάτι που βρέθηκε στο σωστό μέρος την κατάλληλη στιγμή; (δεν καθορίζονται όλα από την τύχη· η κατανόηση των κανόνων του παιχνιδιού παίζει επίσης τεράστιο ρόλο). Από την άλλη πλευρά, η πρώτη ερώτηση βοήθησε στην πραγματικότητα πολύ περισσότερους ανθρώπους από τη δεύτερη. Ίσως αξίζει να αναγνωρίσουμε ότι, κατά μία έννοια, η αναγνώριση οδηγεί στη συσσώρευση «φήμης»;

Επομένως, θεωρώ ότι η "φήμη" στο Stack Overflow είναι ένα είδος μέτρησης επιρροής. Η πραγματική φήμη δεν μπορεί να μετρηθεί με απλά σημεία, προέρχεται από την κοινότητα. Ποιανού τις συμβουλές ακούω, ποιος βοηθά τους άλλους, ποιον εμπιστεύομαι; Ίσως όλοι αυτοί να είναι διαφορετικοί άνθρωποι, ανάλογα με το αν γράφω σε PHP ή για iOS.

Με αυτά τα λόγια, δεν ξέρω τι πρέπει να κάνει το Stack Overflow από αυτή την άποψη. Θα είχαν οι χρήστες το ίδιο κίνητρο αν αντί για «φήμη» κέρδιζαν «πονηρούς πόντους»; Οι χρήστες θα παραμείνουν αφοσιωμένοι αν δεν υπάρχει καθόλου σύστημα βαθμών; Νομίζω ότι είναι απίθανο. Και ο μύθος ότι η «φήμη» στο Stack Overflow είναι ισοδύναμη με την πραγματική φήμη ωφελεί όχι μόνο τον ίδιο τον ιστότοπο, αλλά και τους πιο ενεργούς χρήστες του. Λοιπόν, αλήθεια, σε ποιον δεν αρέσει να αυξάνει τη φήμη του;

Όχι, όπως συμβαίνει συχνότερα στη ζωή, για να έχετε μια πραγματική ιδέα για το τι συμβαίνει, πρέπει να αναλύσετε όχι μόνο αριθμούς. Εάν μια ανάρτηση έχει 10 χιλιάδες πόντους στο Stack Overflow, τότε δείτε πώς επικοινωνεί αυτό το άτομο, ποιες ερωτήσεις και απαντήσεις δημοσιεύει. Και σε όλες εκτός από εξαιρετικές περιπτώσεις, να έχετε κατά νου ότι οι βαθμολογίες Stack Overflow από μόνες τους είναι απίθανο να υποδεικνύουν οτιδήποτε άλλο εκτός από την ικανότητα ενός ατόμου να χρησιμοποιεί τον ιστότοπο. Και από την εμπειρία μου, συχνά δεν μιλούν καν για αυτό.

Δεν θα ήμουν παραγωγικός χωρίς το Stack Overflow

Κάθε φορά που χρειάζεται να κάνω κάτι περίπλοκο στο git, πηγαίνω στο Stack Overflow. Κάθε φορά που χρειάζομαι κάτι απλό στο bash, πηγαίνω στο Stack Overflow. Κάθε φορά που λαμβάνω ένα περίεργο σφάλμα μεταγλώττισης, πηγαίνω στο Stack Overflow.

Δεν είμαι παραγωγικός χωρίς το IntelliSense, μια μηχανή αναζήτησης και το Stack Overflow. Αν κρίνω από κάποια βιβλία, αυτό με κάνει πολύ κακό προγραμματιστή. Μάλλον θα απέτυχα σε πολλά τεστ και δεν θα έλυνα πολλά προβλήματα στο ταμπλό. Ας είναι. Σοβαρά, κάθε φορά που χρησιμοποιώ .sort σε JavaScript, πρέπει να αναζητώ πληροφορίες για το πότε θα πάρω -1, 0 ή 1 και γράφω JS κάθε μέρα, αναπτύσσοντας το πιο δημοφιλές πρόγραμμα επεξεργασίας για τη γλώσσα.

Όχι, το Stack Overflow είναι ένα απίστευτο εργαλείο. Μόνο ένας ανόητος δεν θα χρησιμοποιούσε όλα τα εργαλεία που είχε στη διάθεσή του. Γιατί λοιπόν να μην είσαι ένας εσωτερικός ανόητος σαν εμένα; Αποθηκεύστε τους πόρους του εγκεφάλου σας για σημαντικές γνώσεις, όπως να απομνημονεύσετε όλες τις πλοκές της σειράς Seinfeld ή να βρείτε εξελιγμένα λογοπαίγνια (τα οποία λείπουν τόσο πολύ σε αυτό το άρθρο, αλλά θα υπάρχουν πολλά άλλα εντελώς διαφορετικής φύσης).

Το Stack Overflow είναι ένα θαύμα

Το Stack Overflow επιτρέπει σε οποιονδήποτε, ανεξαρτήτως εμπειρίας ή γνώσης, να δημοσιεύει ερωτήσεις προγραμματισμού. Σε αυτές τις ερωτήσεις απαντούν εντελώς άγνωστοι, οι περισσότεροι από τους οποίους περνούν χρόνο από τη ζωή και τη σταδιοδρομία τους βοηθώντας τους άλλους δωρεάν.

Το θαύμα είναι το ίδιο το γεγονός της ύπαρξης και το αποτέλεσμα της δουλειάς του Stack Overflow. Είμαι βέβαιος ότι δεν πάνε όλα τόσο καλά όπως σκόπευαν οι δημιουργοί του, αλλά προσπαθούν. Παρ' όλες τις ελλείψεις, ο ιστότοπος βοηθά έναν τεράστιο αριθμό ανθρώπων εδώ και πολλά χρόνια, συμπεριλαμβανομένου και εμένα.

Το Stack Overflow δεν θα διαρκέσει για πάντα. Μια μέρα θα έρθει κάτι καλύτερο. Ας ελπίσουμε ότι αυτό είναι κάτι που θα μάθει από τα λάθη του Stack Overflow και θα πάρει το καλύτερο από αυτό. Μέχρι τότε, ελπίζω να μην θεωρούμε δεδομένο αυτόν τον ιστότοπο. Πρόκειται για ένα ορόσημο και για μια ζωντανή κοινότητα, η οποία αναπληρώνεται συνεχώς με νέους ανθρώπους. Εάν αυτό σας ανησυχεί, να θυμάστε ότι όλα αυτά είναι πολύ εύθραυστα, και ακόμη και μικρές ενέργειες - όπως η παροχή βοήθειας σε καλοπροαίρετους αλλά ακόμα αδαείς νεοφερμένους - μπορεί να έχουν θετικό αποτέλεσμα. Αν επικρίνω αυτόν τον ιστότοπο, είναι μόνο επειδή με νοιάζει και ξέρω πώς να το κάνω καλύτερο.

PS

Ήμουν ακόμα μαθητής όταν ήρθα στο Stack Overflow. Μόλις άρχιζα να γράφω (ES5!) JavaScript στο Eclipse και φαινόταν ότι το 90% των ερωτήσεων ξεκίνησαν με το "Using jQuery, just...". Και παρόλο που δεν ήξερα τι έκανα, οι άγνωστοι περνούσαν την ώρα τους βοηθώντας με. Δεν νομίζω ότι το εκτίμησα πολύ εκείνη την εποχή, αλλά δεν το έχω ξεχάσει.

Οι άνθρωποι θα θέλουν πάντα το Stack Overflow να είναι κάτι διαφορετικό: ένας ιστότοπος ερωτήσεων και απαντήσεων. ένα εργαλείο για την επίλυση οικιακών προβλημάτων. βιοτικό επίπεδο προγραμματισμού. Και για μένα, αυτός ο ιστότοπος, παρά την ανάπτυξη και τις ελλείψεις του, είναι στον πυρήνα του μια ανοιχτή κοινότητα όπου οι ξένοι βοηθούν ο ένας τον άλλον να μάθουν και να βελτιώνονται. Και αυτό είναι υπέροχο. Είμαι χαρούμενος που είμαι μέλος του Stack Overflow τα τελευταία 10 χρόνια και ελπίζω να συνεχίσω να το κάνω. Θέλω να μάθω τόσα νέα πράγματα την επόμενη δεκαετία, όσα έκανα την προηγούμενη δεκαετία.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο