David Whitney

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.

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.

Software Engineer

tree-IT GmbH
Bad Neustadt an der Saale, Germany

Intermediate
Senior

Featured Partners

Related Articles

View all articles
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
DC
Daniel Cranney
The real reason we document our code
The 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...
The real reason we document our code
DC
Daniel Cranney
How to Avoid Over-Engineering
In today’s software development world, the demand for designing applications that are both robust and easy to maintain is more pressing than ever. Many developers encounter the architectural chaos left behind in older codebases, leading to frustratio...
How to Avoid Over-Engineering

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust
Software Architect

Software Architect

Software Architectlittle Dot Studios
Charing Cross, United Kingdom

API
ETL
React
Python
Next.js
+6
Software Architect

Software Architect

Trust In Soda
Zürich, Switzerland

CHF187-239K
NoSQL
DevOps
NestJS
Docker
+4
Interaction Designer

Interaction Designer

Accenture
Newcastle upon Tyne, United Kingdom

HTML
Scrum
Figma
Agile Methodologies