My query is I am concerned that whether job changes can affect in long run in my career.
Yes it will. You almost all changes one company/one year. Take big projects which are are running more then 1 year, if a project lead is leaving entiring project may suffer, so your new employer may not prefer to take you and they will prefer who can stay for long time atleast for one entire project. Replacing a developer is easy but replacing project lead will take some time which leads slipping dead lines. For you also it is difficult to make your manager and team happy.
I agree that too many changes are never welcome by employers. But, if your reasons for change are really convincing and you can share them during the HR interviews, then it is fine. I too have 5 yrs experience and have changed frequently. This is my 4th job. the details are 1st job- 2 yr, 2nd- 1 yr, 3rd- 6 month, current- 1.5 yr, now I will soon be joining the fifth one. But I have very valid (personal)reasons for leaving the 3rd one and the current job too, which I share with the interviewers. They usually dont take it as a negative then.
I think you have to explain properly. If you do that its okay.
There is a serious shortage of good people in India at the momemt. We are looking for a 5 yr exp server side develepor since long time and we have not been able to get one.
So even though you have changed a few times, but if you are really good and can explain your positions then it does not matter. I have changed 2 companies in 3.5 yrs and would be joining third one in 2 weeks. But I have not faced much problem so far. But I am still at a relatively junior level. Things could be different for tech leads and managers.
GOOD programmers are NOT easy to replace, only code monkeys are. GOOD programmers have more inside knowledge of the system than any project manager, if one of them leaves at a bad moment the entire project might well collapse while if the project manager were to leave it would coast along to completion if the rest of the people were competent.