Comment amener les gens novices à la programmation à cesser de me poser des questions et de me distraire? [fermé]

15

Je suis à l'école secondaire en ce moment et je suis le seul de ma classe à avoir de l'expérience en programmation. À cause de cela, les gens me distraient constamment pendant que j'écris du code pour me demander de résoudre un problème. Habituellement, je réponds par quelque chose comme «Je ne sais pas, je n'utilise jamais ça» mais je ne veux pas mentir aux gens.

Un autre problème est que je suis devenu si bien connu pour cela que même les étudiants des autres classes me posent des questions. Je trouve ça sacrément ennuyeux.

Troisièmement, si je résout un problème pour eux, ils n'en tirent aucune leçon.

Comment puis-je empêcher les gens de me poser des questions liées à la programmation d'une manière aimable?

droite
la source
52
Les débutants qui posent des questions ne disparaissent pas lorsque vous obtenez votre diplôme ...
chrisaycock
31
@chrisaycock - Ils sont appelés collègues après avoir obtenu leur diplôme. :)
ChaosPandion
13
Commencez à leur facturer un tarif qui vous aiderait et éloignerait les pauvres idiots. Ah, tant pis, c'est encore un autre show off "Regardez-moi, je n'ai que 16 ans et je peux coder!" des questions. Ok, mec, ouais, tu es super. Maintenant quoi?
Job
6
@Gaurav: Pah. Je n'ai pas menti depuis près d'un an, sans exception, et mon propre bonheur et celui de mon entourage s'est considérablement amélioré à cause de cela. Il vaudrait beaucoup mieux juste de dire «Je dois m'occuper de mon propre travail avant de pouvoir aider quelqu'un d'autre», ou même «ce n'est pas ma responsabilité de vous aider». Parce que ce n'est pas le cas.
Jon Purdy
4
@Gaurav: Est-ce la partie où je dis "Je ne te rejoindrai jamais!" et vous me donnez quelques conneries sur le pouvoir du côté obscur, puis je découvre que vous êtes en fait mon père, pleurnicher un peu, et soudainement sauter dans un trou?
Jon Purdy

Réponses:

62

Portez des écouteurs. Astuce courante utilisée par les TA de premier cycle qui devaient utiliser les mêmes laboratoires informatiques que leurs élèves de mon école. Ils n'ont même pas besoin d'être branchés sur quoi que ce soit. Cela ne découragera pas tout le monde, mais devrait réduire considérablement les chiffres.

Affichez une pancarte sur vos manuels / bloc-notes et insérez-la dans votre signature électronique pour que vous n'ayez pas le temps de répondre aux questions en raison de vos propres études intenses.

Démarrez une entreprise de tutorat et expliquez que vous facturez X dollars de l'heure et planifiez des réunions à l'avance. Cela ne mettra pas fin au problème complètement, mais cela aidera les gens à apprécier votre temps et vous donnera un peu d'argent de poche.

Ethel Evans
la source
17
++ pour gagner de l'argent avec les questions
John
4
Les écouteurs sont étonnamment bons, en fait.
Dean Harding
Le casque est un peu trompeur si vous n'écoutez vraiment rien ...
compman
7
@ user9521 Et? :]
Nathan Taylor
1
S'il est au lycée, il ne sera pas autorisé à porter des écouteurs en classe. Enfin pas dans la plupart des écoles du moins.
Orbling
33

