I know this is the sort of somewhat open-ended question that we're discouraged from asking, but there are lots of open-ended questions around already, and this is something quite relevant to me right now.
Do you ever get those times when you're about to start work on a new function/feature of an established system, and you get "coder's block"?. It's like a mental freeze at the sight of a large, completely unpopulated dialog, or an empty code file with just the stub reference headers etc. Do you ever have that 'ulp' moment that seems to sap all your momentum and leave you wide open to distractions (surfing the web for inspiration, checking out 'crackoverflow' etc)?
Not that I'd wish it on anyone, but hopefully some of you do, and hopefully some of you can suggest tips or strategies for overcoming the situation, regaining your momentum and becoming productive again.
I usually try to reduce what I'm about to do down to absurdly small steps, in the hope that as the job becomes just a series of 'doh' tasks, I'll kickstart myself into working through them. However sometimes, particularly when a deadline is looming, I'll get overwhelmed by this approach as I realise I probably don't have enough time to do all of those tiny steps properly. Those are the darkest moments, (often literally) just before dawn!
This situation can be particularly crippling if you mostly work alone, too.
Any thoughts or suggestions? Any methods that you found helpful yourself?