Thursday, November 24, 2005

Ctrl C + ctrl V

The title of this blog is something which most of us (engineers..typlically software engrs)would find trivial and so trite that its barely given any attention. The concept of "copy paste " is something which I really feel should be discussed in the open , like "sex" ,"work culture","emotional blackmail" ... "sexual discrimination" and so many other things which bother me .

When I was in college in the period 2000 - 2004 , the use of the "Personal computer" which my dad bought me for (alleged) use in academics was used for really personal reasons alone, the main one being "Quake".A feature which I never cared or gave much attention to was "copy -paste". It did exist though in many forms , assignments , bits , just oral communication in tests and in just about any place it could squeeze itself in , justified by the exigency of the situation. I can't boast of a clean slate in this regard , for I have been guilty of intentional ignorance of the nature of this act. At one time I was caught with a bit underneath my question paper and the teacher was furious .... because I had gone against his policy of only whispering allowed. He somehow couldn't swallow the fact that both amounted to malpractice. Having got away with just a mild punishment of not being considered for that test (best of 3) , I didn't really lose the will to go on copying . And so one day , when a company's entrance test was going on ... I spied with my little eye that a guy in front of me seemed to be ticking the correct options as if he was guessing ... but knowing him better than that , I knew he was solving the problems rapidly. I could have gone on with my own paper , but the temptation was too great for me at that moment , and I did the "ctrl c - ctrl v" without a wink( the silver lining was that the only person I had lied to was myself ,coz the guy I was copying from didn't know about it ...). At the end of his paper , I felt a pang of guilt , brought on by many factors . The fact that I had read works of "Ayn Rand" and not let it even prevent me from such an act and the fact that a teacher called "Rao" had himself condemned it in such strong words and actions .It made me feel like one of those righteous guys who justify that "girls should not be so outgoing , guys will obviously try to flirt ..." . At that point of time I decided to correct what I had done and do the problems all over again. I solved a couple and to my chagrin I found the answers I had imported wrong !!! Wondering what had gotten into that guy , I suddenly realised that the question paper code was
different and the questions would be jumbled up! I felt a stab of joy and a sense of urgency , because now I knew this is what copying amounted to ... and that I had only 15 minutes left .
At the end of the test , I came out happy because I had done alomst every question to the best of my ability and the remaining guessed at my own risk. To tell you how I actually got shortlisted and what happened after would take another entire blog , so I ll desist ... I ll get back to the main topic , copy - paste.

The above incident did occur , and with it , I think I have become a better person . After going through the motions of completing college , I became a software engineer. Work , I knew was something which you are expected to do and you get paid for it. The employer gives you value in terms of money and the employee returns in by doing a service with something for which there is no substitute , the thinking powere of the human brain. At first , it was new and the learning curve was expected to be steep and it was . I spent hours trying to understand the meaning of obscure function calls with parameters which were literally out of the world. The innocence of "int" , "float" and "char" was lost in the jungle of "maps","lists" and other such data structures into which you could bundle the ints and floats of yesterday. Reading code was like reading a novel , if you don't know what a word means in a book , you open the dictionary and get its meaning, and insert it into the present context and proceed with a clear picture of whats happening. The same happens even in code , the dicitonary being online help and installable help applications. Its an amazingly simple thing to do ... at first it takes a large amount of time to understand what each function means and what the parameters actually contain and so on , but once you are familiar with it , its as easy to write code as it is to write a story or a poem . The difference being that code is meant to perform some useful action and is not a vent for frustration/love/creativity ... or could it be ?? Coding can be wonderful sometimes , because the possibilities open for you to create is literally boundless . The amount of knowledge available at the touch of your fingertips and the resources available if put to good use ... anything can be achieved. Having said all this about how wonderful the world of the software engineer is , I am now going to tell you what actually happens in contrast to what actually should happen .

In the ideal situation , you are an ambitious , hard working , intelligent guy/ girl whose only intention is to do something which you can be proud of , take your salary and go home happy at the end of the day. You want to be given some work which is intellectually challenging and when you complete it with application of your logical thought , you are given due credit for it and life goes on smoothly after that. But what really happens , while you spend hours trying to understand what is happening and how to correct an error or improve an implementation, another person walks up to his "friend"/"senior"... in short some one who surely knows already how to do the task he/shes' assigned and the work is done instantly ! Without the effort of even opening the dictionary , a direct download of the necessary data happens via "ctrl c + ctrl v" from the other's brain , with the other's consent. And so you sit and continue with your work while at some other system in your floor , an application runs with the fuel of borrowed intelligence. I often think who can you blame in this scenario , the person who righteously demands that you do his/her work because you are the one who has the ability to do it or you , who consents in this mindless blood transfusion . But blood transfusion is good right ? its the right of the person who is lying dying to get his life out of the living you ... i don't believe in all that , for giving a part of you which is so important as your life force , you should get a payment in return ... and the transaction should not take place unless its mutal exchange.

Hopefully I got across the message of it is to "copy and paste " in a scenario where the integrity of your work is in such grave danger at all times . Though the interpretation of some people of this concept maybe wrong , its nevertheless a wonderful gift when its deserved. If you sit at a problem and try sincerely to solve it and achieve success , the joy you feel is great. If you understand the problem and cannot solve it after trying with all means possible , and then a greater / more knowledgable mind helps you, you are then in a position to appreciate what effort must have gone in to achieving the knowledge and skill he/she possesses. The true value of the help obtained can be measured directly from the amount of effort you put in and still could not arrive at a solution.

There are many aspects to treating knowledge as a resource and its really upto the individual how he/she takes it. My experience tells me that the more I work by myself ,the better I get at my work with no dependancies like a class in C++ which only exposes interfaces to the outside world and does not give access to its data members. With still many questions in my mind , some answered some not , I take leave , until I write again.

bye