> My advice is to learn to use your favorite editor with a TAGS file, then go navigate through a large open source project, and extend it in some minor way. That's more profitable than enduring any book on "design".
This is the truth.
On the other hand, I learned from experience that people do not take this advice when you give it. Maybe plunging into large codebase is daunting, I don't know. Now I give them http://www.aosabook.org/en/ and tell them to choose an interesting project and then read it.
That book looks excellent - perhaps if all large open source projects included something similar, they'd get more contributors? I suspect that jumping into code with no overview of it's structure is going to be slower than if you have a clear framework to hang things on, which might explain the reluctance.
This is the truth.
On the other hand, I learned from experience that people do not take this advice when you give it. Maybe plunging into large codebase is daunting, I don't know. Now I give them http://www.aosabook.org/en/ and tell them to choose an interesting project and then read it.