Dites-leur que vous êtes tuteur et que vous les aiderez au taux de X dollars et par heure. (S'ils sont réellement sérieux, au moins vous seriez payé pour votre aide.)

jzd
la source
meilleur conseil ici
Dave O.
2
+1 - Cela m'a aidé à terminer mes études et s'est transformé en un travail très amusant.
jmort253
17

Demandez-leur de vous expliquer leur code avant de les aider, ou dirigez-les simplement vers Stack Overflow et la foule leur dira de faire la même chose.

À moins que les questions soient régulièrement si basiques que vous ne tiriez absolument rien de vos réponses, alors j'envisagerais quand même d'aider de temps en temps (s'il est clair que les personnes que vous aidez essaient au moins). La meilleure façon de vous assurer que vous comprenez quelque chose est de l'enseigner.

John
la source
6
+1 pour leur avoir expliqué leur code. Il n'y a pas 10 minutes, j'ai aidé un collègue à résoudre un problème très frustrant de cette façon. Il s'était battu la tête contre un problème de corruption de mémoire toute la journée. Il savait que cela devait être quelque part dans la pile d'appels, mais il avait traversé tout cela et ne pouvait pas le trouver. Alors je lui ai dit de monter la pile avec moi. Quelques minutes plus tard, alors qu'il expliquait ce qui se passait, il regarda une ligne et dit "hé, attendez une seconde ..." et il y avait son problème aussi simple que le jour. Mais il ne l'a jamais remarqué avant de devoir l'analyser avec quelqu'un d'autre assis là.
Mason Wheeler
@Mason Wheeler: S'assurer qu'ils apprennent la réponse, plutôt que de simplement la recevoir, équivaut à un argument "donner un poisson à un homme ...", très utile.
Orbling
+1 Pour la dernière phrase, exceptionnellement vrai. Habituellement, le niveau le plus élevé de compréhension: 0) Je ne le comprends pas, 1) Je le comprends fondamentalement, 2) En dessous, 3) Pourrait l'expliquer à un autre.
Orbling
4
Voir le débogage de Rubber Duck , vous n'avez même pas besoin d'une autre personne.
ocodo
@Mason, vieux truc. Nous l'appelons ici «grand-mère».
15

"laissez-moi finir ceci et je serai plus de le regarder". Ils s'en vont. Vous prenez 1 heure pour terminer. Ils commenceront à résoudre le problème eux-mêmes

Cela fonctionne avec les collègues, les amis, la famille mais pas avec les grands-mères. Si elle veut que son imprimante soit réparée, mieux vaut le faire maintenant.

james
la source
1
Cela arrêtera la grande majorité des interruptions, IME.
JBRWilkinson
8

Si le problème est que vous voulez qu'ils apprennent quelque chose, sans vous montrer la réponse, vous pouvez toujours essayer ...

... la méthode socratique !

Oui, au lieu de les laisser poser les questions, essayez de les faire réfléchir en leur posant des questions dirigées avec le plus petit bond logique possible.

Sinon, vous pouvez simplement les diriger vers le site de débordement de pile si vous n'avez pas le temps.

Spoike
la source
1
Je ne pense pas que cela fonctionne dans la pratique. Socrate était bien connu pour trouver des réponses en n'essayant pas de prouver (par des expériences) un concept qu'il avait trouvé.
apoorv020
Ne fonctionne pas pour les questions comme "Qu'est-ce que 1 + 1", mais là encore, c'est leur problème. ;)
Mateen Ulhaq
merde, ce lien est génial! J'aimerais pouvoir m'entraîner à poser des questions de cette façon.
Ape-inago
5

Les réponses de tutorat payées sont vraiment super. J'ai gagné beaucoup d'argent de cette façon à la fois au premier cycle et aux cycles supérieurs.

Vous pouvez également créer un groupe d'étude après l'école, où les gens se réunissent et réfléchissent à leurs questions de programmation. C'est vraiment courant à l'université et c'est un excellent moyen de se faire des amis et d'apprendre. Ensuite, lorsque quelqu'un vous interrompt avec une question à l'école, dites-lui que vous êtes occupé, mais il devrait l'apporter au groupe d'étude. Et il est étonnant de voir comment expliquer les choses à d'autres personnes vous aide à comprendre le matériel plus profondément que vous ne le pourriez autrement.

Beaucoup de programmeurs de mon université l'ont fait, et non seulement ils ont tous obtenu de bonnes notes, mais ils se sont aussi beaucoup amusés. Nous avons également fait cela pour certains cours de chimie organique lorsque je travaillais sur mon doctorat, et nous avons également tous obtenu des A et nous nous sommes beaucoup amusés. Nous prenions toujours du café, certaines personnes apportaient même de la nourriture et nous sortions parfois prendre de la bière après.

Bob Murphy
la source
4

