System Design Nuggets

System Design Nuggets

Why Your System Design Is Correct But You're Still Getting Rejected

A correct system design diagram isn't enough to pass interviews. Learn how to explain trade-offs, navigate ambiguity, drive the narrative, and justify every component

Arslan Ahmad's avatar
Arslan Ahmad
Mar 17, 2026
∙ Paid

This blog covers:

  • Prioritize communication over technical perfection

  • Justify decisions with clear logic

  • Navigate ambiguity in requirements

  • Structure arguments for seniority

Technical competence in software engineering is often viewed as a binary state where a system either works or it does not.

The industry places a heavy emphasis on the final output, such as clean code, efficient algorithms, and functional applications.

However, in the context of career progression and high-stakes evaluations, the ability to construct a working system is distinct from the ability to articulate the rationale behind it.

There is a vast divide between a diagram that is technically accurate and a presentation that convinces an evaluator to trust the candidate with a complex infrastructure.

This gap is often where promising careers stall.

Subscribe to my publication to receive informational guides and resources in the future.

The Silent Architect Problem

It is common to see candidates who possess immense technical knowledge but struggle to advance in interviews. They can look at a problem and immediately visualize the database schema, the API endpoints, and the necessary caching layers.

On a whiteboard, they can draw a diagram that is fundamentally correct.

If that design were implemented, the software would run.

However, in an interview setting, a correct diagram is not enough. The evaluator is not looking for a static answer. They are looking for a thought process.

When an engineer silently draws a load balancer connecting to three web servers, they have provided a design. But they have failed to provide a hireable explanation.

The missing piece is the narrative.

A hireable explanation does not just present the solution. It reveals the journey taken to arrive at that solution. It exposes the rejected alternatives and the logical steps that connect the problem statement to the final architecture.

Understanding “Good Design” in Isolation

To understand the difference, we must first define what constitutes a good design from a purely technical perspective.

In the world of distributed systems, a good design is one that meets the functional and non-functional requirements of the system.

Functional requirements are the behaviors the system must exhibit. For example, the system must allow users to upload photos or send messages. A good design ensures these features work.

Non-functional requirements refer to the quality attributes of the system. These include:

  • Scalability: The ability to handle increased workloads by adding resources.

  • Reliability: The probability that the system performs correctly during a specific period.

  • Availability: The assurance that the system is operational and accessible when needed.

A “good design” correctly identifies the components needed to achieve these goals. It selects the right type of database for the data structure. It places caches in the correct locations to speed up read times. It ensures there are no single points of failure.

Keep reading with a 7-day free trial

Subscribe to System Design Nuggets to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2026 Arslan Ahmad · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture