The lone programmer
Beware the lone programmer.
I say this for many reasons, but they all can be summed up by answering either: 1. Why isn't anyone else working with him/her? Or: 2. What are we missing with a programmer working alone?
I will start with the second one, since it is more innocent. If the programmer leaves, how screwed are you? How good is/was their code? There has never been anyone to tell him/her that its bad, so that they can improve. What if they spent 9 months rewriting some existing module (CPAN or otherwise), simply because they didn't know it existed, or how it worked? What do we do at vacation time? What happens if he/she gets hit by a bus? These are all valid concerns, and is mitigated by having a second programmer on a project. What happens to the programmer when he/she gets frustrated and there is no one to help them?
The primary question, of why, is really the kicker. Is the person a jerk to others? Do they write terrible, unreadable code? This in my opinion can lead to a bad, toxic situation, and will foster bad blood among all involved.
The 'rock star' programmer that does whatever they want, I have found usually write terrible code, that is buggy, not conforming to any standards, and worse: they think its ok to do some 'magic' in the code, because they think they are a rock star. I have seen better code coming from college students than the rock star.
Also, what of your other programmers? They have to deal with his/her sh*t whenever maintenance on the code is needed, and they may feel that they write better code, but don't get benefits.
The last point on the 'Why?' question is what if the team hasn't 'adopted' the new programmer? How discouraging is it when they have spent a week doing what they feel is good work, and then getting completely shot down? Part of development is getting shot down, but a new programmer doesn't know that, and working with a team that accepts the reality of the changes, and moves along, teaches him/her not to be discouraged.
If you are a developer and working alone, you are doing it wrong.