Parlez à l'enseignant (si vous devez utiliser le laboratoire) et voyez si vous pouvez former un groupe d'étude. Je sais que vous voulez éviter de répondre aux questions, mais cela fera de vous un meilleur programmeur. Vous aurez une compréhension plus profonde si vous devez l'expliquer aux autres. Cela vous aidera à gérer les questions et réponses et à limiter les perturbations. Dites simplement à tout le monde d'en parler au groupe d'étude. Vous ne savez jamais, vous pouvez créer un ou deux autres experts résidents qui peuvent répondre à certaines des questions.

JeffO
la source
4

Serait-il possible de leur parler de Stack Overflow?

compman
la source
C'est une bonne idée.
rreeverb
3

J'ai entendu cela dans un discours sur la productivité générale, mais je ne le trouve pas pour le moment.

L'idée de base est que si une question vous est posée, ce n'est pas de répondre directement à un individu, mais un blog (ou quelque chose de similaire), créant ainsi une base de connaissances sur laquelle vous pouvez diriger les gens.
Ne pas avoir à répondre aux mêmes questions encore et encore aide déjà beaucoup et rend cela intéressant. Il n'y a qu'une quantité limitée de questions qui vous seront posées jusqu'à ce que vous arriviez à un point où vous apprenez quelque chose vous-même, car les questions sont nouvelles pour vous.
C'est aussi potentiellement utile pour les années après vous et même d'autres écoles.

Peut-être qu'un forum est une meilleure idée qu'un blog, car vous n'auriez pas à tout faire par vous-même. Au début, vous auriez motivé des gens à signaler des questions en double et peut-être qu'un jour, même d'autres pourraient fournir des réponses.
Considérez-le comme une version homebrew de stackoverflow, juste pour un groupe spécifique, peut-être dans votre langue maternelle.

C'est à vous de décider jusqu'où vous irez. L'étape fondamentale consiste à supprimer la nécessité de répondre aux mêmes questions stupides encore et encore.

back2dos
la source
Cela semble provenir de la discussion de Scott Hanselman sur les réseaux sociaux pour les développeurs , mais vous l'avez peut-être entendu ailleurs.
Bill the Lizard
3

Si vous êtes au lycée, alors les élèves devraient vraiment demander à l'enseignant s'ils ont besoin d'aide, pas à un autre élève.

Dans un monde idéal, ils ne devraient probablement parler à personne, à moins qu'ils ne travaillent en binôme, auquel cas ils ne devraient parler qu'à leur partenaire.

Si les gens ne vous laissent pas tranquille, dites au professeur de l'arrêter, expliquez que cela signifie que vous ne pouvez pas faire votre propre travail et que cela prendra fin.

J'avais l'habitude d'aider à enseigner l'informatique / l'informatique dans les écoles secondaires pendant longtemps, donc je sais comment c'est dans ces classes.

NB. Personnellement, je répondrais simplement aux questions et j'aimerais aider les gens, vous pouvez faire votre propre travail une autre fois. Quand j'étais jeune étudiant, c'était la même chose pour moi - j'ai adoré répondre aux questions, c'est un bon service public et ça aide le personnel.

Orbling
la source
Dans les programmes du secondaire, l'élève le plus compétent en sait généralement plus que l'enseignant.
Peter Taylor
@Peter Taylor: C'est vrai, je l'ai fait. ;-) [Le professeur devrait quand même apporter son aide.]
Orbling
3

Je ne pense pas avoir encore vu cette réponse - pourquoi ne pas essayer de vous remettre de vous-même et de vos compétences de codage folles et de simplement répondre aux questions? Si c'est vraiment hors de contrôle, vous pouvez utiliser l'une de ces autres suggestions, mais pourquoi ne pas en apprendre davantage en enseignant?

