How to Explain a Technical Problem to Someone Who Is Not Technical

by Arif Ikhsanudin, Backend Developer

The Explanation That Got the Wrong Answer

An engineering team needed two weeks to address critical technical debt before starting a major feature. The engineer who explained it to the product team said: "We need to refactor the service layer to decouple the data access objects from the business logic before we can safely add the new payment flow. The current coupling creates a tight dependency that will make the new integration brittle."

The product team heard: "We want to do some internal cleanup." They approved one week instead of two, based on their sense that internal cleanup was low-priority. The feature was built on the unstable foundation. Six weeks later, the payment integration was causing incidents exactly as predicted.

The explanation was technically accurate. It was completely ineffective because it was aimed at the wrong audience.

The Translation Problem

Technical explanations fail for non-technical audiences not because of intelligence differences but because of vocabulary and frame differences. A product manager thinks in terms of user outcomes, timelines, and risk to commitments. A CTO thinks in terms of organizational risk, competitive positioning, and strategic bets. Neither thinks in terms of class coupling or service layer design.

Effective technical communication is translation — not simplification, but reframing in terms the audience already has categories for.

The Framework: Problem → Risk → Consequence → Choice

For any technical issue that requires non-technical stakeholder engagement, structure the explanation around four elements:

Problem (in non-technical terms): What is wrong with the current state, described as a property of the system's behavior rather than its implementation? "Our payment service and user authentication service are currently intertwined in a way that makes changes to either one risky." Not "the services are tightly coupled."

Risk (concrete and probable): What is the probability and consequence of not addressing this? Use historical analogs if available. "Last quarter, a change to the authentication service caused an unrelated payment outage that lasted four hours. The root cause was this intertwining. The same risk applies to any change in either area."

Consequence (over a timeline): What happens at different time horizons if this is addressed vs. not addressed? "If we address this now, it takes two weeks and the new payment flow is safe to build. If we don't address it and proceed, we'll likely hit incidents during or after the new payment flow that will require emergency fixes — estimated 1-2 weeks of interruption, plus user-visible downtime."

Choice (what you're asking for): A specific, bounded decision. "We're asking to defer the new payment feature by two weeks to address this. After that, the new feature can be built safely and the risk of incidents is significantly reduced."

This structure gives the stakeholder what they need to make an informed decision. They don't need to understand the technical details. They need to understand the tradeoff.

The Analogy Tool

Technical concepts often have structural analogs in domains non-technical stakeholders know well. Used carefully, analogies bridge the vocabulary gap without condescending.

Technical debt as a bank loan: "We took a shortcut eighteen months ago that let us ship faster, but it's like a loan we're paying interest on every time we modify this area. The interest is now high enough that we're spending two days per feature on something that should take half a day. This refactoring pays off the loan."

Microservices as organizational divisions: "We're proposing to split the company's software into separate areas, each owned by a different team, the same way divisions work. Changes in one area don't affect others. The risk is that coordinating across areas now requires explicit communication, like coordinating across divisions."

Good analogies illuminate the tradeoff without requiring the listener to understand the technical mechanism.

What Not to Do

Don't over-simplify to the point of inaccuracy: If the analogy suggests no risk when there is risk, or infinite scalability when there isn't, you're setting up a future credibility problem.

Don't use technical jargon with a non-technical audience: If you use terms like "idempotent," "eventual consistency," or "schema migration" without explaining them, you've transferred your vocabulary problem to the listener.

Don't require technical understanding to engage with the decision: The stakeholder should be able to evaluate the tradeoff with the information you've provided. If they need to understand the technical details to do that, you haven't finished the translation.

The Practical Takeaway

Before your next conversation with a non-technical stakeholder about a technical issue, write down the problem, risk, consequence, and choice in three sentences or fewer — with no technical jargon. If you can't, the framing isn't finished. When you can, that's your opening statement. The details can follow from their questions.

Scale Your Backend - Need an Experienced Backend Developer?

We provide backend engineers who join your team as contractors to help build, improve, and scale your backend systems.

We focus on clean backend design, clear documentation, and systems that remain reliable as products grow. Our goal is to strengthen your team and deliver backend systems that are easy to operate and maintain.

We work from our own development environments and support teams across US, EU, and APAC timezones. Our workflow emphasizes documentation and asynchronous collaboration to keep development efficient and focused.

  • Production Backend Experience. Experience building and maintaining backend systems, APIs, and databases used in production.
  • Scalable Architecture. Design backend systems that stay reliable as your product and traffic grow.
  • Contractor Friendly. Flexible engagement for short projects, long-term support, or extra help during releases.
  • Focus on Backend Reliability. Improve API performance, database stability, and overall backend reliability.
  • Documentation-Driven Development. Development guided by clear documentation so teams stay aligned and work efficiently.
  • Domain-Driven Design. Design backend systems around real business processes and product needs.

Tell us about your project

Our offices

  • Copenhagen
    1 Carlsberg Gate
    1260, København, Denmark
  • Magelang
    12 Jalan Bligo
    56485, Magelang, Indonesia

More articles

How I Structure a Rails App Before Writing a Single Line of Business Logic

The decisions you make in the first hour of a Rails project determine how painful the next two years will be. Here is the setup I reach for before touching application logic.

Read more

Turning One Contract Into a Long Term Relationship

A single successful contract is valuable. A long-term relationship with the client who gave it to you is worth multiples of that — in income, in referrals, and in the kind of work you get to do.

Read more

Mocking Everything in Your Tests Is a Sign Something Is Wrong

Tests that mock every dependency are not unit tests — they are tests of mock configuration. When a test setup contains more mock declarations than real assertions, the test has stopped verifying behavior and started verifying wiring.

Read more

Melbourne Is Not Sydney — And Its Backend Hiring Challenges Are Entirely Its Own

Melbourne has a strong tech community and a distinct startup culture. Its backend hiring market has its own specific friction that founders often don't see coming.

Read more