You often see the suggestion to break up big tasks into smaller, baby step chunks to avoid this analysis paralysis. Doesn't help when I'm not even sure what to do yet.
You often see the suggestion to break up big tasks into smaller, baby step chunks to avoid this analysis paralysis. Doesn't help when I'm not even sure what to do yet.
1) Start screen recording software and dictate your thoughts as you go through the research/brainstorming phase. Don't often go back and view the recorded sessions, it's the act of recording and speaking out loud that helps.
2) Comment driven development. Stub out functions just with comments, write deeper comment blocks inside a procedure where you have a rough idea of what needs to happen. I paste in table and API definitions as comments too, to avoid having to flip to a different screen which inevitably leads to distraction. Once the program is completely laid out in comment form, and compile/runs with just "STARTING" and "STOPPING" displaying, then I start implementing what's in the comments outside-in (from highest to lowest level). I run the program frequently while doing this, each successful compile/run is a small dopamine hit. As I'm going through, remove any comments that are duplicated by code - all that should remain are comments explaining "why".
There's probably a few different methods to do this (some of my friends swear by pseudo code, others have personal white boards) so it might be worth trying a few different approaches to get over your writers block more consistently.
I wonder if this "comment driven" strategy has potential for applying NLP+code generation. I'm sure this is a common enough thought but I'm not aware of the research, does anyone here have pointers?
What I mean is: use NLP to extract intent (where feasible), and then offer possible implementations of the intent.
I have replaced 'staring into space thinking' with taking a walk outside my office.
I think our minds evolved to track all these things and, probably in a time sensitive way more than projected future value, to prioritize them. For this reason, I think having multiple projects is the natural state as the mind is optimized for this. So maybe this is the "best way" and explains a lot of the strange ways in which putting a problem aside can help solve it.