Some of my friends call me a clever programmer.(Indeed, sometimes I have been called a JDK – programmers will know what I mean. Whether it was meant as an insult or a compliment, I have never understood to this day. Would you call a mechanic a spanner, or an engineer a protractor?) Sometimes I accept their flattery whole-heartedly. Blushing, I brush them off, modestly claiming that I do not deserve to be overly praised in such a manner, but in my heart I would have them paint it on the clouds in a brilliant red. It is sad that during such times, they scarcely mean what they say. They do it more like you would tell a man “bless you” after he sneezes: it is the proper thing to do, but every now and then you get away with not doing it. Sometimes, however, I genuinely refuse to be called such names, and the only thing that stops me from grabbing them by their hair is that they know not what they do, as I will explain shortly. In a better mood I would smile and wag my tail, but children dear, the dog’s tail is not a toy to be pulled every time you feel like it.
Enough about me. Who is a programmer? The movies have fed to the world such fantastic conceptions and spurious notions about the programmer that he is an excellent man who can call himself a programmer and keep a straight face. A current dictionary defines a programmer as one who designs and writes and tests computer programs. A little terse, if you ask me. The art is long, you see. It has its joys and frustrations. If it were up to me, I would decree that a whole encyclopedia be compiled with just one entry: programmer.
Observe the programmer after a good day. How light his foot is! How his face glows! How he smiles! Aye, how his hands move freely by his side! See how his head is held high as if to ask fate: that all you got? On such days, he will readily forgive all men who ever wronged him, if they as much as look his way, no matter how undeserved the ill treatment was. Such days, as your programmer will tell you, were days when everything was mysteriously aligned for his success. He will wake up feeling very clear headed, having dreamt in code the previous night.Everything about and around him will seem blissful. His very breakfast will appear to him to have been prepared by a master chef. The morning sun will be shining sweetly in a cloudless sky, as if beckoning him to go out and conquer the world.All clever algorithms that eluded him since his early days will suddenly make sense, and he will implement them nice and square, like a man who has mastered his art till it has no secrets for him. To be sure, he will think himself clever enough to create his own algorithm and wonder why nobody had invented it before him. (Wise being that he is, he will leave the task for another day.)
Ah, how swiftly his fingers ply the keyboard that day. Looking at him, you would think him inspired by some heavenly muse, typing line after line, his countenance growing lighter and sweeter by the statement, till he can take it no more, and rising from his seat, shouts in mad, exuberant joy. His eyes will have this fiery glow, and his life, as he will tell you, will suddenly seem meaningful after all. He will confess that all his programming years he has wondered whether a man can make a living from typing code, but now he knows it for sure: a man can make millions coding. Indeed, he will pity all men who know not how to code. He will wonder how they sleep at night or how they get through with the simplest tasks of everyday.
But, alas, every programmer, every dog has his day. On a bad day (which is an understatement, for such days are not merely bad, they are terribly horrible) the programmer will drag himself out of his small and squeaky bed. He will be tired for no apparent reason, but he will suspect his exhaustion stems from terrible nightmares he had the previous night, about his simple program simply not working, even after he has gone through every single line of code a trillion and one times. All about him will be gloomy and sad. It will vex him how he ever began coding in the first place. Would he were born a loaf of bread to be eaten by children at breakfast. Dang the weather! Does it have to rain every day? And who the hell came up with this sorting algorithm? The pox on him! Did he have to prove to the world that he is clever? God help me if I so much as think of hurling onto this miserable world an algorithm. Good heavens! Why won’t this code execute? But it ran perfectly just yesterday, and I haven’t touched it a bit ever since? There must be something wrong with this computer. Or could it be the language? Perhaps the designers missed something. No, wait a bit – I see it now: I missed a semi-colon here. It should work now. What, no? Come on! You’ve got to be kidding me. It won’t even compile now. This is absurd. I can’t do this anymore!
In the evening the droop in his shoulders will be clearly discernible. He will walk while dragging his feet, and his hands will be in his pockets as if he is suddenly not proud of them or of the work they do. He will keep his gaze intently to the ground like a man studying the footprints of other men on the sands of time. Having skipped lunch, he will feel ravenously hungry, but wonder if there is any point in eating ever again if the world can conspire against him like this.
I hope you see now why when I am called a programmer on a good day, it goes to my very heart, and I wish they would keep talking, and why, on a bad day it takes all of me to keep it together and not put my hands around their necks. That is an exaggeration, of course, but it is not very far from the truth.