Pros
In HCL, work life balance is good and if you are not in wrong project, you can leave early, can have short noticed holidays. They try to mix cultural programs in their office and festivals are an occasion. Good for freshers from local colleges around Delhi and NCR. Some projects are good and in some areas, they have some expertise. Quick actions are taken in Human Resource and company is a decent paymaster for an average IT employee. If you are on bench, you do not worry much about firing as HCL would not fire you. They give you some degree of freedom to choose your project. Some commuting assistance is provided.
Cons
Well there are a lot of cons. First of all, they do not know how to manage a project. Most of the people in the higher management do not know about computer science. One Assistant Manager asked me if to submit my changes in the source code. I did that and after a while he said, he does not see any difference in performance of the application. I asked him if he had compiled the code, he said why would he do that. That is the kind of stupidity you would see. One another instance, I asked my junior to create a class ( a particular need at one time) and write constructor and destructor of it. He literally wrote them down. (void constructor()). In one project, managers forbade us to ask clients regarding the code base they had sent us. So we were always on the dark as to a particular file can do or not do. Thanks to my initial experience it was easy to find the working of APIs. Now if a particular thing is do asked from the client, the whole management tends to feign as if they understood all things but have not understood any. They do not know operations of git. And most of all, higher management can blame programmers for their fallacies.