'''Definition''' The feeling that you don't want to write code today, experienced for several days in a row. Most harmful when found in RealProgrammer''''''s, but CoderDrone''''''s may experience discomfort. '''Symptoms''' * Browsing wiki when there is Real Work to do * Jumping at the chance to get away from the machine * Triming your toenails too frequently (e-commuters only) * Really getting into abstract discussions * Haven't uttered the phrase, "Just a sec., I gotta finish this." for days. * More? '''Causes''' Causes are as varied as the individuals it attacks. Some common causes are: * BurnOut * Need to GetaLife * AnalysisParalysis * So many lines, so little time (ProgrammersBurnout) * A disagreeable new assignment * Onset of a real disease, see your doctor (see '''DOCTOR''' below) * Throwing one too many away * More? '''Care Plan''' The possibility of real disease should eliminated by referring the patient to a medical specialist. CoderDrone''''''s should be referred to a GetaLife specialist. AnalysisParalysis has a well know body of cures, as does BurnOut and ProgrammersBurnout. Direct the subject to the appropriate literature and suggest a consult. Cases induced by disagreeable assignments can be quickly cured by applying one or more forceful 100ms impulses to the subject's anterior with the end of your lower limb while speaking loudly in an angry tone of voice. Alternately, a kind word and sitting down together at a computer (not yours) and getting started may help in many more ways than you can imagine. Mild cases can be placed before a whiteboard with a marker and asked how they would code some small but interesting problem. They will quickly become frustrated with the whiteboard and wish to use a computer. At this point recovery is certain, but by no means let them touch YOUR computer! A follow-up exam should be scheduled in a few days unless their 400 line solution arrives in your e-mail sooner. If the case begins to draw diagrams, gently ask him to erase them and write syntactically correct code. If this fails it may be a difficult case. Difficult cases may require several sessions to pin down the cause and explore possible remedies. Determine what was happening when the onset of symptoms was noticed. Was there a significant experience that may have precipitated the malady? Make sure the patient has tried all of the usual cures for short-term cases such as: taking a day or two off, meeting those other people that live in his house, trying a new restaurant, etc. Suggest he pore over code listings for current projects in an editor. This may result in reflexive maintenance behaviour. Watch for new code production -- this is a sign that recovery is possible. But if only pruning action is observed it may be a sign of a hard case. To be continued... ---- ---- '''ThreadMode''' Depends on your work situation. If you're working full time on a large project, you leave the knotty problem and just code up all those boring detail routines you've been putting off until it's time to go home. The solution to the big one will probably come while you're waiting at the bus stop or watching TV after dinner. -- PaulKarres ---- '''DOCTOR''' From fortune: I don't feel so well -- I'm seeing spots. Have you seen your doctor? No, just these spots! ---- '''Original posting:''' I have a serious case of programmer's block. I don't think it's related to BurnOut, but in my present state of mind (mild panic viewed from a distance) telling the difference might be difficult. Symptoms, in no particular order, are: * Lots of ideas on how to proceed with current projects, but hesitant (afraid?) to implement them * Growing feeling of incompetence -- usually I'm pretty (over) confident in my abilities * Can't concentrate on problem very long -- too many distractions (I work from home, and it's year end holiday time, Christmas, New Years 2004) * Don't even want to write silly little program just for fun (this is SERIOUSLY scary!) Have you or someone you know been where I am? What did you/they do to get past it? -- BobBockholt Write some UnitTest''''''s for your existing code or refactor your existing code. You'll start seeing ways to enhance or simplify it. Pick a new feature, write tests for it. Once your fingers get into the unit tests or refactoring, your block will probably disappear. If you have ideas, then write tests; tests remove fear by making you feel safe, fear is the mind killer! If you pick small enough problems, you don't need to concentrate very long. Unit tests help you pick smaller problems. 2 or 3 minutes to write a unit test, 2 or 3 minutes to make it pass, repeat as necessary until no more work to do. Sounds like AnalysisParalysis. I've only found one solution. . . Fire up your IDE, and start beautifying your code. . . That should lead to more important things. -- LayneThomas ''Hmm. Thanks Layne, that sounds like something that might work. It's hard to look at code without wanting to tweak it, isn't it?'' Actually, BobBockholt, you have come to wiki, read what these pages have to say, and joined in the discussion. Immersing yourself in all this may itself turn out to be the bulldozer that tears down the dike. It happened for me. -- StevenNewton ''Thanks Steve, but flattery will get you nowhere! (grin) The Wiki was just another way to avoid facing the problem, another distraction. But my idea was to look for people in similar circumstances and see what they had to say, then do some (unexpectedly (see 'Whoa' below)) public self-analysis in hopes of talking myself back into place.'' ---- ''If the case begins to draw diagrams, gently ask him to erase them and write syntactically correct code. You're joking, of course - the diagram should *be* the syntactically correct code, right?'' -- PaulMorrison ---- See also MyMindKeepsWandering, WritersBlock, DecisionRoutinesWhenStuck, GettingOverTheHump