https://www.youtube.com/watch?v=lKXe3HUG2l4
Excellent remark on programmer's psychology @9:00
"I think your brain works in 2 different ways. When you're working on the program, you're like cached in the program, and you see no need to explain it because it's bloody obvious and so you write any documentation. And when you cached it out, you wish there was some documentation because you can't understand it at all."