Вопросы: когда и как спрашивать
Умение задавать вопросы — профессиональный навык разработчика: правильный вопрос экономит часы отладки, а неправильный — раздражает коллег и замедляет всю команду.
Зачем нужно
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 мин |
| Задавать несколько вопросов сразу | Коллега не знает с чего начать | Один вопрос за раз |
Связанные темы
- _MOC Процессы
- Slack и Discord -- этикет общения
- Менторство -- как быть ментором
- Коммуникация в распределённой команде