I feel you don't have to be a developer or create your own. But you may have to try out some alternatives before deciding on one - some people prefer browser applications, some people prefer desktop applications, I preferred the former in the past but now prefer the latter...
For many years, I maintained my technical KB as a local WordPress blog (installed using XAMPP. XAMPP is a portable WordPress + MySQL easy to use installer). The main reason was that WP had plugins for code syntax highlighting, searching and organizing content in a hierarchy. But drafting and formatting articles with code and math was (still is, IMO) kind of a pain in WP's editor, which is why I stopped using WP.
I had also tried out some of the wiki software, including PmWiki and MediaWiki. There's nothing bad I can point to, but somehow I just didn't like using them.
Later I switched to plain old Libreoffice Writer. Drafting, formatting and organizing content are a breeze. It doesn't have code highlighting, but I use an online formatter (hilite.me) and just paste the snippets as HTML. Works great for me, exports to PDFs if I want that content in my tablets. Since searching for documents is inconvenient, I keep all the information cleanly organized in directories.
If you like markdown, I suggest RStudio. It's actually an IDE for the R language, but its usability, markdown and export to HTML support are so good that I use it a bit like a WYSIWYG HTML editor when writing content related to data analysis and visualizations. However, it's a desktop application, and some people don't like those.
If you like markdown and prefer web applications, try out any of the static site generators, like Pelican. These usually require a little knowledge of the programming language they're written in and some command line usage.
Key takeaways:
- Make sure the underlying storage is as simple as possible. Markdown in text files is as safe as it gets
- Friction has to be close to zero, otherwise you won't use it
- Put information in a deterministic location. Store any information that you might come back to, so that you don't have to repeat your research.
I'm a big fan of using vim and asciidoctor and an organized notes directory. I quickly jot down notes about certain projects or ideas using vim, then go back and format the notes at a later date with asciidoc markup. Then I run it through the asciidoctor chain to create personal html pages. https://asciidoctor.org/
* A personal Wiki.
* Evernote is a good choice and works across several devices.
* Figure out a folder structure you like and just keep assorted .txt or .md files.
* Google Sheets.
* A commonplace book.
Markdown files in a category of directories. Plain. Easy. Simple. I personally use sublimetext with Markdown Editing, MarkdownExtended (the syntax highlighting is better than markdown editing), Markdown Preview, MarkdownTOC, SearchInProject (uses ripgrep to search contents) and ImagePaste[0]. I sync my knowledge-base with box, but anything would work, including git if you want to commit/pull constantly. I use Mark Text sometimes for output/live editing. I find that the simple syntax highlighting is quite beneficial to organisation and far simpler to use and navigate than ORG mode (plus I wouldn't/didn't really use the org mode advanced features). I also use some firefox plugins to make copying the current title/url as a markdown link easy ('Copy as Markdown...') and a 'paste to markdown' (https://euangoddard.github.io/clipboard2markdown/) web tool—but I'd like to turn the latter into a FF plugin. I write all my documents with these tools initially as well, either transforming to word with pandoc, into html/pdf with MarkdownPreview+PrintPDF (I prefer the formatting to pandoc) or with 'BackSlide' to convert markdown to lecture slides.
The trick is organisation. This is the hard part, but it's also the hard part if you keep paper notes. I have some catch alls, '_inbox.md', '_work.md', '_til.md' (where I keep track of things I've learned today, I try my best to go back and re-read the previous weeks every once in a while) to keep track of random/non-catagorisable notes; but other things exist in 'administation/' (ie. 'administration/linux', 'administration/windows'), 'intersting-articles/', 'programming/*', 'work/meetings/<project>_<date>_<topic>.md'.
If you use sublimetext and the above plugins, cmd/ctrl-r (navigate open doc by symbols) lets you move/search through headings quite easily. My '_work.md' file has a list of dates at the top for when things are due and uses '- [ ]' as checkboxes (which MarkdownPreview outputs as html checkboxes).
I find that as long as I write it down and watch what I'm writing (don't just copy without following your output) it helps to make it stick—or at least gives me a spatial memory of where it might be.
Flexibility is key. But what works for me, probably doesn't work for you. The important part is just to start doing it, write down all the things. Once you find something you'd like to be better about it, improve it. The nice thing about text files is that they are easy to parse and transform into something else.
[0]: To keep allow you to paste images into your markdown files. I've modified it so that it stores the files in a '.images' directory in the same location as the .md file. ImagePaste also has an image preview mode that lets you expand images directly inline in sublime-text.