Today I watched this talk: André Staltz - How to Think - Uphill Conf 2019.
And while the ideas were not new, it was still a good reminder about what it means to be a thinker in the context of being a programmer.
I recently learned about state machines and also Domain-Driven-Design. What I like about these concepts is that they force you to plan and to think before you code.
That seems like a useful technique.