Intentional Code - Minimalism in a World of Dogmatic Design
What if your 'clean code' is actually thoughtless complexity? This talk challenges dogmatic design patterns, advocating for a minimalist and intentional approach to software.
Organizing code by architectural concept rather than by feature obscures its true purpose and makes it difficult to understand.
#2about 2 minutes
Understanding the origins and limits of design patterns
Design patterns originated as named solutions to common problems, but true design begins where these predictable patterns end.
#3about 3 minutes
Treating software as a form of literature
Inspired by Donald Knuth's "Literate Programming," software should be viewed as a constrained form of communication between programmers.
#4about 2 minutes
Moving beyond the dogma of clean code
The book "Clean Code" has become a historical artifact that promotes dogmatic adherence to syntactic hygiene over meaningful architectural discussions.
#5about 2 minutes
Using code form and whitespace to communicate intent
The physical layout of code, including whitespace and grouping, is a powerful tool for communicating intent and improving readability.
#6about 2 minutes
Matching software complexity to its problem domain
The complexity of an application should never exceed the inherent complexity of the problem it is designed to solve.
#7about 2 minutes
A case study in simplifying an over-engineered system
Merging dozens of separate projects into a single logical application dramatically reduced build times and cognitive overhead for the team.
#8about 3 minutes
Defining and managing sources of software complexity
Complexity is the accumulation of small issues that make a system hard to understand and modify, leading to change amplification and high cognitive load.
#9about 3 minutes
Crafting deep modules with narrow, simple interfaces
The best abstractions, like `file open`, are deep modules that hide significant complexity behind a very narrow and simple interface.
#10about 3 minutes
Embracing compromise and intentional design trade-offs
Effective software design is an exercise in making intentional trade-offs, as any design principle becomes absurd when taken to its extreme.
#11about 1 minute
Recommended books for modern software design thinking
A curated list of books provides a modern canon for thinking about software design, complexity, and maintainability.
Related jobs
Jobs that call for the skills explored in this talk.
The real reason we document our codeThe world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...