While I could exhaustively ask about every aspect of every language you might have to work in, it's far simpler to use a proxy. The proxy in this case is your native language and seems to work rather well. And since your job certainly isn't going to be writing code for 8 hours straight, the ability to communicate well is a good skill to have.
For what it's worth, I use other aspects to proxy fit and ability as well. If you can't bother to clean up before an interview, I have a pretty reasonable idea of how you conduct yourself.
Re: the non-native speaker part. I've had to help a lot of people out over the years on various support channels because someone wrote "then" instead of "than" or "loose" instead of "lose." Since many people seem to be able to read & write in foreign languages but not necessarily speak them, homophones are easily confused. Personally I know enough French & German to follow along with most technical materials, but easily get derailed by misspellings. Is it an idiom I'm unaware of? Is it a word I don't know? Is it some sort of slang?
> The proxy in this case is your native language and seems to work rather well.
No, it does not. The very notion that someone who always uses "its" and "it's" understands const-correctness is ridiculous.
Command over native language doesn't signify programming prowess. You are imagining things or extrapolating your personal anecdotes to absolutes. Please provide citations if it's a proven fact.
> For what it's worth, I use other aspects to proxy fit and ability as well. If you can't bother to clean up before an interview, I have a pretty reasonable idea of how you conduct yourself.
What on earth does cleaning up mean? I shower in the morning. I am not going to take a special shower for you. Whether or not I shave depends on my mood. I don't see how on earth an interview with you should affect my facial hairs. I am not coming in looking like a hobo, and anything beyond that isn't your call at all.
Why the hell people count on metric which doesn't indicate a person's qualities relevant to the job? Whatever the fuck happened to phone screening, checking up open source projects, on-site problem solving, having a conversation, checking up references. Where and why the fuck wearing a suit or taking a grammar test came into picture?
I think someone else pointed it out, it's a cultural affinity test. The shit about grammar indicating code quality is just rationalization for wanting someone who is culturally similar to you - has the same values as you. That is, someone who holds arbitrary things like grammar, facial hair, etc. in the same value as you do.
Some of my coworkers are from India and China. I could make up similar things about how chewing with your mouth open and not wearing deodorant indicates a lack of awareness of manners and means they are unaware of memory leaks and race conditions in their code.
It's on me to come to terms with people chewing with their mouth open, not fire them because of subconscious cultural supremacy issues.
No, it's as I stated initially. If you're unable to keep track of the rules of your native language, something that should be second nature, I have severe doubts about your ability to keep track of the rules in Scala, Ruby, or whatever else. If it's simply that you don't proofread or don't care to, I have no reason to believe you'll do so when dealing with code. That problem is exacerbated in dynamic languages where typos won't be caught until runtime. Both writing natural language and code are forms of expressing ideas, problems, & solutions cogently -- you just have different grammar forms for the various languages, each with their own rules. The two are even merging with things like Cucumber.
No, I don't have exhaustive studies on this. That neither proves nor disproves anything. I never stated any of this beyond my own opinion, which has been formed and reinforced by 15 years of working in open source, running & working at startups, and working at big companies.
That aside, code is typically only part of your job. Documentation, blog posts, interacting with customers, partners, team members, etc. are all part of engineering. You don't have to like it or think it's just, but people do and will form opinions about you on this stuff. Many times it won't be other engineers, which you may be fine with, but engineering alone often doesn't make a successful business. You can disagree with it or be flippant about it, but it really doesn't change reality.
> If it's simply that you don't proofread or don't care to, I have no reason to believe you'll do so when dealing with code.
Really. So all past experience on a person's resume doesn't count toward that? Every other aspect of your interview with that person cannot possibly lend anything to increase your belief that they proofread their code? That is quite irrational.
It's also irrational to assume that because someone doesn't keep track of grammar rules, that they are unable to do so. That's a pretty big mistake of an assumption.
For what it's worth, I use other aspects to proxy fit and ability as well. If you can't bother to clean up before an interview, I have a pretty reasonable idea of how you conduct yourself.
Re: the non-native speaker part. I've had to help a lot of people out over the years on various support channels because someone wrote "then" instead of "than" or "loose" instead of "lose." Since many people seem to be able to read & write in foreign languages but not necessarily speak them, homophones are easily confused. Personally I know enough French & German to follow along with most technical materials, but easily get derailed by misspellings. Is it an idiom I'm unaware of? Is it a word I don't know? Is it some sort of slang?