When I first started discussing and presenting system design concepts for one of my UX projects, many engineers on my team were surprised. Initially, they seemed confused about why I was explaining this information under the “design system” title.
This reaction made me reflect. After the meeting, I asked one of the engineers why there was confusion when I referred to “system design.” The developer explained that system design means something quite different in engineering compared to how it’s often interpreted in UX.
That conversation led me to explore the topic further. I began researching to better understand what “system design” actually means from both a developer’s perspective and a UX perspective especially when you are working on developer experience platform.
As a result, I’m writing this article to clarify the differences between system-level design in UX and system design in engineering.
Let’s start with system design from a developer’s point of view:
System Design in developer's point of view
System design is the process of defining the architecture, infrastructure, data flow, and communication patterns of a software system. It is the technical blueprint that determines how a system is built, scaled, and maintained to meet both functional requirements and non-functional requirements like performance, reliability, and security.
Why is it Important to Consider?
System design plays a critical role in building reliable and scalable systems by addressing key challenges early in the development process.
It helps prevent costly architectural mistakes before they escalate into production crises, while ensuring the system can scale smoothly as user demand increases.
A well thought out system design also defines how the system behaves under failure conditions, reducing the risk of outages and improving overall resilience. Additionally, it aligns engineering decisions with business requirements such as SLAs, latency targets, and throughput expectations.
By establishing clear patterns and boundaries from the beginning, system design ultimately minimizes technical debt and creates a strong foundation for long-term system stability and growth.
How Will it Be Useful?
System design provides engineering teams with a clear technical roadmap before any code is written, creating a shared understanding of how the system should be built.
It reduces ambiguity in critical architectural decisions such as database selection, API design, and caching strategies, allowing teams to move forward with confidence.
By thinking through the system early, teams can anticipate potential bottlenecks, failure points, and scaling challenges in advance. It also enables faster onboarding of new engineers by offering clear documentation of the system architecture.
Ultimately, strong system design supports the long-term operability and maintainability of complex systems, making them easier to evolve and manage over time.
When Can You Use it in Projects?
System design becomes especially important at key moments in a product’s lifecycle. It plays a crucial role at the start of any new product or platform, before major architectural decisions are made, helping teams establish a solid foundation.
It is equally valuable when scaling an existing system that is reaching its performance or reliability limits, as it guides necessary improvements.
During transitions, such as migrating from a monolith to a micro-services architecture, system design provides structure and direction. It also supports onboarding new engineering teams by offering clear architectural context, and it helps organizations prepare their infrastructure for high-traffic events or rapid user growth, ensuring the system can handle increased demand effectively.
If You Learn Design Systems, What Impact Can You Make?
Strong system design enables engineers to build systems that are resilient, scalable, and production-ready from day one. It empowers them to influence critical infrastructure decisions that can impact millions of users, while also reducing friction within engineering teams by establishing clear and reusable architectural patterns. Beyond technical outcomes, it helps individuals build credibility as senior technical voices in cross-functional product discussions. At the same time, it fosters a culture of incident prevention by encouraging proactive thinking around failure scenarios and system reliability.
What Kind of Projects Can You Work On?
System design is especially critical in complex and high-impact environments where reliability and scalability are non-negotiable. It plays a key role in large-scale distributed systems such as e-commerce platforms, streaming services, and fintech applications, where millions of users depend on consistent performance.
It is equally important in cloud-native and Kubernetes-based infrastructure platforms, where systems must be dynamic and resilient by design. In real-time systems like messaging apps or trading platforms, system design ensures low latency and high responsiveness.
It also supports multi-region, globally distributed applications by enabling seamless operation across geographies. Additionally, system design is foundational for developer platforms, internal tooling, and API-first products, where clarity, consistency, and scalability directly impact developer experience and productivity.
Examples of Design Systems (Developer / System Architecture):
Examples of system design in real-world applications highlight how leading technology companies architect their platforms for scale and resilience.
Netflix: Microservices + chaos engineering for resilience
Uber: Real-time geolocation with event-driven architecture
Airbnb: Search ranking with distributed caching at scale
Twitter/X: Fan-out on write for timeline delivery at massive scale
WhatsApp: Handling billions of messages with minimal infrastructure, showcasing extreme efficiency in system design.
Here is the example of the Uber system architecture and you can learn more from this blog: Link
Core Concepts of Design Systems:
System design is built on several key components that ensure a system can operate efficiently at scale.
Scalability — horizontal and vertical scaling strategies for handling user growth.
Availability & Reliability — redundancy, failover, and uptime guarantees
Data Storage — relational, NoSQL, time-series, and blob storage trade-offs
APIs & Communication — REST, gRPC, GraphQL, and event-driven messaging patterns
Caching — Redis, CDN, and in-memory strategies for reducing load
Load Balancing — distributing traffic to eliminate single points of failure
Observability — logging, metrics, and distributed tracing as architectural requirements
What is the Mental Model?
A developer’s mental model for system design is centered on asking the right questions before building anything. They begin by identifying both functional and non-functional requirements to understand what the system must do and how well it should perform.
They then consider the read/write ratio to determine how it will influence data storage and access patterns. From there, they analyze potential bottlenecks across the system—whether in the database, network, or compute layer—to anticipate performance constraints.
Developers also think critically about failure scenarios, defining what can go wrong and establishing clear recovery paths. Finally, they focus on how the system will be observed and maintained in production, ensuring there are robust mechanisms for monitoring, debugging, and continuous improvement.
📚 Developer System Design Resources with Links:
1. Designing Data-Intensive Applications — Martin Kleppmann
The definitive book on distributed systems, databases, and data architecture trade-offs.
Official book site → dataintensive.net
2. System Design Primer — GitHub
Free, open source, comprehensive study guide covering everything from basics to advanced system design interviews. Github Link
3. ByteByteGo — Alex Xu
Visual, beginner-friendly system design explanations covering real-world architectures like Netflix, Uber, and Twitter. Website Link
4. Cloud Architecture Centers
Official cloud-native design pattern libraries from the three major cloud providers. AWS Architecture Center Link, Google Cloud and Microsoft Azure.
5. High Scalability
Real-world architecture case studies from companies like YouTube, Netflix, WhatsApp, and more. Website link
The complete cloud native ecosystem reference — tools, projects, and categories across the entire CNCF landscape. link
Key insights : The most powerful insight in system design is that the cost of a wrong architectural decision compounds exponentially over time — a trade-off made poorly at the design phase can take years and millions of dollars to unwind at scale.
Developers who internalize the mental model of asking the right questions before writing a single line of code become the engineers who build systems that not only work today but endure, scale, and recover gracefully for years to come.
Now let's move on to UX designer perspective design system.
Design system in UX Designers point of view:
A design system is a centralized collection of reusable UI components, design tokens, interaction patterns, typography, color palettes, spacing rules, and guidelines that ensure visual and experiential consistency across an entire product. It is the single source of truth for how a product looks, feels, and behaves from the user's point of view.
Why is it Important to Consider?
A well-designed system ensures consistency across every screen and touchpoint a user interacts with, creating a unified experience throughout the product. It embeds accessibility and inclusivity standards directly at the component level, rather than treating them as an afterthought in the design process.
By standardizing patterns and decisions, it reduces design debt by eliminating repeated and inconsistent UI choices over time. It also creates a shared language between designers, developers, and product teams, enabling better collaboration and alignment. Ultimately, it builds user trust by delivering predictable and coherent experiences that feel familiar and reliable across the entire system.
How Will it Be Useful?
A design system significantly speeds up the design workflow by providing ready-to-use, tested components that reduce the need to build interfaces from scratch.
It helps bridge the gap between design and engineering by establishing a shared component language that both teams can understand and use consistently.
This allows designers to focus more on solving complex user problems rather than repeatedly recreating basic UI elements. It also enables rapid prototyping and smoother, more consistent design handoffs between teams. Additionally, when a single component is updated, the improvement can instantly propagate across every product surface, ensuring consistency and efficiency at scale.
When Can You Use it in Projects?
A design system becomes especially important in several key scenarios within product development. It is essential when building a multi-product ecosystem that requires a consistent UI across different surfaces to maintain a unified user experience.
It is also valuable when a team is scaling and multiple designers are working in parallel, ensuring alignment and reducing inconsistencies. When the design-to-development handoff becomes slow, inconsistent, or error-prone, a design system helps streamline collaboration and improve accuracy.
It is equally important when a product has matured enough to require standardization of its UI language for better coherence and maintainability. Finally, it plays a critical role when accessibility needs to be systematically enforced across the product, ensuring inclusive design is built into every component from the start.
If You Learn Design Systems, What Impact Can You Make?
A well-established design system helps elevate product quality and maintain brand consistency at scale across every user touchpoint. It positions designers as strategic contributors who shape product direction, rather than focusing only on individual screens.
By removing repetitive design decisions from the workflow, it enables faster and more efficient product delivery. It also supports the systematic adoption of accessibility and inclusive design practices across the organization, ensuring these principles are embedded throughout the product.
In addition, it acts as a bridge between design vision and engineering execution, helping both teams stay aligned from concept to implementation.
What Kind of Projects Can You Work On?
Design systems are especially valuable in enterprise SaaS product design, where interfaces are often complex and must support multiple user roles with different needs and permissions.
They are also critical in the creation and governance of design systems within large product organizations, ensuring consistency, scalability, and long-term maintainability across teams. In developer tools and platform UI, where precision, information density, and efficiency are essential, design systems help maintain clarity and usability.
They are equally important in mobile and cross-platform product design, where consistent component behavior is needed across different devices and environments. Additionally, design systems play a key role in open source contributions such as Material Design, Carbon Design System, and Atlassian Design System, which help standardize and scale design practices across the broader industry.
You can explore the Open MRS website and their applications are using the Carbon design system to make consistent products among the OpenMRS platform.
Examples of Design Systems:
Material Design : Google - Comprehensive motion and component guidelines
Carbon Design System : IBM - Enterprise accessibility and data-heavy UIs
Atlassian Design System : Atlassian - Developer tool UI patterns
Fluent UI : Microsoft - Cross-platform consistency across Office products
Polaris: Shopify - E-commerce focused UX patterns
Lightning Design System : Salesforce Enterprise CRM - UI standards
Core Concepts of Design Systems
Design Tokens — the atomic values of color, spacing, typography, and elevation that feed every component
Component Library — reusable UI building blocks like buttons, modals, forms, and navigation patterns
Pattern Library — documented solutions to recurring UX problems like empty states, error handling, onboarding flows.
Accessibility Standards — WCAG compliance baked into every component by default
Governance Model — who owns, contributes to, and maintains the system over time
Documentation — the living guide that explains when and how to use every element.
What is the Mental Model?
A UX designer approaches a design system by asking:
- What experience are we creating, and for whom?
- What are the most repeated UI patterns that need standardization?
- How do we ensure every component is accessible and inclusive by default?
- How does this component behave across different screen sizes and contexts?
- How do we govern and evolve this system as the product grows?
UX Design System Resources
Google material design — Material Design documentation and guidelines
carbondesignsystem.com — IBM Carbon full documentation
atlassian.design — Atlassian design system patterns
designsystemsrepo.com — curated directory of public design systems
Figma Community — open design system files and UI kits
Storybook.js.org — tool for building and documenting component libraries
Key insights: A design system is never truly finished — it is a living product that grows with the organization, and the designers who treat it as such become the architects of consistent, trustworthy user experiences at scale.
The deepest insight is that a design system is not about restricting creativity; it is about liberating designers to focus on the problems that truly require human judgment, while the system handles the repetitive decisions that slow teams down.
Conclusion:
In such a way when you are working with the developer experience domain to understand what design system that discussing in the meetings. That could help you understand what design system the team is talking about and what design system decisions are making as per the requirements.
From a developer’s perspective, a design system is often discussed and defined before development begins—it helps set the foundation for how things will be built.
From a UX perspective, a design system typically evolves during the product-building phase, especially after research is completed, to ensure the experience is grounded in real user needs.
At the end, both perspectives play a critical role in product development.
Whether you’re designing the experience a user sees or the infrastructure that powers it, both disciplines share the same fundamental truth: great systems are built on intentional decisions, not accidental ones.
UX thinking and developer system thinking are two sides of the same coin. Teams that bring both perspectives together build products that are not only technically sound but also genuinely human.
I believe this explanation on differentiation about design system point of developer's and UX is different but these both are very important while building the real products.













Top comments (0)