Notes:
You are not the owner of the code, the company is. Too many
programmers forget this. We are here to produce the best
code for the company. If someone has a way to fix something
you've written, let that person apply it.
[lyon] When I was just out of school, I worked at Sun Microsystems for a
very senior Unix guy named Tom Lyon. He had a ton of experience. We
were using SCCS for our source repository. SCCS has exclusive locking
of files. If one person has locked the file, no one else can edit.
I thought this was the "right way" to manage sources.
Tom thought differently. He thought that the source repository should
be non-locking. The last person to checkin changes has to merge,
if there are conflicts. Tom and I had many debates over this.
It took me about 10 years to understand and accept Tom's position.
We use CVS, a non-locking source repository at bivio. We rarely
have conflicts. Usually, somebody else hasn't even modified the
file. If they have, it usually isn't in the same place. With
the rare collision, it takes a few minutes to figure out the problem.
When you are programming at high speed, you don't want to have
to wait on others. You want to be able to checkin your changes
as soon as you can. This ensures the repository stays current
and your code gets into test as soon as possible.
Collective ownership doesn't mean insenstivity. Make changes,
but it is always good to communicate with the developer. Don't
just recode something, because you don't understand it. Get
face time with the other developer.