User:Leucosticte/Overcoming mental blocks to programming

Here are some ways of overcoming mental blocks to programming.

"It's too big of a project; I can't keep it all in my head"
If you're writing the code from scratch, you have a couple options. You can write an outline in pseudocode, and then write more detailed pseudocode, and finally translate it into the programming language. Or you can write code to handle the simplest use case, and then revise the code as needed to handle more complex use cases. The outline method is probably preferred, since it theoretically leads to better planning, but the other method is okay as a last resort, for when even the outline is more than your brain can handle.

"I have no one to bounce ideas off of"
If your efforts to recruit a programming buddy have failed, then you'll have to resort to the rubber duck. Create a document in which you list the various design decisions you need to make. For each item, have "Argument" and "Decision" sections. Write the pros and cons of the different alternatives in the "Argument" section and then your decision in the "Decision" section. If you forget why you chose a certain option, you'll have that rationale to look back at.

"What if I fail"
Every programmer will have temporary setbacks (otherwise debugging wouldn't be an almost-always-necessary stage of the process), but you only fail permanently if you give up.

"I don't know how to do it well"
No software will be perfect. Is something better than nothing?