Пособие для программистов: как правильно задавать вопросы

Вы программист и боитесь задавать вопросы, уточнять что-то? Не надо так, показываем, как это делать правильно. Нет, никакого HR головного мозга.

Прочтите эту статью, а потом сохраните, распечатайте, чтобы каждый раз, когда у вас возникает вопрос, можно было быстро этим воспользоваться.

К чему это всё

Пособие для программистов: как правильно задавать вопросы

Большинство людей почему-то боится задавать вопросы. Возможно, потому что они не хотят показаться слабыми, а предпочтут оставаться вечными студентами самоучками. Есть несколько советов, следуя которым можно остаться уверенным в себе и даже продвинуться в карьере.

Независимо от того, являетесь ли вы частью команды, просто пользователем StackOverFlow или студентом, важно задавать правильные вопросы, чтобы глубже вникать в проблему. Получается, что люди, задающие полезные вопросы, более эффективны, вследствие чего уважение к ним возрастает, соответственно и возможности карьерного роста больше. Короче, одни плюсы.

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

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

Пошаговое руководство

1. Не пытайтесь понять то, что для вас слишком сложно

  • Чем сложнее один вопрос, тем больше новых вопросов будет возникать. Зачем кого-то донимать?
  • Просмотрите код по строчке, может вы просто чего-то не замечаете и поэтому у вас возник вопрос;
  • Если есть возможность поискать информацию по вопросу, сделайте это. Всех же бесит, когда спрашивают то, что можно нагуглить за несколько секунд;
  • Пользуйтесь отладчиком, это первая ступень при поиске проблемы. Если ещё не умеете, посмотрите статью по отладке на нашем сайте.

2. Поймите, что вам нужно и чётко опишите проблему

  • Объясните контекст проблемы. Например, если вы участвуете в контесте, укажите URL-адрес соответствующего задания и объясните, почему у вас не получается сделать то, что вы пытаетесь. Или, к примеру, во время просмотра видео-гайда, у вас возник вопрос, тогда, укажите временной промежуток, чтобы кто-то, кто может помочь, понимал, почему вы застряли;
  • Расскажите, какие действия вы совершили перед созданием проблемы. Например, вы нажали три кнопки в определенном порядке, потому что это работает в Chrome, но не в Safari? Объясняйте это!
  • Расскажите, что должно было быть;
  • Объясните, что вы на самом деле видите. Например, если есть сообщение об ошибке, поделитесь ошибкой и строкой кода, вызвавшей ее. Если есть странная проблема с пользовательским интерфейсом, сделайте снимок экрана.

3. Укажите место, где возникла проблема

  • Если вы работаете над крупным проектом, конечно же, весь код показывать не нужно, лишь его часть;
  • Если код общий, убедитесь, что он не изменится, пока вы пытаетесь понять где проблема. Иначе ситуация будет выглядеть так, что вы отвлекли кого-то, а проблемы уже нет, или это другая проблема.

4. Будьте уверены, что этот код вообще решает данную проблему

  • Возьмите проблемный код, и убедитесь, что он ведет себя точно так, как вы описываете его действие в данный момент. Если вы разделите сломанный код, который не реплицирует проблему, вам будет невозможно помочь.

5. Если это возможно, продемонстрируйте то, что должно получиться

  • Например, если у вас есть проблема с интерфейсом, создайте живую демонстрацию, например с помощью Plunker, и поделитесь ссылкой;
  • Если демонстрация в реальном времени невозможна, объясните, почему. Затем загрузите свой код на сайт вроде Github, и предоставьте процесс запуска кода.

6. Форматируйте свой код

  • Неважно, какой стиль вы используете. Это упрощает чтение кода. Это также поможет вам в следующем шаге.

7. Проверьте код на опечатки

  • Никому не нужно искать опечатки в коде за вас, этому нужно научиться;
  • Например, если вы застряли в туториале, вернитесь к точке, где работал ваш код, и повторите уроки оттуда, убедившись, что ваш код продолжает работать. Когда дойдете до точки, где ваш код не работает, повторите урок и дважды (можно больше) проверьте наличие опечаток;
  • Допустим, вы пытаетесь сделать что-то и сравниваете это с чужим кодом. Если в целом всё совпадает, но чужой код работает, а ваш нет, тогда у вас есть опечатки. Ну, теперь, остаётся лишь найти ее. Вернитесь, и последовательно просмотрите код. Выполняйте свою работу сами.

8. Объясните, как вы пытались устранить проблему

  • Придумайте список причин, по которым могла возникнуть проблему, и проверьте каждую гипотезу, а потом объясните, что вы сделали;
  • Да, в процессе вы можете решить проблему самостоятельно. Зачастую так и происходит.

9. Расскажите своё мнение по данной проблеме

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

10. Сформулируйте свой вопрос

  • Обдумайте свой вопрос, проверьте, все ли, что нужно для его решения вы знаете;
  • Ещё раз обдумайте его и сформулируйте как можно понятнее, чтобы никого не запутать.

11. Обсуждаете процесс работы и помните, что это не последний ваш вопрос

  • Если вы выяснили ответ, пока кто-то думает об этом, сообщите им, чтобы другие не мучались;
  • Когда вы получите ответ от другого, найдите время, чтобы тщательно переварить его, и полностью понять, что говорит человек. Иначе ему покажется, что его помощь не ценится. А может его совет и вовсе не будет верным;
  • Поблагодарите каждого, кто помог, хотя им это не было нужно (если вы конечно, никому не угрожали).

Источник: Gordon Zhu on Medium

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