Just a little background: I have 10+ years experience as a developer. I've worked in many different teams with many different technologies (Java, C, .NET, PHP, etc). As a developer I have always tried to show a positive attitude when dealing with complex problems and I really like challenges, that's what keeps me going. When people ask me if this or that complex thing can be done I will always tell them "yes" even if i don't know exactly how. If i cannot do it one way then I will try n-other alternatives.
Based on that, I've found that in almost every team i have worked, most of the teammates run away from complexity or from unknowns. No one really wants to step out of their comfort zone. That's when I always jump in, and let me tell you that i'm not always the hero, sometimes things go wrong but I can't stand people facing challenges and DOING NOTHING. This could be learning a new technology to solve a complex problem, or just solving a complex problem. I have ended up undertaking complex speech-recognition projects, creating CRM's from scratch, migrating legacy code to modern architectures, etc, integrating to PBX's, getting into the guts of Unix servers, terminal emulation, etc.. putting heart and soul, working long hours to get it out of the way. When people see you doing that, they sit back and relax knowing someone else will take care of it.
I have to admit I have an obsessive personality and I become very nervous when people is so passive in front of adversity. How can I deal with this? or even better, how to encourage a team to deal with adversity and embrace challenges? I don't want to be the only one that does what no one else wants or what everyone is afraid of.