Fear of Programming
rubyconf2008.confreaks.com
rubyconf2008.confreaks.com
I'm not really sure I buy the idea that any of these fears would be substantial enough to impact the allocation of time on programming unless the person in question had some issues to work out such as procrastination.
Afraid of what others will say? Don't tell them. The practice is still going to be worthwhile.
Afraid of not finishing? Break down the project into small chunks, write tests to make sure the small chunks work properly, and iterate between planning out the next steps and executing the next step in the queue (in theory, any number of subsequent steps can be added, removed, deleted, or re-arranged after executing any single step).
Afraid you won't know how to solve a problem? Which problem? Did you read the Wikipedia article and consult the relevant textbooks?
Afraid you're not working on the right thing? First figure out what the right thing is, and justify why it is right. If you're working on anything else, stop. Now start planning how to approach the right thing. You are now working on the right thing, for a discussion on when to transition to coding, see Code Complete.
Playing strategic computer games like Civilization is a good way to convince yourself that you can make decisions about complicated stuff without feeling the emotion of fear.
Because that's what we're talking about here. The developer is unable to get started or continue because they are unable to take the next step. They are afraid to get it wrong.
The usual solution to this that I've heard is Research. Learn more about what you are trying to do so that you can eliminate the fear.
The solution I used when I was learning to program was to just jump in and start trying things. It's very time-consuming and more than a little stressful, but it works.
At any rate, ANY action is better than inaction when faced with programmer fear.
The only times I enjoy spaghetti code is when I have to learn a tool or more about a language or library to debug or understand it. At least then I'm engaged and learning what to avoid and how to fix it.
By the way, I found the "one fear gets replaced by a bigger fear" theory very interesting. It's a very logical explanation but I never consciously thought about it.
In this case, even though it isn't fun and sometimes very painful, I'd suggest a brute-force approach. Try as many ways as possible and discard all the drafts & don't feel bad about it.