Question: After getting my degree, I joined a software company and have worked there for the past two years. Due to family issues, and my father's declining health, I went back to my native land and was unemployed there for the past three years.

After that I joined as a contract employee at a software company for four years. Now I have a total of six years of experience.

My question: If I search for a new job, will that three-year gap affect my experience and desirability to potential employers?

Thank you!!

Answer: 
You should be prepared to explain where you were and what you were doing during that time. However it seems like the bulk of your experience (four years) is recent and the gap only divides your other two years of employment.

It is common for people to take time for family or health matters. As long as you are honest with the company you apply to you should not be adversely effected.

I once participated in an interview for a software developer who had a eight year gap in their work history but had been back for the last four years. We asked a single question about it and they answered that they wanted to be home while their children were young. That person got the job, no other questions about the gap they had.
As a hiring software manager, this will not affect your desirability. Recent experience is the most important and if you've been working four years at your latest gig you may not even get a question about the gap.

If you do get a question about the gap (potentially just out of curiosity), just answer briefly and honestly. A sense of responsibility is admirable in a candidate. The only reason it would be probed more is if someone gets worried that you'd leave their company if something similar happens - but a) that's an unreasonable fear (all kinds of things come up that cause people to leave employment) and b) if they are worried about that it probably signals a very family-unfriendly work environment (those are out there, in software) and may be a signal to you whether that's a good place to work or not.