Zann Anderson
la source
+1 Ma philosophie dans le monde professionnel est que je prends TOUJOURS du temps pour un autre développeur avec une question. Je vais arrêter ce que je fais et répondre à chaque fois à la question d'un autre programmeur. Eh bien, à peu près à chaque fois - j'ai eu exactement un collègue qui était juste un fou complètement engourdi et ne m'a jamais laissé seul et j'ai dû lui dire que je le rattraperais un peu - mais je l'ai quand même fait. Cela s'appelle le karma. Je me rends compte que le milieu universitaire peut être un peu différent, mais je ne me souviens pas que quiconque ait le problème que vous décrivez.
Chuck Stephanski
@Chuck - J'aime le son de ça. Si nous avions tous pensé que nous n'avions pas le temps d'aider les autres développeurs qui avaient des questions, Stack Overflow n'aurait jamais été le succès qu'il est. Répondre aux questions nous aide à apprendre et à comprendre les choses d'une manière plus profonde que nous ne pourrions autrement, et les poser nous aide à être le genre d'humble développeur qui continuera à "aspirer moins chaque jour" comme le dit Jeff.
Zann Anderson
@ Chuck-La philosophie est bonne mais quand elle rencontre le monde réel, cela ne fonctionne souvent pas. Parfois, vous rencontrez cette personne qui trouve qu'il est plus facile de continuer à demander de l'aide que de consacrer des efforts à trouver la réponse elle-même. Cela ne me dérange pas quand c'est ponctuel de temps en temps, mais quand cela devient le comportement par défaut de la personne, cela affecte gravement ma capacité à respecter le calendrier. Lorsque cela se produit, je leur demande de commencer à envoyer la question par courrier électronique et j'y reviendrai lorsque je ne serai pas impliqué dans autre chose. Ensuite, ils s'accrochent à quelqu'un d'autre ou apprennent à le comprendre par eux-mêmes.
Dunk
D'après mon expérience, les vampires d'aide sont ceux qui ne bougeraient pas un doigt si vous étiez celui qui avait besoin d'aide.
gnasher729
2

Postez une pancarte:

Programming questions answered: 25c

