Guide

Questions are a skill, not a confession of weakness. Teammates feel the difference between "I am lost" and "I got this far; here is the gap." Julia Evans's How to ask good questions is the standard reference. The habits below are what people actually notice.

Walking through a better ask

Show what you tried. "I cannot find where invoices are created" is weaker than "I traced POST /invoices to InvoiceController#create, then into Billing::Create, but tax seems to apply in a callback I cannot find — I checked after_create and the tax package. Where should I look next?"

Time-box being stuck. A useful default: 30–60 minutes of focused investigation — docs, code search, one experiment — then ask. Waiting half a day to "not bother people" wastes their calendar later when you are more lost.

Batch questions. Collect three non-blocking questions for a buddy sync or Slack thread instead of pinging every twelve minutes. Mark which are blocking a deploy versus curiosity.

Aim at the right person. Prefer the person who last touched the code, or the on-call for that service, over the most senior engineer in the company. Spread load; get fresher context.

Ask for the map, not only the answer. "What is the intended invariant here?" and "What would break if we changed this?" teach more than "what should I type?"

Trade-off

Ask now vs dig longer. If the cost of being wrong is an irreversible production change, ask earlier. If the cost is only your time and the question is navigation, dig until your time-box. Never ship a guess that could corrupt data to avoid a Slack message.

Common mistakes

  • Question flood. A ping on every symbol trains people to mute you. Time-box and batch.
  • Hiding for half a day. Courtesy that makes you more lost is expensive for everyone.
  • Asking the most senior person by default. The last author or current on-call usually knows more.

Check yourself

You have been stuck for 20 minutes on where tax is applied. Ask now?

Not yet for a navigation question. Dig to 30–60 minutes, then ask with the path you already traced.

The change could corrupt invoice rows if you guess the invariant. Ask now?

Yes. Irreversible data risk means ask before you ship a guess.

Key takeaways

  • Show the path you already tried. Helpers can start from your last step.
  • Time-box stuckness at about 30–60 minutes, then ask.
  • Batch non-blocking questions; mark what is blocking.
  • Ask earlier when being wrong is expensive.

Further learning

How to ask good questions (Julia Evans)How to ask good questionsJulia Evans

Next: ship something small in week one.