Technical Communication: How to Explain a Problem Clearly
The gap between “technically correct explanation” and “clear explanation” is where a lot of engineering influence is lost. An engineer who can diagnose a complex problem but can’t explain it clearly to a product manager, a stakeholder, or a more senior engineer is limited in what they can accomplish.
This isn’t a soft skill that exists alongside technical ability. It’s a technical skill in its own right. Explaining something clearly requires understanding it deeply enough to know what matters and what doesn’t.
Why Technical Explanations Fail
The most common failure mode: too much detail, in the wrong order, for the wrong audience.
When a deployment fails, the instinct is to explain what happened in the order it happened: “the Jenkins pipeline triggered, the build passed, but then during the deploy step the load balancer health checks started failing because the new pod was trying to connect to the primary database but the connection pool configuration had the wrong timeout value for the new VPC peering setup.”
The listener doesn’t know what to do with this. They don’t know if this is serious or minor, resolved or ongoing, their problem or not.
The better order: conclusion first, then the context needed to understand it.
“The deployment caused a brief service outage - about 4 minutes. It’s fully recovered now. The cause was a configuration mismatch between the new network setup and our database connection settings. We’ve fixed the configuration and will add a check to prevent this in future deployments.”
Same information, opposite order. The listener now has: what happened, impact, current state, cause, what’s being done. They can ask follow-up questions from that foundation.
The Three-Part Structure
For almost any technical problem explanation, this structure works:
What: what’s the situation? What is the symptom or problem? Why it matters: what’s the impact? Why does the listener care? What next: what’s the status and what’s being done?
"We have a database performance issue [what] that's causing checkout pages to load
slowly - about 30% of users are seeing 5+ second delays [why it matters].
We've identified the slow query and are adding an index, which will take about
2 hours to build in production [what next]."
Forty seconds. The listener knows everything they need to know to make decisions.
The details - which query, what kind of index, why it wasn’t there before - are available on request. Don’t front-load them.
Calibrating to Your Audience
The same problem needs different explanations for different audiences.
To your team: technical precision matters, context is shared. “The user_activities query is doing a full table scan because there’s no index on (user_id, created_at). I’m running CREATE INDEX CONCURRENTLY now.”
To a product manager: impact and timeline matter. “Search is slow for users with a lot of activity. We found the cause - a missing database optimization - and it’ll be fixed in about 2 hours without any downtime.”
To an executive: business impact and status. “Checkout performance was degraded for about 30 minutes this afternoon. It’s fully resolved. We’re adding a test to prevent this class of issue.”
The technical details don’t disappear - you have them available. What changes is what you lead with and what you include in the initial communication.
The mistake engineers make: giving the product manager or executive the team explanation. Not because they’re talking down to non-technical people, but because they haven’t thought about which parts actually matter to the specific audience.
Explaining Tradeoffs
Many technical decisions are tradeoffs. Explaining them clearly requires presenting the options honestly, with the considerations that matter.
The trap: presenting your preferred option as obviously correct and dismissing alternatives. This reads as advocacy, not analysis, and erodes trust.
The alternative: present the tradeoff honestly, then make your recommendation.
"We have two options for handling this.
Option A: migrate to the new database schema. 3 weeks of work, requires a
maintenance window, eliminates the performance issue permanently.
Option B: add caching in front of the existing queries. 1 week of work,
no downtime needed, but it's a workaround - we'd still have the underlying
issue and the cache adds complexity we'd need to maintain.
I'd recommend Option A. The performance issue is getting worse as we grow,
and Option B will need to be replaced eventually anyway. But if the 3-week
timeline is a problem given [upcoming thing], Option B buys us time."
You’ve given the listener what they need to make an informed decision, and you’ve made your recommendation clear. That’s more useful than either “here are options” (no guidance) or “we should do X” (no context).
Written Communication
Most technical communication happens in writing: incident reports, design documents, Slack messages, pull request descriptions, tickets. The same principles apply.
Bottom line up front (BLUF): start with the conclusion or the request, then provide supporting context. Don’t make the reader work through background to find out what you’re actually saying.
One topic per message: a Slack message asking three questions gets partial answers. Three messages get three answers.
Be specific about what you need: “thoughts?” is a hard message to respond to. “Does this approach look right for the use case, or are there edge cases I’m missing?” is answerable.
Active voice for status updates: “The deploy failed because the config was wrong” is clearer than “The deployment process resulted in a failure due to an incorrect configuration having been present.”
When You Don’t Know
“I don’t know, but I’ll find out by [time]” is a complete and useful answer. It’s better than:
- Guessing and being wrong
- Hedging with so many qualifications that the answer is useless
- Going silent and not answering at all
Uncertainty is fine. Unacknowledged uncertainty - saying something with false confidence - erodes trust faster than admitting you don’t know.
The engineers who communicate well don’t have better information than everyone else. They’ve developed the habit of thinking about what their audience needs, organizing information accordingly, and being honest about what they know and don’t know. These are learnable habits, not innate traits.