Learning new technologies can be a double-edged sword. On the one hand, lots of free documentation is readily available on the internet. On the other hand, most of it is not written by writers, but by techies. Techies (like myself) tend to make terrible writers.
Right now I'm trying to deepen my knowledge of a programming language called Perl. There's tons of useless documentation on Perl.com. I say it's useless because it's not written very well. It's riddled with spelling mistakes. Spelling mistakes in technical documentation can be bad. The right kind of error in the right spot makes you ask the question "Wait...is that a typo, or does that word actually mean something special I don't know about?"
And you can't find the documentation from the home page. I had to find it by Googling something specific.
It's also not the most clear. I'd wager that it's written by programmers. Technical writing is a special talent. In order to be a good technical writer you need to be able to understand technical concepts. You, then, need to be able to communicate that to the masses in writing. And you need to make it simple and understandable.
I think programmers approach technical writing with certain assumptions of the reader's knowledge. A good writer makes no such assumptions, at least without stating the assumptions.
I find a great divide exists in technical writing. There are three broad levels of expertise. I'll call them "beginner", "intermediate", and "advanced." Documentation written for beginners is necessarily simple. It's aim to get the reader from knowing nothing on a subject to being functional.
Documentation for advanced people seeks to inform of things little known, or advanced tricks. It assumes intermediate knowledge. It assumes more than what basic documentation will give you. It intends to make you a guru.
Documentation for intermediates is to bridge the gap between beginner and advanced. It assumes you're familiar with beginner level concepts.
In my experience, very little intermediate documentation exists. I'm in the unfortunate position of being intermediate on many computer technologies. Books for Dummies and Complete Idiot's Guides don't do much much good. Many other books would require a lot of research effort just to read.
Where's the documentation for intermediate's like me?!