100% found this document useful (1 vote)
97 views7 pages

System Design Resources That Are Not ByteByteGo - DEV Community

Uploaded by

gk_sezhian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
97 views7 pages

System Design Resources That Are Not ByteByteGo - DEV Community

Uploaded by

gk_sezhian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

Vladi Stevanovic
Posted on Jun 3

System Design Resources that are Not


ByteByteGo
#systemdesign #softwaredevelopment #architecture #productivity

System design is a core engineering skill and everyone on your team should have
some degree of understanding of their system’s architecture.

In addition to that, with the rise in the adoption of AI coding assistants, mastering
this skill will safeguard your professional career ensuring that you remain relevant
and productive in an evolving technological landscape.

Traditionally, junior developers have been taught to focus primarily on learning


coding skills and mastering the fundamentals of their chosen technologies. However,
AI assistants, like GitHub Copilot, are significantly accelerating coding tasks—55% of
users report coding faster. This acceleration frees up time for developers to delve
deeper into system intricacies, thereby gaining expertise in the environments they
create and adopting a more holistic approach to software system development.

Inbal Shani, former CPO at GitHub, emphasized this shift in mindset:

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 1/7
6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

Developers need to form a different thinking […] more systems, more architecture.
You need to start figuring out how to use the AI tools to help you be successful. It's
no longer just the actual code writing, it's really evolving your thinking to see the big
picture, the connected experience, and the connected systems.

This mindset, once primarily associated with senior software engineers, is now
becoming essential for all developers. The gap between senior and junior developers
is narrowing, especially as 92% of developers are already leveraging AI tools.

👉 The time to start learning system design is now. 👈


Problems with the Current System Design Discourse
Unfortunately, the discourse around system design often centers on “how to ace a
system design interview”. While it's true that system design is a critical skill for many
organizations, particularly given the prevalence of distributed systems, this focus on
interview preparation neglects the importance of applying these skills in day-to-day,
real-world scenarios.

This hyper-focus on technical interviews is akin to the institution of standardized


testing—it has its uses but is inherently limited. It fails to provide a complete picture
of the real-world challenges and the creative, adaptive thinking required to effectively
apply system design knowledge and skills in practical contexts.

Furthermore, the industry is currently experiencing a shift in the role and significance
of Software Architects. We're recognizing that system and software design are not
confined to specific roles; every engineer should possess some level of proficiency in
these areas. Having system design experience and considering architectural
requirements during coding makes you a better engineer and leads to superior
products.

However, many engineers and organizations have yet to embrace this trend,
maintaining a strict differentiation between engineers and various types of Software
Architects.

Lastly, the most significant issue: system design is often misconceived as merely
diagramming, producing specific documents, or adhering to codified frameworks. In
reality, system design is an ongoing process that outlines the high-level conceptual
structure of a complex system (the system architecture) and defines its major
components and interactions. While it can result in outputs such as system diagrams,
Architectural Design Records, or the use of specific tools and frameworks, it

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 2/7
6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

encompasses how a team builds software and not just the tools that they use to help
throughout the process.

Resources you usually see


When researching system design, the internet often surfaces two primary resources:

The ByteByteGo Newsletter


Corporate Engineering Blogs

I want to emphasize that both are extremely helpful and I highly recommend them.
In fact, we are subcribers to - and avid fans of - the ByteByteGo Newsletter and its
authors Alex Xu and Sahn Lam. Conveying complex concepts in a fun and visual way
is an art and reading their newsletter is always a pleasure.

Likewise, it’s fascinating to learn how companies like Netflix, Google, Stripe, or Spotify
design their systems and discover the clever solutions they’ve implemented.
However, chances are you’re not working on a system as mammoth as theirs and
their approaches are often tailored to these specific use cases.

Indeed, there is no single right way to architect a system. The design depends on
your business requirements, development stage, and the trade-offs you’re willing to
make.

Underestimated System Design Newsletters


