About time for the yearly re-reading of POODR. Cherry-picking some nuggets here and there:

The purpose of design is to allow you to do design later and its primary goal is to reduce the cost of change.

A tool cannot be faulted for its use, the user must master the tool.

This “improve it now” versus “improve it later” tension always exists. Applications are never perfectly designed. Every choice has a price. A good designer understands this tension and minimizes costs by making informed tradeoffs between the needs of the present and the possibilities of the future.

The road to maintenance nirvana is paved with classes that depend on things that change less often than they do.

It’s not what an object is that matters, it’s what it does.