Francisco Quintero My process for documenting what I learn while coding is I use Evernote! While I've used Evernote for over a decade, over the past year and a half, I've been treating it like my own encyclopedia. I use my notebooks to represent broad, overarching topics/ concepts (Ruby, Javascript, Web Development, UI/UX) while I use tags for topics and concepts that are less general and more specific (HTTP, APIs, Data Structures). I also use tags for topics that may span between notebooks (ex. The "Data Structure" tag pertains to the notebooks "Ruby" and "Python" because both notebook subjects involve the more specific "Data Structure" concept).
Sometimes, though, I find myself dealing with an avalanche of information. But I still want to document the information at some point in the near future. My fix for that was creating a special Evernote tag named "Inspect_Note". Every note created with that tag is meant to be revised, researched and revised before it's officially documented. Evernote has everything I need: ability to add images, embed code blocks and I can use Markdown shortcuts to make my notes look more like README.md files. :D
One other added benefit: Since I host a blog on Hashnode/ Devblog, Evernote has become an excellent place to go for blog post ideas and insights!
I've tried other note-taking apps like Dropbox and Notion but none of them stuck with me as fondly as Evernote has. It's all about finding a system that works for you and fine-tuning it as you go.