Personal and social boundaries, an idea of what a great team player is
When I left school and started to work as a software developer, I strongly believed that the true and only model for improving my skills was to learn from experts: "These people hold the knowledge and the wisdom of my field ; I need to listen carefully to them and record their skills into my genes as much as I can." My wishes turned into reality: I was soon very lucky to meet and work with truly smart, experienced and motivated people, whose purpose was nothing less than excellence in software development.
Noticing my interest, my new friends included me in their frequent debates and discussions. I felt there was a technical gap to fill, but it took me a few more years to realize there was a pattern of behavior common to these people I was admiring: they were never satisfied by their accomplishments, and therefore were tirelessly pushing their limits.
These guys didn't fear failures as much as the others, but instead worked often at their limits to seek a certain level of risk (technicallly and organisationally).
As Kent Beck states, "when you're afraid you'll fail, you're likely to be right", so I also tried to overcome some of my fears and move forward... this was not easy but very rewarding: I was learning much more than before out of my experiences, and was demonstrating to my colleagues a certain level of motivation.
Today, I think of it as a discipline: every year, after having reassessed my goals, I try to find a few new challenges to work on my weaknesses. I believe I am not yet very good at this game, as the risks I have taken so far are pretty low... and I expect the potential rewards to be directly proportional to the level of risk.
In most scenarios, significant improvements require a solid motivation, as it comes after experimenting a new technique or strategy that may impede our work at first, but proves to be efficient when mastered. For those interested in this subject, Jerry Weinberg exposes in his book "Becoming a Technical Leader" his theory about a "Common development cycle" defined by a succession of plateaus, separated with ravines and "great leaps forward" (look to Martin Fowler post for a little more on the subject).
This willingness to take risk in order to improve seems to be a necessary condition for achieving great results in any field... however I don't think it is always sufficient.
A strong and disciplined approach to self-improvement does not change the fact that each individual brings unique assets to a team ; the complexity of most projects has grown so much that very few people are able to tackle optimally all the aspects of a problem.
That's why I like to try and foster synergetic approaches (6th habit of Stephen Covey): exchanging complementary perspectives for building a common, deep understanding about a problem, and then bringing complementary skills for targeting efficiently all the aspects of the solution. As Kent Beck states, "two ideas about a design present an opportunity, not a problem". One risk is that it can take forever to come to decide about anything, but I think the risk is low as far as the team shares a common vision and is result-oriented.
At a personal level, this gives a psychological boundary to work on... instead of trying to force people to embrace our ideas, let's just encourage a free flow of ideas, and genuinely give others a true opportunity to influence my thoughts. This pattern of behavior often engage healthy and constructive dialogs: the other person generally feels safe and soon naturally tends to do the same with you.
Weinberg's chief assumption is that everyone wants to feel useful, to make a contribution.
Why not using that positive energy to its best? I personally witnessed many times the emergence of innovative ideas when the team coach was encouraging variety and differentiation.
Now, back to reality.
I would be really naive to claim that we should force everybody in a team to embrace these 2 patterns of behavior (self improvement, and synergetic work adept). As Regis Medina told me one week ago, "you cannot change anybody, but anybody can decide and (to some extent) manage to change".
I also had recently an interesting discussion with Conan Dalton, about hiring people (see his post on the subject). His focus is rather on looking at concrete achievements in former projects... and I agree it is essential for wisely matching a position in a project.
However, the more I experience teamwork, the more I prefer to exclusively interact and work with people that demonstrate some evidence of these qualities, even at the expense of a lack of experience, they bring a great potential and are so much more interesting!