KEEP NOTES. Write everything down. Write down what you were thinking about, how you felt about decisions, things you tried for bug fixes. you never know when this stuff will be useful to you again. I keep really basic markdown notes in a git repo, roughly one file per day with an ISO date name, but some things I give a separate file name (still with the iso date, but with some descriptive words) for things that might…
A similar idea I practice. After I solve a complex problem I usually leave a big comment at the top of the main file, explaining how I arrived at that solution, the caveats, how it works, and how it interacts with other files and dependencies. If I need to, I also use Monodraw to produce ASCII character graphs and add them to the comment to explain concepts. It helps to cement the solution in your brain and it's a sy…
Why? I don't really have an experience of being a co-worker, but I have always appreciated such essays in free software.