I usually take requirements and come up with conceptual solutions, and later on also actualizing the features. I am not sure this applies to other professional engineers, maybe leaning a bit more to product development.
When I think about conceptual solutions (ideas, designs, flows, target users, what they would do without our feature, is this necessary, is it an innovation, etc), I usually do brainstorming sessions.
Pure reasoning notes
The first one is where I try to systematically reason about the problems and solutions.
So it’s mostly just pure reasoning, without much references from other sources.
Framework-based notes
On other attempts, I take a more holistic approach, searching for some frameworks or ideas from books, articles and try to reason from there.
I use Obsidian to take notes on these references, making sure I only write things that I can understand. Here’s a note on a recent book called shipping greatness, particularly a chapter about UX:
And here’s a note of the second brainstorming session:
As I said, It’s not strictly engineering-oriented I suppose, but hopefully it helps !