The Desktop Don Reference

Everything I know about software development in a single page of quotes.

Goat Fell, Isle of Arran — Scotland — Photo taken by Donald Raab in 2004

Background

At the end of 2003, I accepted an opportunity to go on an extended business trip with my family to England. We moved to London in January of 2004, and returned back to the states at the end of the same year. Before I left, I decided I wanted to distill everything I knew about software development down to a set of memorable quotes. I used to read a lot of books. Most of the books I read were technical, but some were about leadership and project management. I also had some great mentors in the 1990s who left an impression on me with quotes that they would reference. I had to do some research to find sources for the quotes I included in the “Desktop Don Reference” (DDR), as none of them are my own. Some of the quotes are so common though, that I have been unable to identify an original source and have left them noted with a question mark.

Once I had my set of quotes, I organized them into seven categories, of three quotes each. This was very important, as you will understand once you read the first quote. I wanted the quotes to fit on a single printed page, with a reasonable sized font. I left printed copies with my team members at the time and told them if they ever had any questions for me while I was in London and if they couldn’t reach me, they could just refer to this page. I told them any advice I would give them would probably be found on this page of quotes.

Over the years, developers have asked me for this reference. I would smile any time I would see a developer that had the DDR hanging in their cubicle. I’m including the categories and quotes from the original DDR below.

Desktop Don Reference

Simplicity

The human mind can comprehend seven plus or minus two things at a time. 1

Things should be as simple as possible, but not any simpler. 2

Keep it simple, stupid. 3

Quality

Fix broken windows when you find them. 4

Premature optimization is the root of all evil. 5

Do things once and only once. 6

Process

Make it work, make it right, make it fast. 6

If it hurts when you touch it, then don’t touch it. 7

Plan is nothing, planning is everything. 8

Time

Slow down to speed up. 9

Thinking saves time. 9

Modeling saves time. 9

Teamwork

None of us is as smart as all of us. 10

It’s not always what you know, it’s often who you know. ?

Help is a four-letter word you shouldn’t be afraid to use. ?

Education

Learn something new every day. ?

You can’t listen when you’re talking. ?

There is always someone smarter — find them and learn from them! ?

The Future

You aren’t gonna need it. (YAGNI) 6

Those who do not study history are doomed to repeat it. 11

The best way to predict the future is to invent it. 12

Note: If I could predict the future, I wouldn’t need to work.

Quote attribution

1 George A. Miller

2 Albert Einstein

3 Kelly Johnson

4 The Pragmatic ProgrammersDave Thomas and Andy Hunt

5 Donald Knuth

6 Kent Beck

7 Mom

8 Dwight D. Eisenhower

9 Larry Constantine, from “Beyond Chaos”

10 Kenneth H. Blanchard

11 George Santayana

12 Alan Kay

I am a Project Lead and Committer for the Eclipse Collections OSS project at the Eclipse Foundation. Eclipse Collections is open for contributions. If you like the library, you can let us know by starring it on GitHub.

Java Champion. Creator of the Eclipse Collections OSS Java library (http://www.eclipse.org/collections/). Inspired by Smalltalk. Opinions are my own.