Understanding Software Complexity in 20 Minutes

This introductory video in a series on software design explores the importance of managing complexity, which is often the main challenge that can ruin a codebase.

Understanding Software Complexity in 20 Minutes
Alex Kondov
14.0K views β€’ May 5, 2025
Understanding Software Complexity in 20 Minutes

About this video

First video in a series about software design is about the reason we do software design at all - to manage complexity. This is what usually ruins a codebase, the complexity that adds up over time makes it harder and harder to maintain and ruins developer productivity. We talk about some common strategies to deal with it.

My blog: https://alexkondov.com
My book: https://fullstacktao.com
Follow me on X: https://x.com/alexanderkondov
Follow me on Linkedin: https://www.linkedin.com/in/alexander-kondov-2a8b25a9/

0:00 What is complexity
1:15 Complexity from the outside world
2:14 Complexity and size
3:00 Accidental complexity
3:50 Over-engineering vs under-engineering
7:10 Managing complexity is maintainability
8:44 Colocating related logic
11:07 Hide complexity with abstractions
12:09 Spread complexity around
12:56 Avoid hypotheticals
14:23 Simple != Easy
15:09 Spend time on design
16:43 Stick to the domain language
17:54 β€œAm I doing this to prove I’m smart?”
19:03 Outro

Thumbnail Photo by Mike Bird

Video Information

Views

14.0K

Likes

766

Duration

19:28

Published

May 5, 2025

User Reviews

4.6
(2)
Rate:

Related Trending Topics

LIVE TRENDS

Related trending topics. Click any trend to explore more videos.