Any fool can write code that a computer can understand. Good programmers write code that humans can understand... — Martin Fowler

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Author: Martin Fowler

Insight: We tend to think of programming as a conversation between person and machine, but this quote flips that on its head. The real conversation is between programmers—past, present, and future versions of yourself included. Code that works is almost worthless if nobody can figure out what it's doing or why. You might save five minutes writing it cryptically, then spend five hours next month trying to remember your own logic. This matters outside tech too. Think about how you explain things at work, write emails, or leave instructions for someone else. The easiest path is usually the shortest one for you right now—jargon, shortcuts, assumptions about what the other person knows. But clarity takes a beat. It means naming things plainly, breaking things into steps, maybe even stating the obvious. It feels slower, but it's actually faster because it prevents confusion, rework, and frustration. The surprising part is that writing clearly for others almost always makes you think more clearly yourself. When you can't hide behind complexity, you realize what you actually understand versus what you're just assuming. Fowler's insight isn't really about code—it's about the difference between being clever and being useful.

Clarity costs less than confusion

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

We tend to think of programming as a conversation between person and machine, but this quote flips that on its head. The real conversation is between programmers—past, present, and future versions of yourself included. Code that works is almost worthless if nobody can figure out what it's doing or why. You might save five minutes writing it cryptically, then spend five hours next month trying to remember your own logic.

This matters outside tech too. Think about how you explain things at work, write emails, or leave instructions for someone else. The easiest path is usually the shortest one for you right now—jargon, shortcuts, assumptions about what the other person knows. But clarity takes a beat. It means naming things plainly, breaking things into steps, maybe even stating the obvious. It feels slower, but it's actually faster because it prevents confusion, rework, and frustration.

The surprising part is that writing clearly for others almost always makes you think more clearly yourself. When you can't hide behind complexity, you realize what you actually understand versus what you're just assuming. Fowler's insight isn't really about code—it's about the difference between being clever and being useful.

AI generated

Comments

Sign in to leave a comment or reply to one.

Sign in

Martin Fowler

Martin Fowler is a British software developer, author, and speaker, known for his influential work in software development methodologies, particularly Agile software development and domain-specific languages. He has written several books, including "Refactoring: Improving the Design of Existing Code," and is a chief scientist at ThoughtWorks, where he advocates for effective software design and practices. Fowler is recognized for his contributions to the fields of software architecture and development processes.

Graph