In addition to ByteByteGo and various corporate blogs, I highly recommend checking
these resources. They are not mentioned nearly as often, but they can teach you a lot
about system design:

📌 NB. These are just general categories that helped me categorize them, so there is
some overlap.

Fundamentals of System Design

“System Design Codex” by Saurabh Dashora


“Distributed Systems Architecture” by Thomas Johnson
“Architecture Notes” by Mahdi Yusuf
“Software Design: Tidy First?” by Kent Beck
"Level Up Coding” by Nikki Siapno
“AlgoMaster” by Ashish Pratap Singh
“System Design Classroom” by Raul Junco

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 3/7
6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

“Dev Details” by Mike Thornton


“Tech World With Milan” by Milan Milanović

Big Tech System Design Examples & Recaps

“System Design Newsletter” by Neo Kim


“Byte-Sized Design”
“Quastor” by Arpan G.

Broader Scope Interesting Newsletters

“.NET & Software Architecture” by Milan Jovanović


“Curious Engineer” by Vivek Bansal
“Technically” by Justin Gage
“Data Gibberish” by Yordan Ivanov
“EcZachly Data Engineering” by Zach Wilson

System Design Books


System design books are also great starting points for deepening your understanding
of architectural principles and best practices. Here are some of the most popular
ones:

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable,


and Maintainable Systems by Martin Kleppmann
Fundamentals of Software Architecture: An Engineering Approach by Mark
Richards and Neal Ford
Tidy First?: A Personal Exercise in Empirical Software Design by Kent Beck
The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by
Gene Kim, Kevin Behr, and George Spafford and its sequel “The Unicorn Project”
Building Microservices: Designing Fine-Grained Systems by Sam Newman
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for
the Modern Enterprise by Martin L. Abbott and Michael T. Fisher
Clean Architecture: A Craftsman's Guide to Software Structure and Design by
Robert C. Martin
Designing Distributed Systems by Brendan Burns

Helpful GitHub Repos


I also recommend these GitHub repositories for practical examples, tools, and
resources to enhance your system design skills and knowledge.

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 4/7
6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

The System Design Primer by Dan Golant


System Design by Karan Pratap Singh
Professional Programming by Charles-Axel Dein

💜
I hope you found this helpful and I look forward to more recommendations in the
comments!

Top comments (0)

Code of Conduct • Report abuse

Platform.sh PROMOTED

😎
Experience seamless app deployment, even on
Fridays

🚀
Deploy your apps seamlessly on an all-in-one PaaS.

🎯
Flexible, automated infrastructure provisioning.

👾
Multicloud and multistack.

👉
Safe, secure and reliable around-the-clock.
Get a 30-day free trial to build and deploy your way.

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 5/7
6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

Claim your free trial

Vladi Stevanovic

I talk about system design, architecture documentation, and distributed systems.

LOCATION
Italy
PRONOUNS
She/Her
JOINED
Mar 13, 2024

More from Vladi Stevanovic

Interesting Facts about Software Architecture Styles You May Not Know
#softwareengineering #architecture #microservices #systemdesign

Real-time Multiplayer Collaboration is a Must in Modern Applications


#devex #softwaredevelopment #softwareengineering #systemdesign

Delving into Architectural Drift


#systemdesign #softwaredevelopment #technicaldebt #softwareengineering

Platform.sh PROMOTED

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 6/7
6/5/24, 9:56 PM System Design Resources that are Not ByteByteGo - DEV Community

Seamlessly Deploy Your Apps, Even on Fridays ✨


🚀
Deploy your apps seamlessly on an all-in-one PaaS.

🎯
Flexible, automated infrastructure provisioning.

👾
Multicloud and multistack.

👉
Safe, secure and reliable around-the-clock.
Get a 30-day free trial to build and deploy your way.

Try our PaaS now

https://dev.to/vladi-stevanovic/system-design-resources-that-are-not-bytebytego-1h2j?ref=dailydev 7/7

You might also like