In his autobiography, Lee Iacocca said something along the lines of:
‘Is not a people person’ is the kiss of death on a performance evaluation, because people is all we have working here at Chrysler.
I have known some brilliant programmers who never achieved their potential because they could not work with other people. They were great on one-person projects, but there is only so much a person can do alone, no matter how brilliant.
Two warning signs that you are “not a team player” are:
- You write code that only you can maintain because it is poorly documented and/or has the linear progression of a bowl of spaghetti,
- It is difficult for other people to integrate their work with yours. Sorry, buttercup, it’s not because they are too stupid to code, it is because you haven’t thought your design through with other people on the team in mind.
Take as an example the blog I posted yesterday. The reason it was a brilliant solution from a team work perspective (if I do say so myself, which I do), is that for our audio engineer to create sounds to be incorporated in the game, he was required to know nothing about the code I had written. All he needed to do was decide,
“This should be the sound for the second correct answer in the game.”
Then he would create two files named correct_answer2.mp3 and correct_answer2.ogg
See how easy that is? If it is really hard for other people to integrate with your code, it isn’t because you are so brilliant and they are dumb. It’s pretty much just the opposite.