Sunday, June 24, 2012

Success - First encounter


    Yeah this is my first article that I wrote in Oct 2006. I had almost forgotten that I have ever written something like this. I found this article in my mailbox last week and had written this for an essay competition organized by CSR India. I would not lie but was impressed that I wrote this 6 years back and can say it was well written since I was among the top 20 writers in this event.

     Success comes with Ability, Boldness and Courage

              We were born to succeed, not to fail-- Henry David Thoreau

      These words are the basic underlying fact of growth of human civilization. Every step in evolution of man is a result of success in his constant efforts to survive. From the primitive wheel, to the pyramids, the epics, man’s first step on moon and to the genome engineering, mankind has made the best of what nature has bestowed upon us. Although we use only a fraction of our brains but we use it more than any other living being on this earth. Our constant efforts for a better standard of living have led us to explore each and every field and we continue to do so till we succeed. But to achieve success is not easy, success is coupled with failure. People get disappointed by failures but one should learn that failures are not accidents. Successful are those who learn from their failures. We owe a lot to Thomas Edison if it wasn't for him, we'd be watching television by candlelight. He failed a thousand times but his constant hard work led him to invent bulb. 
                So what success is all about? With growth of man definition of success has changed ever since. If we look back through 200 yrs of writing about success a startling pattern emerges in the content of literature. The success literature of past 50 yrs is superficial filled with social image consciousness, technique and quick fixes .Whereas the literature in the first 150 yrs focuses on the Character ethic as the foundation of success i.e. integrity, humanity, fidelity, temperance, courage, justice, patience and others. But today success has an altogether different meaning. One can not be successful just by following the foot steps of great people or by following certain ethics.  But we can certainly learn a much about success from history, from life experience and from myths. We can ascertain that success lies in our ability to access our personal talent, energy and to attain satisfaction and happiness. Success requires the courage and the honesty to unleash the awesome power of our natural talents and to illuminate the purpose that we were meant to fulfill. Thus the orthodox definitions of success have changed as our society has evolved from agrarian, to industrial, to knowledge-based. In today’s world the heart of true success is a sense of personal satisfaction. It is an accomplishment that is nourished and grows with purpose, vision and action. To summarize “Success is that old ABC-ability, boldness & courage” these words of Charles luckman define the modern secrets of success. 

 Ability: Success comes to the door step of that person who acknowledges his talent and focuses on true utilization of his skills. Narendra who was a boy next door until swami Ram Krishna Paramhansa enlightened him that he is able to make a difference to the sufferings of people around. Later known as Swami Vivekananda he said that the greatest sin is to think of yourself as weak. One should overvalue what they are and undervalue what they are not. Henry David Thoreau said that there exists no more encouraging fact than the unquestionable ability of man to elevate his life by conscious endeavor. Successful people are definitely not all-rounder but they discover what they are good at and try to furnish those traits. Sania Mirza is a successful tennis player, she is best at it but she cannot play cricket or any other game. True talent creates its own opportunities it lies in the person how he avails these. Successful businessman is one who has the ability to motivate his employees as motivation almost always beats mere talent. As motivation is about driving people and friends towards higher levels of efforts. Ability is what one is capable of doing and motivation determines what he does.

  Boldness: Skills are of no use unless one is bold enough to take a crack at them. Often talent faces a setback in shadow of criticism owing to timidity. Ramanujan was expelled out of his school on grounds of poor performance in studies but he continued his passion of playing with numbers and emerged as a legendary mathematician of all times. Boldness is having faith in your ability to do a work and being forthright to bring your talent in lime light. In order to succeed, we must first believe that we can. Yet being blind, deaf and dumb Helen Keller always believed her ability and continued with her zeal to become a graduate. Many a time’s brilliant students fail to achieve their goals on account of apprehension and fear a propos to skills .Nowadays many of the students commit suicide on failure. It was in news that a girl ended her life when she couldn’t find her roll number in the results of a competitive exam. It was later found that she had topped the exam and her name was there in the merit list that’s why she couldn’t find her number in the first list. Psychologists say that number of these kind of instances are growing and the main reason for it is lack of poise among students. Thomas Edison said that many of life's failures are people who did not realize how close they were to success when they gave up. Try until you succeed. 

 Courage: “Success is not measured by what a man accomplishes, but by the opposition he has encountered and the courage with which he has maintained the struggle against overwhelming odds” - Charles Lindbergh. 
       Any one can travel a road which is smooth and clear but great men are those who opt for difficult path, take a risk and strive to hit the highest point. One must have the courage to remain original, face odds and take reasonable and calculated risks to win success and stay in the lead. Henry Ford went bankrupt in his first year of automobile business and two years later his second company also failed but he didn’t gave up and continued with his aim and established his third company which is among one of the leading automobile companies in the world. His courage and right attitude helped him to achieve global success. Failures are part of life but successful person is one who goes from failure to failure without loss of enthusiasm. Abraham Lincoln failed in his business at the age of 21,defeated in a legislative election at the age of 22, lost his wife at the age of 26, lost congressional races at the age of 34 and 36, lost senatorial race at the age of 45 and again later at the age of 49, lost the race of presidential post at the age of 47, and finally became The President of United States at the age of 52. It was his doughtiness to  win that made him one of the unsurpassed personality of history. For him his failures were stepping stones to a future that he dreamt of.

 The world stands aside to let pass the man who knows where he is going. Thus to achieve success realize your skills, be bold and courageous. Face the situation, however difficult, with courage, conviction and boldness and you are bound to succeed. One should remember courage conquers, boldness pays and timidity fails. 

