Untitled Document
www.expresscomputeronline.com WEEKLY INSIGHT FOR TECHNOLOGY PROFESSIONALS
11 February 2008  
Untitled Document
Sections

Open Source Spl.
Technology Life

Columns

Between The Bytes

Events

Technology Senate
Technology Sabha

Specials

HMA Bankbiz
UPS Batteries

Services
Subscribe/Renew
Archives
Search
Contact Us
Network Sites
CIO Decisions
Exp.Channel Business
Express Hospitality
Express TravelWorld
feBusiness Traveller
Express Pharma
Express Healthcare
Express Textile
Group Sites
ExpressIndia
Indian Express
Financial Express

Untitled Document
 
Home - Technology Life - Article

Humour

The perfect programmer

T A Balasubramanian analyzes if the traits that make a cool programmer also contribute in making him an awkward, indecisive human

“Not having a delete option in real life is just one part of the story. The life of a programmer gets messed up further because if you are one of these miserable creatures, you would become obsessed with perfection. You will find that you are constantly talking about rewriting code,” says Brooke Bond, your Project Team Leader at Baffle Corporation.

You, Papyrus Bytewala, CIO of Baffle, are caught in the company of your famously cynical staffer as he takes on the challenge of updating DeVito, your biped humanoid CTO at Baffle. DeVito is expected to learn by immersion in the rough-and-tumble world of corporate IT management, and perhaps occasionally by listening to your sagacious remarks.

The subject under the lens is the inner life of computer programmers —or coders, as they are sometimes called.

“When you are bitten by the programming bug, you cannot resist optimum solutions,” lectures Bond, with a tone of great solemnity. “You will sneeringly toss aside mediocre ideas in search of great ones. You are like a finicky child that will refuse to eat unless fed with a particular spoon and amused by a specific sound. You would rather leave a nasty problem temporarily unsolved rather than solve it shoddily.”

“Hey, Brooke, you make it sound like an incurable disease,” says DeVito. “If I understand you correctly, programmers have a seemingly relentless capacity for improving upon anything that takes their interest. Now that kind of focus is something we humanoids find irresistible. That’s what makes us so endearingly humanoid.”

“Endearingly humanoid? Good for you, no doubt. But it would turn a healthy human into a walking droid like C3P0 in Star Wars, bent on doing things to perfection,” says Bond, walking stiffly around like a cartoon robot. “You would scare away real people. The human variety, I mean.”

“Hmm, I think not, Brooke. Being a humanoid is not half as bad as you make it out to be with all those caricatures. If my work is to feed exotic and somewhat stiff phrases of a programming language into some device and then predict the results, as well as to manage the unpredictable outcomes, I will tend to become as much like that device as possible—by osmosis—or transference, perhaps. Now getting to know your inner machine is what makes life interesting. Isn’t this what you humans call the mammalian trait of mimicry?”

“Yes. It is familiarly used to describe the way monkeys behave. They copy what they see,” says Bond, with a sniff. “Hardly a superior human trait. Even a programming genius would dislike being called a computer primate.”

“Well, Brooke, if you were to copy what you observe more exactly each time, would that not be a good way to learn? After all, you became different from the apes this way—mimicry is what makes you good at language, eh? And for us humanoids, that is a great kick start, too—with language, I can talk to humans and blend in easily—I started off by aping your essence, and look at me now. What do you think?”

“Impressive, Danny,” says Bond, wryly. “I grant that you can perfectly grasp information from language, and pass off as a human by aping me and Papyrus and anyone else at Baffle. You already have the pathology to interact socially and slip into your human skin without anyone being the wiser. Maybe you should take over my job, too. That will give me a much-needed break, and I can …”

“All right, Brooke, we can do without the wisecracks and the soap opera,” you say, hastily, as the air becomes frosty.

“Hey, he started it,” says Bond, unwilling to bend.

“Oh, we are in a sulk, are we?” says DeVito, chuckling.

“Cut it out, you two,” you say, standing in between the two contenders to prevent a full-blown fight. Let’s get back to programming and the bane of perfectionism, shall we?”

“As I was saying before Mr Droid here interrupted,” says Bond, glaring. “If you are a programmer, you hate half-baked solutions. You would not ever be caught writing code with limited utility and life span. Now, while this is a wonderful trait to have when programming, the twin devils of efficiency and scope will start to pop up in your regular life. You will avoid doing simple things because the solution is inelegant or just feels dirty. If you had more time to think, there will be a better solution, you will say, again and again.”

“You can never make up your mind, eh?” smirks DeVito.

“You will be forever in a dream future,” says Bond. “You anticipate results well ahead—since you would not want to waste your time making something that flops due to short-sightedness or lack of imagination. You will be mapping out plans and running the permutations through your head. Now back in the real world, you will do the same dreaming. You will draw perfect plans of breath-taking intricacy and beauty that resolve multiple problems and meet many fantasies. You will try to wrap a forest in one sheet. The impossibility of getting these plans into the air will be maddening, but even so, you will continue to tinker over every detail, making heroic efforts to fashion the perfect solution. The transfer of programming habits to your everyday life is where the twist in the road lies. The same traits that make you a cool programmer can make you an awkward, indecisive human.”

“Ha, but a humanoid would simply go ahead and grind out the program any which way, right?” smirks DeVito.

“Well, let me put in a rider here,” you say quickly, “While Brooke is right about the obsessive trait, he tells but half the story. You should remember that there are two sides to a programmer. There is the sheet-in-the-sky dreamer and the feet-on-the-ground finisher. What prevents a sky-wrapping programmer from becoming chronically bogged down in this pursuit of perfection is the earthly pragmatism that comes with the package.”

“What earthy pragmatism? What package?” says Bond, folding his hand across his chest. “I do not compromise.”

“Ah, so there is a spoiler in the plot, eh?” grins DeVito.

“You could say that, Danny,” you continue. “Writing code habitually does change the way you think. You become dreamy and analytical, easily frustrated by inelegance and inefficiency—both being situations you will encounter often, and must deal with appropriately, if you want to live a happy life, that is. It is up to you to choose when you want to loosen up the feet-on-the-ground side. As a pragmatic programmer—which somebody as uncompromising as Mr. Bond can be—you will soon be obsessed with making things that work in real life. You will apply—often ruthlessly—the finisher’s hammer of workability to everything from your own big dream project to a formula for the prevailing price of onions. Now all this dreaming and finishing in turn gives you an unusual independence of mind, freeing you from the constraints of authority, convention, or melodrama for its own sake.”

“Not to mention making less of a mess of your life, eh?” winks DeVito.

“Ah, that is just a matter of each individual finding their own niche in the scheme of things,” you say. “Being a programmer is just as likely as any profession to mess up your life—if you take it too seriously.”

“I do not compromise,” says Bond.

 


Untitled Document

UNSUBSCRIBE HERE
Untitled Document
© Copyright 2001: Indian Express Newspapers (Mumbai) Limited (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in Mumbai by the Business Publications Division (BPD) of the Indian Express Newspapers (Mumbai) Limited. Site managed by BPD.