Вопросы: когда и как спрашивать

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

Зачем нужно

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

Где используется

  • Рабочая команда — ежедневное взаимодействие с коллегами
  • RS School — вопросы ментору и в Discord
  • Stack Overflow — принципы те же, только публично
  • Собеседования — вопросы интервьюеру тоже оцениваются

Перед тем как спросить

Чеклист самостоятельного исследования:
□ Прочитал сообщение об ошибке полностью
□ Погуглил точный текст ошибки
□ Проверил официальную документацию
□ Проверил Stack Overflow (первые 3–5 результата)
□ Попробовал debugger / console.log / breakpoint
□ Потратил 15–30 минут на поиск решения

Если всё выше выполнено → пора спрашивать

Правило 15/30/60 минут

15 мин → уточняй понимание задачи у коллеги
         (вдруг неверно понял ТЗ — лучше выяснить сразу)

30 мин → спрашивай если застрял
         (самостоятельный поиск ценен, но есть предел)

60 мин → обязательно спроси
         (час на одну проблему — слишком много, тормозит всё)

Структура хорошего вопроса

1. Контекст: что я пытаюсь сделать
2. Что сделал: что пробовал
3. Что получается: конкретная ошибка или симптом
4. Вопрос: конкретный, а не "помогите"

Шаблон:

Контекст:
Реализую авторизацию через JWT. При каждом запросе токен 
должен проверяться middleware.

Что сделал:
Написал middleware verifyToken, он вызывается в router.
В Postman с заголовком Authorization: Bearer <token>
получаю ошибку.

Что получается:
JsonWebTokenError: invalid signature
Токен генерируется в /login, сохраняю в localStorage.

Вопрос:
Что значит "invalid signature"? Это про секретный ключ?
JWT_SECRET в .env один и тот же для sign и verify?

XY Problem — частая ловушка

Разработчик столкнулся с проблемой X.
Думает, что решение — Y.
Спрашивает про Y, а не про X.

Пример:
X: Нужно получить последний символ строки
Y: Думает, что нужен метод .last
Спрашивает: "Почему .last не работает для строки?"

Правильный вопрос: "Как получить последний символ строки?"

Решение: всегда объясняй исходную проблему,
не только попытку решения

Форматирование вопроса в Slack/Discord

✓ Используй блоки кода (```) для кода и ошибок
✓ Один вопрос = одно сообщение (не 5 сообщений)
✓ Укажи версии: Node 18, React 18, TypeScript 5

❌ Скриншот кода вместо текста (нельзя скопировать)
❌ "Не работает" без объяснений что именно
❌ Вопрос в личку вместо публичного канала

Частые ошибки

Ошибка Проблема Решение
Спрашивать сразу, без попытки разобраться Коллеги устают, Junior не растёт Правило 15 минут
"Почему не работает?" без контекста Невозможно помочь Добавить код, ошибку, что пробовал
Застрять на 3 часа, не спрашивая Потерянное время, стресс Спрашивать через 30–60 мин
Задавать несколько вопросов сразу Коллега не знает с чего начать Один вопрос за раз

Связанные темы

Ресурсы