I agree, there are a lot of resources about the different PKM tools, extensions… but how to develop a workflow that suits different tasks or jobs is another challenge.
I work in AI so my approach is a little more research oriented than a system only dedicated to software engineering, but I think most of it could still apply.
I have “operational” and “encyclopedic” notes.
I think some people would call my encyclopedic notes evergreen notes. It’s my notes about Python, about libraries, web service and my experience with them, etc. They live in the root of my vault. Most of my encyclopedic notes are actually empty: I only use the backlinks to my operational notes. That way, I get a history of all the times I had trouble with [[LibraryX]] while I was working. It’s a good way to find the answer to a question I know I solved a few months ago, for instance.
Operational notes are anything that is related to a task, a job, etc. and that is well defined in time. I put them in two places. First they go in my daily notes. If they get too big, I create a mini-report in a folder I called “Documents” for lack of a better name. In a mini-report, I always take care to describe the context, and then what I did and what was the result. I mark the releveant project at the beginning.
I like the “mini-report” method better because I find that most notes are not useful without context. Even if I write: “I solved problem X with stack overflow post Y”, sometimes it’s difficult to understand what really happened without context if a lot of time has passed. So I always have a paragraph at the beggining like
As I was working on [[Task]], I considered using [[API]] for problem x. I evaluate this API because [[OtherAPI]] was not doing the job (see [[2022-03-03 Mini Report Title]]).
and so on.
I also have a note for projects, for instance PROJECTX2022. I mark all the notes I do for this project with [[PROJECTX2022]]. Then, if I want to recall how I solved a problem and I know i did it in PROJECTX2022, it’s easy to find with backlinks. I can easily search for my notes on how I used [[LibraryY]] in [[PROJECTX]] using a query. Also, I have Dataview queries in my project pages make the list of all the mini-reports I have for a given project, ordered by date.
I hope this gives you ideas on how to write down your own notes.