Programmers, as do nearly all human beings, prefer praise over criticism. But a programmer is more willing than people in other professions to objectively consider any criticism given them.
More than anything else, programmers want the respect of their peers. They get that respect by writing programs that work. Computers are the ultimate judge of whether or not their code works. And computers clearly don’t care a whit for anyone’s feelings.
So if the programmer wants to have his code work correctly and the computer won’t say things like, “Good try!” any programmer soon learns to evaluate what they have done as objectively as possible. Objective criticism from other programmers only helps rather than hurts.
At the same time, it is important to point out that programming a computer is a purely intellectual activity. A programmer writing a program is creating something using only words defined by the rules of a particular programming language that they are using. In that sense it is no different from writing a short story. However the primary reader of the words is only a machine: a computer.
But computer programs can be written with style and even elegance. The only problem is that only a very small percentage of people in the world can recognize that style and elegance: other computer programmers. Once you have impressed the computer – by writing a program that actually works as intended – programmers relish being able to impress that select, small audience that can understand the words that they have written and the way that they are written.
As you’ve probably noticed, I’m overstating the case a bit. The vast majority of code written is intended purely to work and nothing more. But I even once heard a programmer describe another programmer’s code as “poetic” (clearly a comment that the average person would probably never make regarding anything about computers). But style is important to them and the admiration of their peers is very important.
Implications:
First, while some sensitivity is always good, programmers respond well to objective and positive criticism. So feel free to use it.
Second, be aware that programmers working on your projects may very well offer criticism to you. Accept it gracefully. They’re only trying to help.
Third, allow free and open communication between the programmers especially using processes like code reviews. It improves the quality and reusability of the overall code and increases the self-confidence of the programmers.
Obviously this is one generality that should be applied more carefully than others. While most programmers really are generally fairly objective and accept criticism well, there are exceptions. You should try to find out who those exceptions are.
Wednesday, March 18, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment