Question: We're currently hiring for a software engineer position and I've been charged with advancing candidates to the in-person interview stage. We've gotten a number of applications from people who have strong development backgrounds but are recent immigrants from India and China and are very clearly English-as-a-Second-Language speakers, ESL.

We're a really small company and our successful candidate would be the lone developer. In addition to programming, they'll also have to occasionally write content as well as make themselves clearly understood to non-tech people.

As such, I'm leaning towards disqualifying anyone whose English comes across as not being totally fluent. Just a note, I'd disqualify native speakers who wrote poorly as well, but for some reason the fact that most of the applications that would be disqualified on these grounds are non-native speakers feels a little wrong to me.

I'd love for someone to weigh in on the legality of disqualifying obviously ESL applicants.

Answer: 
I am not a lawyer, but I'd say you should make sure that it's not the ESL that's the issue but the ability to write well.

There are plenty of people who can't write intelligible English despite being raised in the UK or US. There are also some/many people who don't speak all that fluently, but may still be able to write well. (I, personally, have a noticeable accent when speaking English and occasionally stumble over words. Hearing me speak, you'd probably know that I'm ESL - but my writing rarely garners that reaction.) So don't focus on whether they're "obviously ESL", instead focus on their written language abilities. 

A lot of places will have some form of programming test for developers. You could just as well have a test of asking them to write the type of documentation you want, and have a non-technical user at your company review it. (If you avoid giving the reviewer any information about the applicant, you are further limiting the risk of accusation of discrimination.)
I'm not sure legal questions are on-topic here. The answer will vary by time and location.

As for the "correct" way to screen candidates in this situation, I'd suggest adding it *very clearly* to the list of requirements and duties, such as:

> 
> * The candidate will have very strong written/spoken English skills, as they will be required to write and create content in English, with little to no supervision.
> 
> 
> 

I don't think anyone could get upset over discrimination in this case as you've clearly stated that in addition to the normal technical nature of programming, the job will also require effective non-technical writing. And there are some ESL students I've seen who probably could meet or exceed your requirements!

Requesting a writing sample (either with the resume or after you've seen their resume and want to test them before an interview), as others have suggested, might also work. You could ask them to do something simple, such as write a brief (no more than 0.5 page) summary of the last movie they saw, or what they did over the weekend. Or if they have a blog where they write, they could provide a link to that.