Как только вы добились значительного прогресса в написании программы кодирования или самостоятельном проекте, вы, несомненно, придете к моменту, когда потребуются концепции, выходящие за рамки вашего текущего набора инструментов. Вам нужно будет исследовать и придумать что-то новое и креативное. Вероятность того, что вы застрянете в реализации новых концепций, высока, и вы не должны бояться просить о помощи. Это лучше, чем 7 часов кататься на эмоциональных американских горках в субботу. Когда дело доходит до обращения за помощью в Интернете, то, что вы получаете в ответ, напрямую связано с тем, кого, что и как вы просите.

Если вы плохо сформулируете свой вопрос или будете использовать непонятную лексику, вас отправят в подвал. Это не приблизит вас к решению, поэтому лучше избегать. Недавно я отправил сообщение своему наставнику и подумал, что оказываю ему огромную услугу, используя мучительно техническую терминологию. Я подумал: «Я постараюсь максимально точно описать свою проблему, и это приведет к более быстрому решению». *Звук-зуммера-неверный-ответ* Его ответ сильно отличался от того, что я ожидал.

Он до невозможности ясно дал понять, что без кода (упс, не удосужился связать то, о чем я говорил) было бы почти невозможно следовать тому, что я написал в любом случае. Я выбрал слишком много слов, слишком много понятий... Я отклонился от своего первоначального вопроса. Он сказал мне, что техническое общение, или «получение помощи», как его еще называют, на самом деле является важным навыком и требует соблюдения некоторых правил.

Он «настоятельно рекомендовал» мне попытаться задать его еще раз, но с учетом нескольких моментов.

  • Сформулируйте свой вопрос таким образом, чтобы помочь людям со взглядом со стороны понять проблему. Вы потратили последние несколько дней, часами работая над своим проектом, вы знаете, что это значит, но никто другой этого не сделает.
  • Дайте ссылку на ваш гитхаб или ваш код. Это не просто; люди умнее вас могут загрузить и запустить ваш код и поэкспериментировать с ним быстрее, чем вы даже сообразите, о чем стоит спросить. Они могут считывать коды ошибок и заглядывать в места, о которых вы даже не подозревали, дайте им шанс.
  • Знайте свою аудиторию. Вы ищете помощи в слабине от своих сверстников? Вы публикуете на stackoverflow? Твой новый начальник на работе?
    Некоторые люди могут захотеть использовать громкие слова, чтобы казаться важными, другие могут также не знать, что они делают. Подумайте, кто будет его читать и, что более важно, кто ответит. Вы получаете лучшие практики или изучаете быстрый взлом? Обязательно создайте новую ветку перед большими изменениями!
  • Если вы участвуете в структурированной программе или классе, предоставьте ссылку на контрольную точку или задание. Дайте контекст тому, о чем вы спрашиваете. Предоставьте группам поддержки доступ к материалам ресурсов, чтобы предложить лучшие решения. Доверьтесь им, чтобы они знали, как помочь вам лучше всего!
  • Опишите проблемы с точки зрения пользователя. Особенно, если вы не уверены, что пытаетесь спросить, начните с создания пользовательской истории. Затем объясните поведение, которое вы ожидаете, по сравнению с поведением, которое вы получаете.
  • Простой язык! Держитесь подальше от чрезмерно технической терминологии, если в этом нет крайней необходимости. Перечитайте его про себя. Это достаточно просто? Создайте самый маленький, но полный вопрос.
  • Воздержитесь от того, чтобы сразу бросать свои 2 цента в разговор. Не начинайте свой пост с размышлений о задании или проблеме. Никто не интересуется вашим мнением, пока они сначала не выяснят некоторые другие вещи. Избегайте спуска!

У меня были такие лучшие ответы и поддержка с тех пор, как я придерживался этих рекомендаций. Это помогло мне быть более продуктивным, поэтому я подумал, что могу поделиться и помочь всем, кто тоже работает. Не боритесь в одиночку, слишком много отличных ресурсов, если вы умеете спрашивать. Просто прыгайте и начните получать больше от своих программ и руководств с помощью этих советов. Мы все с чего-то начинаем!

TL:DR — Просто и лаконично сформулируйте свой вопрос и предоставьте примеры кода всем, к кому вы обращаетесь за помощью в кодировании. Создайте пользовательскую историю и работайте в обратном направлении, чтобы сформулировать свой вопрос. Сдерживайте шум в своем посте, избегая ненужных мнений, придерживайтесь фактов, если вас не просят конкретно.