Kernighan’s Law and Product Design

The importance of designing products and programs for simplicity, consistency, and maintainability

David C. Wyld
Published in
5 min readApr 29, 2024

--

white coffee cup
Photo by NordWood Themes on Unsplash

Kernighan’s Law is named after Brian Kernighan, a computer scientist who co-authored the book “The C Programming Language.” It is a fundamental principle in software engineering. Simply put, Kernighan’s Law states that debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. Kernighan’s law highlights the importance of writing code that is easy to understand and maintain, rather than trying to be overly clever or complex. As MIT researchers Harold Abelson and Gerald Sussman (1983) famously put it:

“Programs must be written for people to read, and only incidentally for machines to execute.”

This law has implications for product design as well, as many of the same principles apply to creating a product that is easy to use and…

--

--

David C. Wyld

David C. Wyld is a Professor of Strategic Management & Consultant. Follow him here on Medium for his latest publications. He supports his fellow Medium writers.