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

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

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

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

К чему это всё

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

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

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

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

Пошаговое руководство 1. Не пытайтесь понять то, что для вас слишком сложно
  • Чем сложнее один вопрос, тем больше новых вопросов будет возникать. Зачем кого-то донимать?
  • Просмотрите код по строчке, может вы просто чего-то не замечаете и поэтому у вас возник вопрос;
  • Если есть возможность поискать информацию по вопросу, сделайте это. Всех же бесит, когда спрашивают то, что можно нагуглить за несколько секунд;
  • Пользуйтесь отладчиком, это первая ступень при поиске проблемы. Если ещё не умеете, посмотрите статью по отладке на нашем сайте.
2. Поймите, что вам нужно и чётко опишите проблему
  • Объясните контекст проблемы. Например, если вы участвуете в контесте, укажите URL-адрес соответствующего задания и объясните, почему у вас не получается сделать то, что вы пытаетесь. Или, к примеру, во время просмотра видео-гайда, у вас возник вопрос, тогда, укажите временной промежуток, чтобы кто-то, кто может помочь, понимал, почему вы застряли;
  • Расскажите, какие действия вы совершили перед созданием проблемы. Например, вы нажали три кнопки в определенном порядке, потому что это работает в Chrome, но не в Safari? Объясняйте это!
  • Расскажите, что должно было быть;
  • Объясните, что вы на самом деле видите. Например, если есть сообщение об ошибке, поделитесь ошибкой и строкой кода, вызвавшей ее. Если есть странная проблема с пользовательским интерфейсом, сделайте снимок экрана.
3. Укажите место, где возникла проблема
  • Если вы работаете над крупным проектом, конечно же, весь код показывать не нужно, лишь его часть;
  • Если код общий, убедитесь, что он не изменится, пока вы пытаетесь понять где проблема. Иначе ситуация будет выглядеть так, что вы отвлекли кого-то, а проблемы уже нет, или это другая проблема.
4. Будьте уверены, что этот код вообще решает данную проблему

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

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

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

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

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

📎📎📎📎📎📎📎📎📎📎