I journal every morning right after I write my to-do for the day, which is pretty much self-reflections.
I also have a weekly review on Sundays where I reflect on my week, what I did well, what kind of sucked etc.
For work, I contemplate first, then write code second. A lot of times I do it while typing my thoughts. An actual example after a failed test
> FAILED: the container doesn't have git so it can't run...so that means git tagging should happen prior to the gradle or docker container...
> I kind of like this because that means it will only have to happen once outside both workflows....which eliminates a bunch of the issues
> I need an init workflow in a way....checkout workflow
> I can't test this, I think test jenkins pushing to prod gitlab is causing issues. Commented it out.
Then I pretty much think during most of my spare time whatever piques my interest at the time. The only times I am not contemplating is when I try to be present for my children, or watching a show with my SO.