I can't help thinking that "Convention by Observation & Intuition" is a key skill that every developer should have.
After several years working in various different development teams, mostly highly-focused small teams, it seems that an important factor to the success of the team is each members ability to intuit the convention of things based on observation of what the other team members have done.
This applies to simple things such as project layouts, file naming conventions, directory structures etc... In my experience, we generally have little time to document such seemingly insignificant tit bits of information, let alone document fully our creations for the end users.
Maybe larger teams may have the luxury of time and team leaders who are able to produce documentation specifying the conventions to use, but I can't help wondering whether those guidelines are actually read to start with, followed to the letter and enforced.
So I can only conclude that a good programmer needs to be skilled in "Convention by Observation & Intuition".