I came across a very interesting blog post today, important enough for me to decided to repost it here.
How To Stop Sucking And Be Awesome Instead
One of the key points is that you should stop being afraid of sucking if you want to be awesome.
And this is a VERY good point. Too often do I see programmers who can't come out with solutions just because they're afraid that people might think it's a stupid idea, that other people might look down on them if their idea didn't work out. They keep walking down that path and they'll never gain any extra experience because learning from our mistakes is surprisingly effective.
A programmer should never be afraid of making mistakes or that worrying if their code isn't the right way to do something. In programming there are many paths to achieving a solution, and if you don't have the guts to walk down those paths you'll never know which one was the best one.
When other people come to me for advice on something and I see that they're about to fall into a hole based on their attempted solution, if the situation allows it I'll always let the person drop into the hole first. After which I pull them out and ask them to think about how they got to that point and discuss about the alternatives available, I find that this helps instill the lesson a bit more deeper.