June 2025
Intermediate to advanced
152 pages
3h 15m
English
Software development is inherently complex.
Unfortunately, we seem to delight in making it not just complex but complicated too.
What’s the difference? A snowflake is complex; the weather system that produced it is complicated. Both have many parts, but with the snowflake you can see how they interact—you’ll find a pattern, and some rules.
With software, complexity is difficult, but it has rules. Complications arise when we don’t follow them. And these complications turn our projects into hard-to-understand, hard-to-predict, tangled balls of logic. They interfere with the way we run our projects, and the way we deal with people.
Working with complications is like playing a game where not only do you not know the ...
Read now
Unlock full access