Skip to content
All posts
3 min readDeveloper ToolsDocumentationSupport

Every support ticket is a documentation bug

If the same question arrives three times, the product didn't fail — the explanation did. How to run developer-tool support so the queue shrinks instead of growing.

Support queues for developer tools grow in a predictable way. A question arrives. Someone answers it well, in a thread, to one person. The answer is never written down anywhere public. Three weeks later the same question arrives from someone else.

The product did not fail. The explanation did.

The three-time rule

The rule I work to is simple: the third time a question is asked, it becomes documentation before it gets answered again.

Not a macro. Not a canned reply. A page, in the docs, that the next person will find before they open a ticket.

This feels slower in the moment — you are writing a page instead of clearing a ticket — and it is the only thing that makes the queue shrink over time. A macro answers the question faster. A documentation page stops it being asked.

Reproduce before you reply

The single biggest quality difference in developer-tool support is whether the person answering has actually run the thing.

A reply that says "can you share your config?" costs the customer a day. A reply that says "I reproduced this — it happens when X is set and Y is not, here's the workaround, here's the issue tracking the fix" ends the conversation.

That requires support to be done by someone who can read the source and run the product. For a developer tool, anyone doing support who cannot do those two things is a relay, not a resolution.

Escalate with a diagnosis, not a description

Engineering time is the scarcest thing in an early-stage company. What gets escalated determines how much of it support consumes.

A bad escalation forwards the customer's email. A good one contains:

  • A minimal reproduction, in a repository or a paste
  • Exact versions of the tool, runtime, and OS
  • What was expected, what happened, and the delta
  • What has already been ruled out

The first costs an engineer an hour of context-building. The second costs ten minutes. Over a quarter, that difference is an entire engineer.

Read the queue as product feedback

Tickets are the highest-signal product research available, and almost nobody treats them that way.

Tag every ticket by theme and read the distribution monthly. The pattern is always informative:

  • A cluster around one API means the API is confusing, not the users
  • A cluster during first install means onboarding is the problem, not the feature set
  • A cluster after a release means the changelog under-communicated a breaking change

A support function that reports themes to product every month earns its budget on that alone.

Answer in public where you can

A question answered in a private ticket helps one person. The same answer in a public forum, a docs page, or an issue thread helps everyone who searches for it later — and those pages become how new users find the product at all.

This is the part most teams under-invest in, because the benefit is diffuse and delayed. It is also why support and documentation should not be separate functions in a small company. They are the same job at different time scales.


This is how I run support engagements for developer-tool teams — reproduce, diagnose, answer, then write it down. If your engineers are being pulled into the support queue, that's the problem I solve.

Written by Shikhar Tiwari

AI & Industrial Automation Engineer, based in Bengaluru, India. I build the systems that connect factory floors to business software — and take on freelance support and documentation work for developer-tool teams.

Get new writing by email

Occasional posts on IIoT, MES, and making industrial systems talk to each other. No spam, unsubscribe any time.