Thursday, June 21, 2007

Programming in a group

1 isn't the loneliest number! 0 is! It doesn't even have itself to keep it company!

Actually, I spent almost 10 years programming on my own, in my own projects. When I did join the rest of the programmer race, the biggest challenge was communications. Thomas Kuhn, in his book The Structure of Scientific Revolutions, mentions that one of the problems when trying to resolve conflicts between two competing paradigms is that the vocabulairy, structure etc.. of the frameworks used within each paradigm are different. In order to have successful communication, you need to know enough of the other person's frame of reference and share enough vocabulary in common to say the right words in the right order to transmit a thought. Unfortunately for me, I had little to no idea of how other people thought about programming and only a vague idea of the vocabulary. My first few 6 months were spent in a continuous, desperate bid to explain my thoughts on a given design or problem in a way that was comprehensible to someone else. In the end I got the general idea.

Programming in a group can be very humbling. It's human nature to ignore one's own mistakes if it's believed they were mistakes but inevitable.. or that something or other was impossible anyway... When programming in a group, it's likely that someone in the group will be able to show you your folly; to see that your inevitable mistake is someone else's obvious mistake.

..arrogance is the natural result of insufficient "learning opportunities"..