Software Engineering Great Quotes

Leader posted 13 min read

A short thought can bring amazing ideas

TL;DR: There are some great quotes I've been collecting.

I use them as inspiration or a motto for some articles.

Here we go:


First make the change easy (warning: this might be hard), then make the easy change.

Kent Beck


Good judgement comes from experience, and experience comes from bad judgement.

Frederick P. Brooks


Object thinking focuses our attention on the problem space rather than the solution space. Object thinkers take the advice of Plato, Parnas, Fred Brooks, Christopher Alexander, and many others by letting the problem define its own solution

David West


Voluminous documentation is part of the problem, not part of the solution.

Tom DeMarco


Before you use a method in a legacy system, check to see if there are tests for it. If there aren't, write them. When you do this consistently, you use tests as a medium of communication.

Michael Feathers


The biggest issue on software teams is making sure everyone understands what everyone else is doing.

Martin Fowler


Object thinking focuses our attention on the problem space rather than the solution space.

David West


Programming isn't about what you know; it's about what you can figure out.

Chris Pine


The best way to start fixing a bug is to make it reproducible. After all, if you can't reproduce it, how will you know if it is ever fixed?

Andrew Hunt


The danger from computers is not that they will eventually get as smart as men, but that we will meanwhile agree to meet them halfway.

Bernard Avishai


The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards.

Gene Spafford


I've finally learned what 'upward compatible' means. It means we get to keep all our old mistakes.

Dennie van Tassel


If it doesn't work, it doesn't matter how fast it doesn't work.

Mich Ravera


If you lie to the compiler, it will get its revenge.

Henry Spencer


Final source code is the real software design.

Jack Reeves


Make it correct, make it clear, make it concise, make it fast. In that order.

Wes Dyer


If someone claims to have the perfect programming language, he is either a fool or a salesman or both.

Bjarne Stroustrup


If you can get today's work done today, but you do it in such a way that you can't possibly get tomorrow's work done tomorrow, then you lose.

Martin Fowler


There's nothing more permanent than a temporary hack.

Kyle Simpson


The purpose of computing is insight, not numbers.

Richard Hamming


Software and cathedrals are much the same. First we build them, then we pray.

Sam Redwine


Discovery consists of seeing what everyone else has seen and thinking what no one else has thought.

Albert Szent-Gyorgi


Eighty percent of all input forms ask questions they have no business asking.

Mike Garey


A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want.

Niklaus Wirth


Programs, like people, get old. We can't prevent aging, but we can understand its causes, limit its effects and reverse some of the damage.

Mario Fusco


Bugs lurk in corners and congregate at boundaries.

Boris Beizer


Simple systems are not feasible because they require infinite testing.

Norman Ralph Augustine


C is quirky, flawed, and an enormous success.

Dennis M. Ritchie


Conceptual integrity is the most important consideration in system design.

Frederick P. Brooks


I can't be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It's at that level.

Donald Knuth


Don't worry about design, if you listen to your code a good design will appear...Listen to the technical people. If they are complaining about the difficulty of making changes, then take such complaints seriously and give them time to fix things.

Martin Fowler


It is far easier to design a class to be thread-safe than to retrofit it for thread safety later.

Brian Goetz


Defect-free software doesn't exist.

Wietse Venema


Just because something is easy to measure doesn't mean it's important.

David Heinemeier Hansson


Behavior is the most important thing about software. It is what users depend on. Users like it when we add behavior (provided it is what they really wanted), but if we change or remove behavior they depend on (introduce bugs), they stop trusting us.

Michael Feathers


Code should be remarkably expressive to avoid most of the comments. There'll be a few exceptions, but we should see comments as an 'failure of expression' until proven wrong.

Robert Martin


Builder pattern is more verbose than the telescoping constructor pattern, so it should be used only if there are enough parameters, say, four or more.

Joshua Bloch


Complexity is a sign of technical immaturity. Simplicity of use is the real sign of a well design product whether it is an ATM or a Patriot missile.

Daniel T. Ling


We are constantly interfacing with other people's code that might not live up to our high standards and dealing with inputs that may or may not be valid. So we are taught to code defensively. We use assertions to detect bad data and check for consistency.

Andrew Hunt


Don't use humans for jobs computers can do better - this is a waste of human energy and creativity, the only real resource on this planet, and demeans the human spirit.

J. Paul Morrison


On two occasions, I have been asked [by members of Parliament], "if you put into the machine wrong figures, will the right answers come out?"...I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.

Charles Babbage


Forget this world and all its troubles and if possible its multitudinous Charlatans - everything in short but the Enchantress of Numbers.

Ada Lovelace


While it is a known fact that programmers never make mistakes, it is still a good idea to humor the users by checking for errors at critical points in your program.

Robert D. Schneider


First, solve the problem. Then, write the code.

John Johnson


The main activity of programming is not the origination of new independent programs, but in the integration, modification, and explanation of existing ones.

Terry Winograd


