
The Patterns We Don't Name - Christian Johansen - NDC Oslo 2026
Keywords
Summary
216 words
Critical Evaluation
Value of the Information & Strength of the Argument
The talk delivers valuable insights for software developers and architects. The argumentation is strong: it transitions from a general problem (untamed coupling and scattered concerns) to concrete solutions, using real code from production systems. The iterative method of ‘making things first-class’ is persuasive because it is actionable and avoids over-engineering. The speaker successfully demonstrates how systematically constraining function responsibilities (e.g., page renderers only receive serializable data) enables cross-cutting capabilities like caching, streaming, and client-side rendering with minimal changes. The examples are grounded in actual experience, and the reasoning is clear and coherent throughout.
Scientific Rigor, Source Quality, Title Accuracy
The talk provides only a single external source—a Wikipedia definition of software architecture—and relies mostly on the speaker’s personal experience. No academic papers or official documentation are cited, which limits the verifiability of the claims. However, the practical demonstrations and code snippets are detailed and self-contained, adding to the plausibility. The title accurately describes the content: the speaker indeed discusses patterns that are not commonly named and proposes explicit modeling. The description aligns well with the talk’s focus and delivery.
188 words
Title / Content Match
The title accurately reflects the content: the talk focuses on recognizing and naming patterns that are currently implicit in code, such as pages and commands.
Quality & Reliability
7/10
The talk is based on the speaker's practical experience and presents a coherent methodology for identifying and modeling recurring patterns in code. No external references are cited beyond a Wikipedia definition, but the reasoning is solid and the examples are concrete.
Key Moments
Markers derived by PSI from the transcript: the creator did not define chapters.
- Introduction: speaker introduces himself and the topic of finding repeating patterns in code.
- Definition of software architecture from Wikipedia and the challenge of predicting costly changes.
- Introduces the concept of 'pages' as a missing first-class concept and shows how to model them.
- Shows the page system implementation in JavaScript/Express and the benefits of constraining route handlers.
- Crash course in Clojure syntax to show production code with page IDs and data requests.
- Explains how data requests replace the getPageData function, enabling caching and streaming.
- Introduces the command pattern for handling changes, with examples of command objects.
- Discusses how commands are persisted and processed, and the importance of naming commands after user intentions.
- Summarizes key ideas: making patterns first-class, owning the contract, and allowing systems to evolve.
Cited Sources
- NDC Conferences — Conference organizer for the talk
- NDC Oslo — Conference event page
Contribution & Novelties
The talk provides a practical methodology for software architecture evolution by identifying implicit patterns and elevating them to first-class concepts. It demonstrates concrete examples of ‘page’ and ‘command’ as modelable entities, showing how constraining functions and pushing complexity to a system boundary enables new capabilities with minimal changes. The original contribution lies in bridging DDD-style modeling to technical domain concepts, and offering a transferable process applicable to various codebases.
Pour aller plus loin :
- Command Query Responsibility Segregation (CQRS) — Core inspiration for the command system described in the talk.
- Domain-Driven Design — The talk extends domain modeling to technical concepts; DDD provides the foundational principles.
- Clojure — The production code example uses this functional Lisp dialect; understanding it helps grasp the implementation details.
124 words
Radar Profile
The radar shows high scores in information quantity and quality, with moderate technical depth and reliability. This indicates a dense, insightful talk grounded in practical experience rather than formal research.