... and then, for OP
's next career (or retirement), you can use the knowledge and skills that will take a major part of your lifetime to absorb to write the kind of sketchy documentation that only another long term, hard-core, CS-degree-holding, uber-geek can decipher.
AnonyMonk's observation about reducing your need for the docs, "on a daily/weekly/monthly basis", could be read (admittedly, not as AM intended ) to suggest that there's a substantial amount of time required just to learn to read the docs en route to so mastering their content as to make them unnecessary.
Sorry, while I agree that most of the links can be useful... and are responsive -- in a fashion -- to OP's original question, they set the price of learning the answer too high, IMO, for a learner with a specific project in hand.
Here in the Monastery there have been several interesting discussions (for example, Re: A reasonable approach to getting a Perl skill foundation?) of aspects of this problem -- some from the POV of the developer, like the one cited, and some from the perspective of the learner ( check with Super Search ) and not a few that may seem merely tangential at first (cf: Re: The sourcecode *is* the documentation, isn't it? and 3 or 4 followups thereto).