Hi Avneesh - I'm looking to hire remote developers in India. Please email me at mark.mclaren@mclarencollege.in or add your email address to your HN profile.

To answer your question: I see a lot of Indian CVs that are just filled with buzzwords. When I see "J2EE certification" I get a sense that the person is not really passionate about the technology and is simply writing a CV that they think has the best chance to pass the HR filter at TCS

Amazingly, I also see a lot of job applications where there is only a one-line description for each job they did. Tell me what tools and technologies you used for each job, and how strong did your skill become in that technology. Tell me what you liked and didn't like.

I like it when an applicant is honest about where they do not match my requirements. It's good to say, "I don't have any professional Dart experience, but I've written this simple app and from what I've read it's pretty similar to Javascript and I have done plenty of Javascript". It shows me that you have thought about my requirements and aren't simply trying to bullshit me.

I love it when you have done programming outside your job. That includes completing MOOCs or writing interesting blog posts about programming (as you have done!). You should have a portfolio of interesting projects you have done - even better if I can download an app or go to an actual website in addition to seeing the code on GitHub.

I hate it when I'm interviewing someone and I'm not sure that they understood what I said. If you get to a Skype/Zoom interview with your potential manager do everything you can to ensure that there is smooth communication. Do not use a cheap laptop - get a fast computer with plenty of memory. Reboot it before the interview and do not have unnecessary applications running. Use a microphone that sits in front of your mouth like those Apple earpods, test your ping, upload and download connection speeds. When the interviewer is talking and you can understand them, nod your head and say 'ok' or 'uh-huh'. If you can't understand what they said, tell them - don't try to cover it up.

More broadly, the main reasons people in the US avoid directly hiring Indian programmers remotely is:

(a) Being a software engineer is the 'golden ticket' to a better life much more in Indian than the US, and this means every man and his dog wants an IT job in India. So you end up with a lot of people trying who have no passion or interest in programming. This means a recruiter has to wade through a lot of poor-quality candidates before finding someone who can even do FizzBuzz. Kind of related is that a lot of the cheapest software development for US companies is done by Indians - either outsourced to Infosys/TCS or using H1B visas in-house - so there is a subconscious bias against Indians (and occasionally more overt prejudice).

(b) India is in just about the worst timezone for US companies, especially on the US west cost - when you are working they are sleeping and vice-versa. You will probably get more interest if you state you are prepared to work at least 4 hours at night - say from 9pm to 1am IST.

(c) US companies are worried that you will steal their intellectual property. This is true to some extent of any remote employee, but particularly with a country where it is very difficult to take someone to court for breach of contract.

(d) More generally it's simply easier from a legal perspective for US companies to hire people in the US. You may have a better chance by offering an initial 1- or 2-month contract to the US company, with the understanding that at the end of the contract they will either walk away or hire you on a full-time basis.

(e) Indian accents can be hard to understand to western ears - a short video of you talking about your latest personal project is very helpful in this regard, and also as a general 'sales pitch'. Spend time to make a quality video and put it on YouTube. Here's a good example, although you should also include a talking-to-camera clip:
https://www.youtube.com/watch?v=-AexrSP9uY0

(f) There are cultural differences that reflect poorly on Indians, particularly around not wanting to look bad. For example it seems Indians are very reluctant to say "we're behind on this task and will not finish by Tuesday" or "I don't understand your second point - are you saying that the user shouldn't see it until they are logged in?" or "Wait, I've never heard of RabbitMQ - what's that?"

(g) I think many managers are worried their remote staff will 'slack off' and not work the hours they are supposed to. And to be honest I can't blame them - I myself find it difficult to maintain focus when I'm working from home. Maybe it would help your chances of being hired to say to your potential boss, "Every minute that I'm working I will record my webcam and screen in a Zoom meeting which you can review in real time or later"