The goal of software architecture is to minimize the human resources required to build and
maintain the required system. The measure of design quality is simply the measure of the effort required to meet the needs of the customer. If that effort is low, and stays low throughout the lifetime of the system, the
design is good. If that effort grows with each new release, the design is bad. It’s as simple as
that. Robert Martin
The ratio of time spent reading code versus writing is well over 10 to 1.
Prefer composition over inheritance as it is more malleable / easy to modify later, but do not use a compose-always approach. Gang of 4
Make it right before you make it faster. Douglas Crockford
Less code to write means less code to test means less code to debug means less code to maintain.
How to make terrible software: 1. Make promises for one-off features for a single client 2. Implement them 3. Repeat. - Ryan Florence
Any fool can write code that a computer can understand. Good programmers programmers write code that humans can understand. M. Fowler
What one programmer can do in one month, two programmers can do in two months. Fred Brooks
Software must be free. Richard Stallman
If you made a decision and you want to change it but you can't, than you made a wrong decision. Jason Fried
Simplicity is prerequisite for reliability. Edsger Dijkstra
Programs must be written for people to read, and only incidentally for machines to execute. Harold Abelson and Gerald Jay Sussman, computer scientists and authors, from The Structure and Interpretation of Computer Programs
A good programmer is someone who looks both ways before crossing a one-way street. Doug Linder, systems administrator
The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet. Michael A. Jackson
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified. Donald Knuth
There is no code that is more flexible than no code. The "secret" to good software design wasn't in knowing what to put into the code; it was in knowing what to leave out! Brad Appleton
The first 90 percent of the code accounts for the first 90 percent of the development time…The remaining 10 percent of the code accounts for the other 90 percent of the development time.
Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
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.
Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road.
In theory, there is no difference between theory and practice. But, in practice, there is.
The hardest part of design … is keeping features out.
Before software can be reusable it first has to be usable.
If debugging is the process of removing bugs, then programming must be the process of putting them in.
Software and cathedrals are much the same – first we build them, then we pray.
The goal of Computer Science is to build something that will last at least until we’ve finished building it.
Anonymous Consultant
The software isn’t finished until the last user is dead.
Anonymous Support Group Member
Better train people and risk they leave – than do nothing and risk they stay.
Anonymous Technical Trainer
Programming is 10% science, 20% ingenuity, and 70% getting the ingenuity to work with the science.
Anonymous Scientist
All programmers are playwrights and all computers are lousy actors.
Anonymous Hack Actor
Bad code isn’t bad, its just misunderstood.
Anonymous Code Behaviorist
It is easier to measure something than to understand what you have measured.
Anonymous Analyst
The sooner you get behind in your work, the more time you have to catch up.
Anonymous Scheduler
When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English.
Anonymous Linguist
Benchmarks don’t lie, but liars do benchmarks.
Anonymous Tester
Why do we never have time to do it right, but always have time to do it over?
Anonymous Code Monkey
Computers are useless. They can only give you answers. Pablo Picasso
Programming Humor
Question: What kind of doctor fixes broken websites?
Answer: An URLologist.
How many programmers does it take to change a light bulb?
- None, its hardware problem.
Project Manager is a person who thinks nine women can deliver a baby in one month.
A user interface is like a joke. If you have to explain it, it’s not that good.
A SQL query goes into a bar, walks up to two tables and asks, "Can I join you?"
How many software testers does it take to change a light bulb?
- None. Software testers just noticed that the room was dark. Testers don't fix the problems, they just find them.
An SEO expert walks into a bar, bars, beer garden, hangout, lounge, night club, mini bar, bar stool, tavern, pub, beer.
An optimist will tell you the glass is half-full; the pessimist, half-empty; and the engineer will tell you the glass is twice the size it needs to be.
The problem with GIT jokes is that everyone has their own version.
People can be divided into two groups: those who do backups, and those who will.
There are only 10 types of people in the world: those who understand binary and those who don't.
A guy walks into a bar and asks for 1.4 root beers. The bartender says "I'll have to charge you extra, that's a root beer float".
The guy says "In that case, better make it a double."
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Whats the object-oriented way to become wealthy?
Inheritance
Why do programmers prefer dark mode?
Because light attracts bugs.