For what it's worth...

The hardest thing about software development is not the technology.

- This is why development experience is worth a good deal of money regardless of technology, and why we have to work hard to make ourselves good communicators, and why we need to map our code to our stakeholder's language.

 

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - Martin Golding

- No explanation needed.

 

I've mostly come to the conclusion that any design effort that takes more than, say, 30 minutes is a waste of time.  - Eric Gunnerson

- Of course this depends on many things, but I think it is often very true. You put a couple designers in a room for too long and they will over-complicate everything. Get going on the code and let the design evolve while never hacking. Produce the simplest thing that works and adds business value for the user.  This can sound like an exaggeration, but I find that those that disagree are combining requiremnetanalysis and design. We are only talking about design discussions that after 30 mintues we stop and start proudcing code and tests.  Furthermore, I think this is more valid for experienced developers who can do a better job of recognizing how to evolve a design while never hacking.

 

The flexibility of simplicity and extensive tests is more effective than the flexibility offered by speculative design. - Kent Beck

 - The best way to make code flexible is to make code simple and testable. The best way to make something complex without benefit is speculative design. YAGNI.

 

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

- Put a premium on readability and understandability to enable maintainability.

  

A brute force solution that works is better than an elegant solution that doesn't work. -Steve C McConnell

 - I do not see this as an argument for brute force, but rather an argument against unjustified complexity.

 

The function of good software is to make the complex appear to be simple. -Grady Booch

-Abstraction, abstraction, abstraction.

 

I have always found that plans are useless, but planning is indispensable. - Dwight Eisenhower

- We must always plan a little, and we should always plan for the one thing we know to be true and that is that things will change.

 

Every solution introduces problems. – Attributed to a Jerry Weinberg

- Nothing is perfect, we must always understand the benefits and drawbacks. We also must keep this in mind when gracefully discussing other people's designs and code.

 

Intellectuals solve problems; geniuses prevent them.  - Albert Einstein

- Man I wish I was a genius like Al !

 

A foolish consistency is the hobgoblin of little minds...- Ralph Waldo Emerson

- Consistency for the sake of consistency drives me nuts. I want the benefit of a decision every time, not just because I am trying to be consistent

 

Moving parts in rubbing contact require lubrication to avoid excessive wear. Honorifics and formal politeness provide the lubrication where people rub together. Often the very young, the untraveled, the naive, the unsophisticated deplore these formalities as "empty," "meaningless," or "dishonest," and scorn to use them. No matter how "pure" their motives, they thereby throw sand into machinery that does not work too well at best. - Robert A. Heinlein

 - It does not take too much time in the "real world" to understand this.  However, it seems some people never do.