(Centimes d'euro, je suppose)

Ceux à bas prix vous laisseront tranquilles, et vous ferez quelques dollars sur le reste.

Kyralessa
la source
4
Idem mais 10 $ (ou euros), au moins ça vaut le coup, qu'est-ce que 25c va t'apporter? C'est une mauvaise affaire, sous-vendre le service laisse Radek dans la même situation, agacé.
ocodo
1
Vous pensez qu'un groupe d'étudiants paiera 10 euros pour obtenir une réponse à une question? Les étudiants sont beaucoup plus riches en Europe qu’ici. Je pense que 25c est raisonnable, et il pourrait ne pas trouver cela si ennuyeux s'il gagne de l'argent. Peut-être qu'un euro est mieux.
Kyralessa
Réponses aux questions de programmation: Coût = 1 Mountain Dew. Au moins, c'est abordable et vous ne sortez pas comme un pr * & ^ k. Vous aurez l'avantage supplémentaire de pouvoir rester debout toute la programmation de nuit: p Vous pourriez même devenir assez bon avec toute la programmation supplémentaire que vous pouvez ensuite charger une canette de boisson Monster Energy et être en mesure de rester encore plus longtemps en programmation.
Dunk
@ Kyralessa: C'est l'idée. Vous voyez, il ne veut pas vraiment répondre aux questions. Il veut se concentrer sur sa propre éducation et apprendre à obtenir un emploi qui paie au moins 200 000 fois plus par an que les 25 cents.
gnasher729
2

Selon l'environnement, votre situation peut différer - ce que j'ai fait était: "S'il vous plaît, ne m'interrompez pas, je dois me concentrer, mais je peux vous aider un peu à 15 heures." Au deuxième élève: "... peut vous aider après cet autre gars, qui sera le premier à 15h" aux autres: "... vous êtes déjà certains à faire la queue".

Certains d'entre eux résoudront leurs problèmes par eux-mêmes. Vous avez du temps pour votre travail, mais vous améliorerez vos connaissances si vous devez l'expliquer à quelqu'un d'autre, et vous vous sentirez bien pour donner de l'aide, et ne pas refuser totalement.

L'étape suivante consiste à distribuer les questions les plus simples à des collègues intermédiaires, à qui vous avez aidé. S'ils refusent de diffuser leurs connaissances, refusez de les aider à l'avenir.

Un indice important est: n'aidez pas de la manière la plus rapide possible, mais de manière durable. Cela vous coûtera seulement moins de temps à long terme: montrez-leur comment résoudre le problème par eux-mêmes, mais ne faites pas leurs devoirs.

Utilisateur inconnu
la source
Ah, c'est une bonne idée: encourager votre élève à devenir enseignant à l'avenir. Bonne idée.
Ape-inago
2

Que diriez-vous de dire la vérité: "quand je travaille, je ne veux pas être interrompu, donc si vous voulez mon aide, vous devez attendre que j'aie fini, même si cela signifie attendre jusqu'à 22 heures".

Ensuite, si leur question est paresseuse, n'hésitez pas à dire "je ne sais pas".

Je ne m'inquiéterais pas pour eux "de ne rien apprendre". Voilà leur problème.

EpsilonVector
la source
1

Dites-leur simplement que vous avez suffisamment de travail et que vous ne pouvez pas aider. Dites-le assez de fois et ils ne viendront pas vers vous.

rreeverb
la source
1
Je pense que je dois dire beaucoup. Beaucoup.
plié à droite le
1

Dites-leur comment ils découvrent eux-mêmes la solution. (Donnez-leur des indices, dites-leur de google, ce qui fonctionne ...)

S'ils sont juste paresseux et veulent que vous fassiez leur travail, dites-leur simplement que vous ne voulez pas le faire pour eux.

Je crois que si vous expliquiez certaines choses à des gens qui sont disposés à apprendre, vous en bénéficierez. Expliquer des choses aux gens de manière simple est une compétence très importante et vous ne devez pas laisser cette chance de la pratiquer complètement.

Après tout, si cela devient trop, donnez-leur simplement une courte réponse pour savoir comment le découvrir. (ou dites simplement "non, laissez-moi tranquille" s'ils le méritent)

Si vous voulez vraiment qu'ils s'arrêtent, commencez à donner à certaines d'entre elles de fausses solutions.

FabianB
la source
+1 pour les avoir informés sur Google. Cela peut être fait d'une manière sans être impoli ou condescendant et d'une manière qui apprend à la personne à pêcher.
jmort253
1

Non.

Il existe 4 méthodes d'apprentissage, par ordre d'efficacité:

  1. Audition
  2. Voyant
  3. Faire
  4. Enseignement

Vous avez de la chance d'avoir l'opportunité de participer au mécanisme d'apprentissage le plus efficace, si tôt dans votre «carrière» d'apprentissage. Ne leur donnez pas les réponses, mais apprenez-leur à résoudre le problème (le tout «donnez un poisson à un homme»).

Vous serez bien meilleur pour ça à la fin.

Si vous ne voulez toujours pas vous en préoccuper, alors toutes les autres réponses ici conviennent.

Steven Evers
la source
0

Je trouve que la meilleure façon de laisser tomber quelqu'un d'une manière aimable est d'expliquer la situation et de lui proposer quelques options.

les gens me distraient constamment pendant que j'écris du code pour me demander de résoudre un problème.

Si vous êtes occupé à travailler, expliquez simplement votre situation et recommandez-leur de demander à l'instructeur ou d'utiliser une ressource comme Programmeurs sur Stack Exchange.

"Je suis désolé mais je dois me concentrer sur mon travail en ce moment. Vous devriez demander à [l'instructeur] ou peut-être même chercher de l'aide en ligne."

Troisièmement, si je résout un problème pour eux, ils n'en tirent aucune leçon.

Une alternative qui met l'accent sur votre troisième point (ou si vous avez le temps, mais ne vous sentez pas bien à aider):

"Pour être honnête, je veux vous aider, mais je ne sais pas vraiment comment vous aider à apprendre le matériel. Bien sûr, je peux résoudre le problème, mais cela vous enlèverait votre chance d'apprendre. Je ne veux pas vous l'enlever. Je vous conseille de parler à [l'instructeur], d'effectuer une recherche sur Google et / ou Stack Exchange. "

bitsoflogic
la source
0

Facturez des frais par projet et faites-le pour eux. J'ai fait pas mal de pâte au collège au cours des trois dernières années et cela m'a rapporté un beau revenu disponible.

Même si c'est un ami, je facture au moins quelques bières. :)

Sergio
la source
Il y a ce truc cool appelé "la malhonnêteté académique" qui a tendance à vous faire échouer une classe ou pire, continuez à pousser l'idiot sur le marché du travail.
Jeff Langemeier
@Jeff: Il n'y a pas de règles pour aider les gens d'autres collèges - et en fait, faire cela n'est pas contraire à ma morale, donc c'est bien pour moi. :)
@Sergio Je ne dis pas que ma morale est pour ou contre cela, parce que le seigneur sait quand un ami me propose un pack de 6 ou un grogneur pendant 10 minutes de mon temps, je ne vais pas les refuser. Mais je voudrais faire attention au fait de marcher, c'est tout, car certaines écoles désapprouvent même les autres de faire autrement votre travail (c'est-à-dire si elles le découvrent).
Jeff Langemeier
0