This 'users are idiots, and are confused by functionality' mentality of Gnome is a disease. If you think your users are idiots, only idiots will use it.

Linus Torvalds


The best programmers write only easy programs.

Michael A. Jackson


If Mc Donalds were run like a software company, one out of every hundred Big Macs would give you food poisoning — and the response would be, "We're sorry, here's a coupon for two more".

Mark Minasi


Tell me and I forget. Teach me and I remember. Involve me and I learn.

Benjamin Franklin


Programmers are often angry because they're often scared.

Paul Ford


Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.

Michael A. Jackson


If you think technology can solve your security problems, then you don't understand the problems and you don't understand the technology.

Bruce Schneier


This fascination with computer models is something I understand very well. Richard Feynman called it a disease. I fear he is right.

Michael Crichton


Criticism isn't just disliking things. Arts schools teach the skill & the respect for the work. Computer science schools don't.

Kent Beck


The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.

Brian W. Kernighan


Feedback is essential to our ability to learn. Without fast, effective feedback, we are guessing. Both the speed and the quality of feedback matter. If feedback is too late, it is useless. If it is misleading or wrong, the decisions that we make will be wrong, too

Dave Farley


Defects are not free. Somebody makes them, and gets paid for making them.

Edwards Deming


The heart of software is its ability to solve domain-related problems for its user. All other features, vital though they may be, support this basic purpose.

Eric Evans


Errors have occurred. We won't tell you where or why. Lazy programmers.

Charlie Gibbs


Any man can make mistakes, but only an idiot persists in his error.

Marcus Cicero


If you have to spend effort to decipher code, you should rewrite it.

Martin Golding


More good code has been written in languages denounced as "bad" than in languages proclaimed "wonderful" — much more.

Bjarne Stroustrup


There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.

C. A. R. Hoare


When I first got into technology I didn't really understand what open source was. Once I started writing software, I realized how important this would be.

Matt Mullenweg


The problem is, in software design, often the consequences of your decisions don't become apparent for years.

Kent Beck


Being forced to write comments actually improves code, because it is easier to fix a crock than to explain it.

G. Steele


We crave for new sensations but soon become indifferent to them. Wonders of yesterday are today common occurrences.

Nikola Tesla


Tests should be even more readable then the code they cover

Shaun Wessel


A function name should be a verb or a verb phrase, and it needs to be meaningful

Robert C. Martin


Pair programmers: Keep each other on task. Brainstorm refinements to the system. Clarify ideas. Take initiative when their partner is stuck, thus lowering frustration. Hold each other accountable to the team's practices.

Kent Beck


Obsolete comments tend to migrate away from the code they once described. They become floating islands of irrelevance and misdirection in the code.

Bob Martin


If you are choosing a JavaScript library purely based on popularity, I think you deserve what you get.

Tom Dale


Today, most software exists, not to solve a problem, but to interface with other software.

I Angell


On almost anything someone does in the computer business, you can go back in the literature and prove someone had done it earlier.

Ken Olsen


Computers are good at following instructions, but not at reading your mind.

Donald Knuth


The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.

Edsger W. Dijkstra


A bad system will beat a good person every time.

Edwards Deming


The fantastic element that explain the appeal of dungeon games to many programmers is neither the fire-breathing monsters nor the milkyskinned, semi-clad sirens; it is the experience of carrying out a task from start to finish without user requirements changing.

Thomas Holaday


Computer science is a restless infant and its progress depends as much on shifts in point of view as on the orderly development of our current concepts.

Alan Perlis


Sun Microsystems had the right people to make Java into a first-class language, and I believe it was the Sun marketing people who rushed the thing out before it should have gotten out.

Alan Kay


Code is design

Ward Cunningham


A well installed microcode bug will be almost impossible to detect.

Ken Thompson


Science is what we understand well enough to explain to a computer, Art is all the rest

Donald Knuth


The cardinal rule of writing unmaintainable code is to specify each fact in as many places as possible and in as many ways as possible.

Roedy Green


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

Harold Abelson


Feedback is the breakfast of champions.

Ken Blanchard


If you make a general statement, a programmer says, 'Yes, but...' while a designer says, 'Yes, and...'

André Bensoussan


Every Time you Encounter a Testability Problem, there's an Underlying Design Problem

Michael Feathers


Memory is like an orgasm. It's a lot better if you don't have to fake it.

Seymour Cray


Email is a wonderful thing for people whose role in life is to be on top of things. But not for me; my role is to be on the bottom of things. What I do takes long hours of studying and uninterruptible concentration

Don Knuth


A bug is never just a mistake. It represents something bigger.

Sergey Zefirov


You can't communicate complexity, only an awareness of it.

Alan Perlis


A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.

Leslie Lamport


The greatest obstacle to discovery is not ignorance, but the illusion of knowledge.

Daniel Boorstin


Programmers are as emotional and irrational as normal people.

Douglas Crockford


