Today I've got a sudden revelation about the way I usually get to program. Not that it wasn't obvious before but this time I've managed to formulate this with actual words.
Often I'm facing a problem of not being able to start programming something big: a big new subsystem, a deep refactoring touching almost all the files. Even when such a thing is in progress and spans several days it's hard to get back to the daunting work on the next day.
Apparently what's needed here is a thing with which everyone who ever did any sport exercises is familiar — a warm-up. I noticed that it's easier to start working on the same codebase with something insignificant and not scary: do some simple renames, write or edit a couple of docstrings, fix-up some package dependencies. These things help to acquire back certain feel of the project's domain, remember some thoughts that I had last time when I was working on it.
Hope this helps someone too :-)
Comments: 1
Nice. Actually looking through my experience, I can say that I often do the same: starting with something small and then get ready to important tasks.
This is even more true for working on open source projects from time to time when you have free time in the evening: while I'm triaging couple of new bugs, I'm trying to find the easy one, then start looking through codebase, and trying to fix it. Unfortunately (for me) my free time has its own limits, and when I'm warm enough to work on shiny new features... I have to stop because it's already too late. Heh.