Creating a hierarchy of notes using folders can be counterproductive. It will be easy to classify the majority of notes, but some of them will match multiple categories, or even none of them. Unfortunately, those notes are usually the most interesting. Case in point: I have some notes regarding good technical writing, and some notes concerning good Git usage. If I had a hierarchy, the first notes would go under "writing", and the second ones would go under "development". But where would I have filed the notes regarding Git commit messages? I feel like they belong on both categories. Choosing just one of them means ignoring the other. That's why, if you still want to classify some of your tags, I strongly advise to use a tagging system, and to avoid creating note hierarchies.
It can be way more simple: I use one folder for my notes, and another one for my "sources" (linear notes on articles, books, talks, etc). Files have unique filenames (guaranteed because a timestamp is added to the name when they are created). And there's no need for structure, because I open the files with Emacs using Projectile, so I can autocomplete the filenames. If I need to search the contents of the files, full text search is also accessible and quick. All note taking programs have these features, and you don't really need much more.