One of the lessons I learned on the hard way is that I have to document everything: meeting minutes, ideas, location of artefacts, code, steps done, and even error messages received when installing or using different pieces of software. Of course “everything” has the connotation of “everything important”, though you never know what’s important or not in the near future. Further, if I can put together the ideas in a list of best practices, then I can bring more value to my notes and maybe could help other people too.
It’s also important how you document everything, though I believed that a question of habitude and preference. I’m still exploring this using flat documents and mind maps or cognitive maps when possible.
Talking about best practices, it is interesting to see which are other people or companies’ best practices and, in the end, they reflect their level of knowledge reached. I actually target to check first the best practices of a technology or language when learning something new. It can be helpful and a fast way to learn the most appropriate techniques and avoid possible mistakes.