'In the beginner's mind, there are many possibilities, in the expert's mind there are few'
It took me years to break out of rigid thought processes and patterns and get out of my comfort zone. If I feel like I'm leaning into rigid thinking, I deliberately break out of that.
That could be anything from learning a new programming language, or trying out a new Linux distro (I have learned a lot just by trying out different distros).
In terms of TODOs, I batch tasks into 'marathons' and 'sprints'. If something is going to need small iterative steps spanning a whole year, then I organize my TODO to suit that. If something needs speed and sprinting, again, I organize my life around that. Too many are doing sprints for what should be a marathon, and doing marathons for what should be sprints.
> 'In the beginner's mind, there are many possibilities, in the expert's mind there are few'
This is a great quote. Once one knows how to do something the "right" way it becomes very difficult to do it any other way. That said, perhaps true expertise isn't about knowing the correct solution to a given problem, and is rather about realising that problems themselves can be changed in order to permit different, more desirable solutions.
I think one of the most common ways in which programmers fail is by immediately accepting a problem as a given and jumping into the solution space. So often we will come up with a perfect solution to a stated problem, when a slightly different problem has a 10x cheaper / safer / faster solution.
I sometimes get support questions in the form of "I need feature X". I ask "what problem are you trying to solve." They tell me, and I say "oh, just do this" and the problem is solved.
Love the "marathon" and "sprint" language. I've definitely been prone to biting off too much of something and then getting frustrated when it doesn't go smoothly. Chunking large projects into smaller, more manageable tasks has been helpful.
It took me years to break out of rigid thought processes and patterns and get out of my comfort zone. If I feel like I'm leaning into rigid thinking, I deliberately break out of that.
That could be anything from learning a new programming language, or trying out a new Linux distro (I have learned a lot just by trying out different distros).
In terms of TODOs, I batch tasks into 'marathons' and 'sprints'. If something is going to need small iterative steps spanning a whole year, then I organize my TODO to suit that. If something needs speed and sprinting, again, I organize my life around that. Too many are doing sprints for what should be a marathon, and doing marathons for what should be sprints.