Do you have a short list, say six bullet point items, that would summarize the most important lessons your book offers to designers?
- Study your predecesssors' works intently, to see how they solved problems.
- Try to figure out why they made the design choices they did; this is the most illuminating question to ask yourself.
- Study your predecessors' styles closely. This is best done by trying to sketch something in their several styles.
- Keep a "sketch book" in which you put ideas, designs, and pieces of designs, whatever your medium.
- When starting a design, write down your assumptions about the users and the uses.
- Design, design, design!
What other areas of study would improve a graduate's ability to be a great software designer?
- Algorithms and data structures is the most essential study.
- Computer hardware architecture.
- Application areas, especially business data processing, database techniques and data mining.
- Psychology, especially perceptual psychology, since the user is all-important.
Can you identify 3 Master Designers (any field) and 3 Master Software Designers, and 4 or five Master Designs. Exemplars we should all be studying and a short idea of why they are what they are?
- J.S. Bach, compositions
- Rembrandt, paintings and drawings
- Seymour Cray, supercomputers
- Christopher Wren, buildings, especially his London churches.
- Nicholas Wirth, programming languages
- Donald Knuth, algorithms