Salut
Ces deux dernières années, j'ai beaucoup travaillé avec des gens qui commencent tout juste leur carrière dans l'informatique. Étant donné que les questions elles-mêmes et la façon dont elles sont posées par de nombreuses personnes sont similaires, j'ai décidé de rassembler mon expérience et mes recommandations en un seul endroit.
Il était une fois la lecture d'
un article d'Eric Raymond
en 2004, et je l'ai toujours suivie strictement dans ma carrière. Il est assez volumineux et plus probable pour les administrateurs système. Je dois aider des personnes, souvent sans expérience en développement, à devenir juniors et à démarrer ma carrière.
Pour ceux qui sont déjà devenus ou qui rêvent de devenir un développeur novice, je peux donner les recommandations suivantes:
- Explorez le problème vous-même
- Dites d'abord à la cible, puis exprimez le problème
- Écrivez correctement et au point
- Posez des questions à l'adresse et partagez la décision
- Respectez le temps de quelqu'un d'autre
- Regardez plus large
Et maintenant plus en détail.
Explorez le problème vous-même
Vous apprenez un langage de programmation à partir d'un livre ou d'un cours. Ils ont pris un exemple de code, l'ont lancé, mais il s'est écrasé avec une erreur incompréhensible pour vous. Si vous croyez au livre - il devrait fonctionner. Mais vous en croyez aux yeux - cela ne fonctionne pas. Quelles sont les options?
- Décidez que vous ne deviendrez jamais développeur, car le monde entier est contre vous, et même des exemples concrets ne fonctionnent pas. Abandonnez la formation;
- Décidez que vous ne deviendrez jamais développeur car vous êtes trop stupide ou ne vous est pas donné. Abandonnez la formation;
- Commencez à demander à tous vos amis qui sont en quelque sorte connectés à l'informatique, en leur demandant de comprendre pourquoi cela ne fonctionne pas pour vous. Apprenez-en beaucoup sur vous-même, offusquez-vous. Abandonnez la formation;
Quelle option est correcte? Le voici:
Comprenez que vous n'êtes pas unique (quoi que disent votre mère et votre grand-mère), et le monde informatique n'est pas aussi simple qu'il est claironné lorsque vous appelez pour des cours et des webinaires.
Comprendre que vous n'êtes pas unique conduit à réaliser que votre problème a probablement déjà été rencontré par des dizaines, des centaines, des milliers de personnes. Si vous êtes un développeur novice, vous pourriez facilement ne pas remarquer quelque chose, ne pas installer ou configurer. Voici une liste de contrôle que je propose de parcourir avant de comprendre que vous ne pouvez pas résoudre le problème vous-même et que vous avez besoin d'aide:
- Assurez-vous que la question est unique et qu'il n'y a pas de réponse sur Internet
- Étudiez soigneusement la cause du problème, pas son effet
- Évaluer les solutions possibles au problème, leurs avantages et leurs inconvénients
- Pensez à des alternatives pour atteindre votre objectif
- Réfléchissez à ce qui pourrait vous être demandé et préparez des réponses à l'avance
Avec le
premier paragraphe, tout est trivial: si le texte de l'erreur vous est complètement incompréhensible, copiez-le sur Google et lisez attentivement le texte via les liens.
Deuxièmement : par exemple, si votre code se bloque avec l'erreur «Je ne peux pas connecter une bibliothèque tierce», ce n'est pas votre code. Le fait est que vous n'avez installé aucune bibliothèque que vous souhaitez utiliser. Vous devez donc chercher comment l'installer et non comment réparer votre code.
Les troisième et
quatrième sont très similaires: que se passe-t-il si le problème se trouve dans cette bibliothèque et que je dois simplement en chercher une autre? Et si je n'utilise pas du tout une bibliothèque tierce, mais que j'écris mon code à l'aide d'outils standard?
Le cinquième point nous amène à la partie suivante: pensez à ce que la personne que vous allez vous demander et préparez les réponses.
Dites d'abord à la cible, puis exprimez le problème
Le but est ce que vous vouliez faire. Par exemple, écrivez un code qui va sur Internet et enregistre 10 images avec des chats amusants. Le problème est pourquoi vous voyez l'erreur dans la console, mais ne voyez pas 10 chats amusants. Ne commencez pas votre question avec un problème. Commencez avec un objectif, terminez par un problème. Si la personne à qui vous demandez de l'aide est un développeur expérimenté et en sait beaucoup, alors il sera sûrement en mesure de vous proposer une solution plus simple et plus élégante au problème. Si vous avez déjà choisi le plus simple et le plus élégant, il comprendra clairement ce que vous voulez faire et pourquoi, et cela accélérera la réponse.
Bonne question:
Je veux garder 10 chats amusants chaque jour pour rire et prolonger ma vie. Pour cela, j'ai écrit ce code: [...]. Je m'attends à ce qu'il se connecte au serveur FTP et télécharge de nouvelles photos à partir de là. Cependant, quand je l'ai lancé, j'ai vu cette erreur: [...] Bien que je puisse accéder à ce serveur via le navigateur.
Réponse rapide:
Vous avez pris cette bibliothèque en vain, personne ne l'a supportée ou développée depuis longtemps. Mieux vaut prendre celui-ci - je télécharge moi-même ses photos avec des chats!
Mauvaise question:
Salut, mon code a généré cette erreur [...], vous ne savez pas ce qui pourrait mal se passer?
La réponse évidente est:
Salut Non, je ne sais pas.
Écrivez correctement et au point
Pas besoin de verser un flux de pensées sur une personne. La personne vers qui vous vous êtes tourné pour trouver une solution à votre entreprise. Faites-lui comprendre rapidement quel est votre problème et ce que vous attendez de lui. Si vous avez des problèmes d'alphabétisation, utilisez les services d'orthographe et de ponctuation en ligne. Vous pouvez supprimer les déchets du message sans services en ligne. Ne versez pas d'eau, ne partez pas de loin. Écrivez de façon concise, succincte et précise. Donnez des exemples.
Mauvais:
- étant entré au fur et à mesure que les sorties passaient))) J'essaie de monter un projet en bref, mais pour une raison quelconque O_o ne fonctionne pas pour moi, bien qu'il semble que j'ai tout fait correctement, montez s'il vous plaît)))))) ici en général, j'ai quelque chose de peu clair dans la console (((déjà direct J'ai tout essayé, rien ne fonctionne, ahhh (
Bon:
- Salut, j'essaie de démarrer un projet, mais il y a un problème. Il se bloque juste après la commande docker-compose up, voici le journal de lancement et l'erreur: [...] Pouvez-vous me dire comment le résoudre?
Posez des questions à l'adresse et partagez la décision
Vous ne devez pas écrire une question dans un message personnel à une personne spécifique, sauf si vous avez été informé qu'elle devrait être posée. Il vaut mieux écrire à un groupe de personnes car:
- Tout le monde est occupé à résoudre ses problèmes. La chance que quelqu'un dans le chat général ou sur le forum puisse vous donner du temps est plus élevée.
- La chance que quelqu'un dans le chat général sache comment vous aider est plus élevée.
- Vous laissez aux autres l'occasion de trouver la même question et la réponse plus tard.
Jetez un oeil au dernier paragraphe. Vous avez déjà appris que vous devriez essayer de résoudre vous-même les problèmes? Vous avez déjà utilisé la recherche dans le chat / forum / groupe, mais vous n'avez pas trouvé de mention de votre problème? OK, puis demandez.
D'un autre côté, ne dérangez pas les gens en vain. Si possible, excluez de la liste des destinataires ceux qui ne peuvent pas vous aider. Plus une personne reçoit de messages, moins elle est susceptible de les lire tous. Ne prenez pas l'habitude de désactiver les alertes ou d'ignorer les messages.
Certes, votre expérience peut être utile à quelqu'un d'autre. Gagnez du temps pour vous et les autres en publiant une réponse ou une solution. Le prochain nouveau venu, s'il sait déjà de quoi nous parlons ici, ne dérangera personne du tout - il trouvera votre solution en cherchant. Pourquoi dis-je que vous pouvez gagner du temps vous-même? Parce que vous pouvez rencontrer ce problème dans un an, et je ne me souviens pas comment il a été résolu. La recherche sera à nouveau enregistrée.
Respectez le temps de quelqu'un d'autre
Rendez la vie aussi facile que possible aux personnes à qui vous demandez de l'aide.
Assurez-vous que les liens que vous envoyez fonctionnent. Essayez de l'ouvrir en mode navigation privée. Si le lien nécessite une autorisation, vous verrez une erreur d'accès. Par exemple, si vous avez téléchargé le code dans un référentiel privé ou envoyé un lien vers un lecteur Google auquel vous seul avez accès, une personne verra une erreur et devra passer du temps pour vous en informer, puis attendre jusqu'à ce que vous configuriez l'accès. Faites immédiatement voir à la personne de quoi vous parlez.
Ne vous attendez pas à ce que quelqu'un veuille se souvenir de ce que vous avez demandé il y a deux jours. Envoyez à nouveau les informations, rappelez le contexte. Personne ne veut chercher dans la correspondance ce que vous avez sous la main. Si vous êtes trop paresseux pour dupliquer des informations afin que les gens ne passent pas leur temps à chercher, alors vous n'avez pas besoin d'aide.
Ne sortez pas de son contexte. Si vous envoyez un journal avec une erreur, il est évident que vous devez inclure non seulement l'erreur elle-même, mais aussi le code qui l'a provoquée, avec un exemple de ce sur quoi elle s'est cassée.
S'il existe un processus établi pour résoudre votre problème, suivez-le. Vous ne devez pas réinventer la roue si vous avez déjà un article avec un HowTo étape par étape.
Ne cherchez pas la réponse d'une personne à travers différents canaux (écrivez sur slack, skype, télégrammes) en même temps - ce sera désagréable pour une personne.
Vous n'avez pas besoin d'écrire le même message à plusieurs personnes à la fois, dans l'espoir qu'au moins quelqu'un vous répondra. Toutes ces personnes peuvent vous donner la réponse (très probablement, ce sera la même), mais elles seront toutes distraites de leurs affaires pendant un certain temps. Utilisez des chats de groupe.
Regardez plus large
Tout ce dont nous avons parlé ici s'applique en dehors de l'industrie informatique. Suivez ces règles dans un supermarché, un service de voiture, en vacances dans un autre pays, lorsque vous communiquez avec des amis et des parents. Montrez aux gens que vous appréciez leur temps et que vous ne voulez pas les forcer pour rien. Montrez que vous avez dépensé le temps et l'énergie pour résoudre le problème vous-même, mais que vous n'y êtes pas parvenu et que vous avez vraiment besoin d'aide. Dans la gratitude, les gens sympathiseront avec vos problèmes et aideront à leur solution.