Pages

Wednesday, June 16, 2004

Mistake or Teacher

“What betrayed me? My mind? My heart? Why do I condemn myself so? I swear, on the lives of my children: Give me a chance to redeem myself, and I will sin, no more.”

—Michael Corleone
Coders sometimes forget that we are error-prone individuals. Telling a computer what to do brings one face-to-face with the reality that coders create wonderful art and they blunder fantastically. When you write your first line of code you enter a world filled with not-so-illustrious bands of ragtag rebels; your first Hello World is a christening event—highly anticipated—that is analogous to becoming a parent. What type of coder you become is a function that depends in part on the sort of rebels you run with.

Neither parenting nor programming are easy. Both are impossible to do perfectly. But the rewards that can come from striving for excellence are unbounded. Programmers spend long hours nurturing precious creations, sacrificing time and energy that could have been spent on other things. They try to steer their creations to destinations; they pass celebration-worthy milestones along the way. But often programmers and their children end up in unexpected places. With a little luck and lots of sweat, they experience addictive feelings of pride and satisfaction that come from a job well done, whether the final result looks much like their best-laid plans or not.

Even when you believe with all your heart that you've succeeded and are certain you've done your best, however, you might not reap the reward that you expected or think you're due. When that happens—and it will, whether it involves a computer or someone else entirely—don't be surprised to hear yourself asking questions like:
How did things go so wrong when I thought they were going so right? . . . What could I have done differently? . . . How could I have prevented this from happening? . . . Why even try? . . .

The_Wisdom_of_the_Sands.Chapters[49].Paragraphs[0]

BEAR WELL in mind that your whole past was but a birth and a becoming, even as was all that has taken place in the empire up to the present day. And if you regret anything you are as foolish as would be one who laments his not having been born in another county, or in another age, or of a different stature, and embitters his life with such idle daydreams. Mad is the man who is forever gritting his teeth against that granite block, complete and changeless, of the past. Then take today as it is given you, and chafe not against the irreparable. “Irreparable” indeed means nothing; it is but the epithet of all that is bygone. And since no goal is ever attained, no cycle ever completed, no epoch ever ended (save for the historian, who invents these divisions for your convenience), how dare you affirm that any steps you have taken which have not yet reached, and never will reach, their consummation, are to be regretted? For the meaning of things lies not in goods that have been amassed and stored away—which the sedentaries consume—but in the heat and stress of transformation, of pressing forward, and of yearnings unassuaged. Thus the man who, defeated and under his conqueror's heel, builds himself up anew—I would call him more victorious, by reason of the effort he puts forth, than he who complacently enjoys the fruits of victory, like a sedentary enjoying the goods he has laid by, and already treading the downward path to death.

—Antoine de Saint-Exupéry