David Whitney
Intentional Code - Minimalism in a World of Dogmatic Design
#1about 2 minutes
Why thoughtless code organization creates confusion
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.
Matching moments
11:45 MIN
Managing code complexity and common development styles
Breaking the Bug Cycle: TDD for the Win
25:34 MIN
How coding makes infrastructure intent clearer
Stop configuring infrastructure, start coding it!
28:16 MIN
Designing with a functional core and imperative shell
Java with a Clojure mindset
18:22 MIN
Building a sustainable culture of clean code
Breaking the Bug Cycle: TDD for the Win
00:03 MIN
Introduction to JavaScript design patterns
10 must-know design patterns for JS Devs
08:35 MIN
Navigating the challenges of modern software development
System Resilience: Surviving the Software Storm
25:17 MIN
Preventing architectural decay and code structure issues
Antipatterns - nemesis of software development
39:18 MIN
Adopting TDD as a design tool, not just a testing method
Treat yourself - A tale about dog training and test-driven development
Featured Partners
Related Videos
Modern software architectures
David Tielke
Resolving technical debts in software architecture
Carola Lilienthal
The Lifehacker's Guide to Software Architecture
Julian Lang
The Clean as You Code Imperative
Olivier Gaudin
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
Carola Lilienthal
The Name of the Rose
Reka Horvath
10 must-know design patterns for JS Devs
Erick Wendel
Move fast with Software Architecture
Simon Lasselsberger
From learning to earning
Jobs that call for the skills explored in this talk.







Principal Backend Architect - Java Refactoring & Modernization
primion Technology GmbH
Remote
API
XML
Java
Spring
+3

Principal Backend Architect - Java Refactoring & Modernization
primion Technology GmbH
Remote
API
XML
Java
Spring
+3
