4 ms·
I wonder: as a programmer, how do you get into a flow state when you're not doing active coding — e.g., when you're trying to learn new concepts, parsing resear
by archagon 9y ago
I wonder: as a programmer, how do you get into a flow state when you're not doing active coding — e.g., when you're trying to learn new concepts, parsing research, or designing algorithms or data structures? That's what I have the most trouble with. Once I get past the hurdle everything is just gravy, but staring at the same paper or whiteboard for a week and trying to grok the darn thing is emotionally draining. I can only move forward when my mind happens to make those missing connections, which is not something I can force.
- _asummers 9y agoI find REPL driven development to be really helpful here. You play around with toys til you get your bearings, then you sit down for real to do the task. The instant feedback from the REPL causes me to not get sidetracked nearly as easily. YMMV, of course.
- taway_1212 9y agoFor languages/environments where REPL is not available, it can be helpful to create a setup where you get an almost instantaneous feedback from your changes. Nothing kills flow like having to wait 10 seconds every time you change a line of code and want to see the result. For the parent poster: I think a good way to tackle learning new stuff is to break it do it in small increments at a time. Ex. if learning graphics programming, start with trying to open up a blank open gl window, then try displaying a single triangle etc. If the tasks proves to be more complex or requires going on a tangent, break that down into goals as well. The point is to always have something on your plate that is small-ish and feels achievable.