Monday, June 18, 2012

testing the Intent

      'You are the 97 percent guys!!!', sounds weird but I was delighted to hear this when one of the candidates at a job fair came to our booth and told me that he has heard about IntentMedia and wanted to know more about the company. He was also astounded like many others when I explained in detail that what as a company we do. If you are interested to know more about Intent Media visit www.intentmedia.com


            I have been working at IM for last 14 months as a quality analyst. Before IM I have had varied experience as a tester; testing the trading applications, web applications, CRM applications with diff integration points but the testing at IM is challenging. I believe a yearn to do something different as a QA has landed me here. IM like many other startups of NYC has a great culture and amazing set of people to work with but what I like the most is the problem that we are trying to solve here 'What to do with the other 97 percent?'

          We are an e-commerce advertising company. We work with advertisers to show their ads on publishers websites : Orbitz, Expedia and Travelocity. I would not go more into the products or the advertising details, instead would prefer to talk more about what I do at IM. 
         
           In any usual project as a QA we would test the website or the software designed but for us the software designed is ads not the website where the ads are shown. Hence the quality assurance would involve ensuring that our ads appear correctly on publisher websites. Now that would be the case for all the online advertising companies but where we are different is we need to match our ads with the publisher websites. Here the complexity of the system increases. Since we show ads on multiple websites we cannot have the same ads across the board, hence all the ads are designed and maintained with changing publisher websites.  I have always heard that in Agile projects also QAs complain that requirements change too often and its difficult to keep track of new functionality. At IM since we don't have control over different sites we have to be very flexible in what and how we do things. 
  • We initially started with mocking the publisher sites to test the ads but that never gave complete and true feedback. To solve this problem we wrote simple tools that would enable the production ad call requests routed to our local servers. By doing this we could see our ads served from development environment on publisher's production website locally. Which would give a true picture that how ads would look like once released to production.
  • Considering the underlying fact of web testing that there are multiple browsers used, cross browser testing is imperative.Then the tools were extended to support ad serving on Virtual machines to test on IE. With almost 5 different browsers and 4-5 publisher sites to be tested the manual testing task is definitely huge. Manual testing of new features cannot be ignored but for regression it would not be very productive and automating every thing is also not a viable option. We instead opted for system monitoring tests and capturing screenshots from live sites after our daily deployments to assure that things are up and running.
  • Being an advertising company we do lot of AB testing and Multivariate testing around our ads and which adds more load to our manual testing efforts. This is one of the main reason we don't automate everything. With so many variables automation tests are not very effective, given that those features will change again after a short period of time.
  • We do have our admin website through which we manage advertiser and publisher accounts. It is also used for accounting and billing purpose. The regression testing of this site is taken care by our integrations tests written in Cucumber + capybara + WebDriver  running on TeamCity.
  • We have been deploying changes  to production every day since last 8 months and for this we need to make sure that our master code branch is always deploy ready. Initially all the changes were directly merged to our master branch and then the changes were tested both automatically and manually. Any issue introduced with a new change could possibly hold the production release. Maintaining multiple version of the same master branch was also considered a bad idea. We then started using git pull requests which enabled the developers to review the code and QAs can test the changes before merging to the master. Any failing tests would not make the master build red and can be fixed earlier without the need to run the entire tests suite locally. This approach has reduced the deploy risks and production issues significantly.
        As I said before we are a growing company and have testing related challenges that we are trying to deal with while exploring smart innovative solutions. Few worth mentioning, which I believe are faced by many teams are: Java script testing, brittle and flakey tests, long build times and definitely IE testing as always.