There is nothing so useless as doing efficiently that which should not be done at all.

Peter Drucker


Computer science research is different from these more traditional disciplines. It differs from the physical sciences because it seeks not to discover, explain, or exploit the natural world, but instead to study the properties of machines of human creation

Dennis Ritchie


You can mass-produce hardware; you can't mass-produce software; you can't mass-produce the human mind.

Michio Kaku


Coding is about writing code while programming is coding and thinking

Leslie Lamport


Testing leads to failure, and failure leads to understanding.

Burt Rutan


The lesson is: Even if you know exactly what is going on in your system, measure performance, don't speculate. You'll learn something, and nine times out of ten, it won't be that you were right!

Ron Jeffries


Software engineering is not the same thing as computer science, though we often confuse the two. We need both software engineers and computer scientists.

Dave Farley


Languages that try to disallow idiocy become themselves idiotic.

Rob Pike


Watch the little things; a small leak will sink a great ship.

Benjamin Franklin


No one hates software more than software developers.

Jeff Atwood


Come to think of it, there are already a million monkeys on a million typewriters, and Usenet is nothing like Shakespeare.

Blair Houghton


A good enough first version will take longer to produce with $170K than it would have with $0K.

Jason Fried


The objective of cleaning is not just to clean, but to feel happiness living within that environment.

Marie Kondo


When I write software, I know that it will fail, either due to my own mistake, or due to some other cause.

Wietse Venema


Objects are there for the picking.

Bertrand Meyer


Spaghetti code is a program with its logic tangled like spaghetti. Avoid the tangles, and you simplify your life.

Martin Fowler


Instead of working on a feature until it is "finished", CI and its big brother CD demand of us to make changes in small steps and have something ready for use after every small step. This changes how we think about the design of our system in some important ways.

Dave Farley


Don't Live with Broken Windows

Andy Hunt


Programmers don't burn out on hard work, they burn out on change-with-the-wind directives and not 'shipping'.

Mark Berry


It is hard to write even the smallest piece of code correctly.

Joshua Bloch


If you have three pet dogs, give them names. If you have 10,000 head of cattle, don't bother. Nowadays, the idea of giving a name to every file on your computer is ridiculous.

David Gelernter


The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has exercised such absolute authority to arrange a stage or field of battle.

Joseph Weizenbaum


It would be nice if products and programming languages were designed to have only good parts.

Douglas Crockford


A good programmer is someone who always looks both ways before crossing a one-way street.

Doug Linder


Alzheimer's Law of Programming: Looking at code you wrote more than two weeks ago is like looking at code you are seeing for the first time.

Dan Hurvitz


The amateur software engineer is always in search of magic.

Grady Booch


Truth can only be found in one place: the code.

Robert C. Martin


So much complexity in software comes from trying to make one thing do two things.

Ryan Singer


Just as it is a good practice to make all fields private unless they need greater visibility, it is a good practice to make all fields final unless they need to be mutable.

Brian Goetz


Any code of your own that you haven't looked at for six or more months might as well have been written by someone else.

Eagleson's Law


One day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?"

Larry Wall


I think it's very important to get more women into computing. My slogan is: Computing is too important to be left to men.

Karen Spärck Jones


Code is like humor. When you have to explain it, it's bad.

Cory House


Code should be written to be read by humans first, and machines second.

Don Laabs


Smart data structures and dumb code works a lot better than the other way around.

Eric Raymond


Legacy code is code without tests.

Michael Feathers


Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for.

Chris Sacca


I try to think mostly in terms of preconditions, and checking things in the constructor and the beginning of a function.

Brad Fitzpatrick


Developer testing is an important step towards accountability. It gives developers a way to demonstrate the quality of the software they produce.

Kent Beck


We argue that design practices which take a data-driven approach fail to maximize encapsulation because they focus too quickly on the implementation of objects. We propose an alternative object-oriented design method which takes a responsibility-driven approach.

Rebecca Wirfs-Brock


There are two ways to write error-free programs; only the third one works.

Alan J. Perlis


A true professional doesn't waste the time and money of other people by handing over software that is not reasonably free of obvious bugs; that has not undergone minimal unit testing; that doesn't meet the specifications and requirements; that is gold-plated with unnecessary features; or that looks like junk.

Daniel Read


Part of the objective of this series of articles is to generate spaces for debate and discussion on software design.

We look forward to comments and suggestions on this article.

More Posts

Beyond the Crisis: Why Engineering Your Personal Health Baseline Matters

Huifer - Jan 24

Current software design problems addressed in a minimalist way.

Maxi Contieri - Oct 5, 2025

From Subjective Narratives to Objective Data: Re-engineering the Elderly Care Communication Loop

Huifer - Jan 28

Systems Thinking: Thriving in the Third Golden Age of Software

Tom Smithverified - Apr 15

Keep Code Left: The Art of Readable Logic

davdomin - May 1
chevron_left

Related Jobs

Commenters (This Week)

3 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!