There is also another view - I think it is good to let developers influence the decisions about technology used, but only up to a point. In the end it will be leader's problem if technology that some novice developer wanted to use fails to deliver (as it so happens).
EDIT: I do agree with you that developers need to own up to their challenges though. :)
One of my largest pet peeves is when a new technical person comes and asks me how to do something without even googling it first. I don't mind guiding, I don't even mind giving hints and verbal cues to get you to the starting blocks. But if you're asking me to tell you how to do something without even developing questions to ask me, I'm annoyed.
I don't want to sound like a grumpy old man, but some of the new generation of thinkers seem to lack some intellectual curiosity that those of us without the internet had to endure in our early career stages.
Next, I'd like to introduce you to the 20 year old ruby developer who will set me straight in the follow up reply to my comment:
...but maybe the mentor wasn't _guiding_ you, but enabling you (by answering your questions) to follow a path _you_chose_ and that turned out to be wrong.
This is important because if you always see yourself as following the mentor's path, you'll never take ownership and become a leader yourself.
As an experienced developer and personnel manager, I find it particularly frustrating when someone comes to me and says "you told me to do it this way, and now it doesn't work - fix it" because it shows that they're not taking any ownership.
Instead, I try to ask questions and make observations about their proposed approach to guide them to what I think is the best solution but, ultimately, they may choose an alternative route... and this might fail. At that point, they normally come back with "I've hit this problem, and it's mine to overcome, but can you help?"
...and I do, gladly. ;)