One does not criticize the company one is working for publicly, even though one may do so amongst friends. Being a programmer is a dream job for many in India because one can earn a lot of money and travel abroad. However, often the work itself is very boring and not challenging at all. Having been educated to innovate and think creatively, often the jobs ask obedience and do not offer any challenges. The programmer can control the writing of code, but the manager decides on deadlines and deliverables. The computer system does not know whether the programmer is doing serious work or not. It can only know how many lines of code were written, it cannot judge the quality of those lines. The programmer, who is not interested in working on a particular day, can decide to file a bug report, true or not true, it will give him some laid back time even though he will still be present in the office.
As a result of the lack of control and boring work, many programmers shift jobs in search for new challenges. Even more so, when the organization of the business and the systems, which register the workers and their deeds, are designed in a highly technological industrial manner, with chip cards and all, people search for jobs in smaller companies that are capable of identifying the human being in the worker.