Programmers Don't Read Books -- But You Should

I think the main problem with coding books is that to be able to write a good one, you have to a) really, DEEPLY understand your subject (not just be competent in it) and b) be able to communicate that understanding in a clear way, step by step, while keeping in mind what it might be like to be a complete beginner.

This is not easy. Essentially, you have to be a natural or trained teacher. And that’s something that not many people are.