-1 pour tous ceux qui disent aux gens de s'en aller. Comment vont-ils tous apprendre? Surtout s'ils ont le courage de venir demander de l'aide.

Ayant moi-même été à la place de l'OP, j'ai trouvé qu'en aidant les autres à résoudre leurs problèmes, je devenais un programmeur BEAUCOUP mieux que jamais si j'avais assis et écrit tout dans le vide. Vous voyez beaucoup de mauvaises façons de faire, vous voyez comment les autres abordent le même problème et vous verrez des solutions créatives aux problèmes.

Maintenant que cela dit - il y a un temps pour dire "je travaille sur _ , je ne peux pas vous aider en ce moment" Si votre travail acharné pour respecter un délai, être distrait est très ennuyeux et tue votre productivité. Si votre école le permet, déplacez-vous dans une autre pièce.

user18768
la source
0

J'ai le même problème, et voici comment je le traite:

Supposons que quelqu'un vienne vers moi pendant mes études, ma programmation, etc. et me demande: "Comment faire X?" ou "Pourquoi mon code ne fonctionne-t-il pas?". Je réponds en leur faisant expliquer le problème en détail et en expliquant ce qu'ils attendent du code et pourquoi, ou peut-être comment résoudre des parties plus petites du problème. La moitié du temps, ça fait l'affaire, et ils me laissent tranquille.

Pour l'autre moitié, je décide généralement qu'au lieu de simplement leur donner une solution, je vais leur apprendre ce qu'ils manquent. Cela peut prendre un peu plus de temps, mais cela rapporte parce que maintenant ils en savent plus, et maintenant ils peuvent aider les autres dans leur classe, donc ils ne me dérangeront pas.

S'ils sont vraiment ennuyeux, je discute des avantages de MVC et pourquoi leur code devrait être divisé en fonctions et classes et séparer la présentation de la logique et pas tous confondus main. Je trouve que plus vous continuez indéfiniment, ou plus vous critiquez leur code de manière agressive, plus ils disparaissent rapidement et plus longtemps avant de revenir. Mais vraiment, je garde cette stratégie pour celles que je n'aime pas ou qui n'essaye même pas d'apprendre le matériel.

Austin Hyde
la source
0

Je suggérerais en fait de les aider, non pas en leur donnant des réponses mais en examinant leur code et en les menant dans la bonne direction. Un simple "Eh bien, avez-vous pensé à [x] ..." est extrêmement utile pour les personnes qui ont juste du mal à comprendre la situation, et pour les personnes qui recherchent simplement des documents, cela les éloignera une fois qu'elles se rendront compte que vous n'allez pas simplement leur donner la réponse.

Je suis désolé, et cela peut sembler un peu grossier, mais à 16 ans, avez-vous vraiment cette exigence de vie que le fait d'aider un camarade de classe va vous mettre la vie à l'abri des kilomètres et des éons? Peut-être que c'était juste mon enfance, mais je me souviens d'un morceau géant de temps libre qui pourrait être utilisé pour n'importe quelle entreprise qui me plaisait tellement, et certains que je n'ai pas nécessairement plu, mais qui m'ont aidé à long terme, l'un des ce qui aidait les camarades quand ils ne comprenaient pas un concept [c'était les mathématiques et la programmation pour moi].

Jeff Langemeier
la source