I'm a small business programmer. I love solving tough problems with Python and PHP. If you like what you're seeing, you should probably follow me here on dev.to and then checkout my blog.
We hired an non-native English speaker as a programmer. We thought it wouldn't be a big deal but we were wrong--it was a big deal. We didn't realize how important English communication skills were until we were working with someone who didn't have them.
We'd ask this programmer to build something and he'd misunderstand and build it incorrectly. And then it would take forever to communicate the problems with his work and get him back on track.
We started getting him to repeat back what he was going to do but he'd still get it wrong more often than we could accept.
I'd get emails from him and I would have to read them five times trying to figure out what he was trying to tell me. All communication with this person took a very long time and had a high rate of misunderstanding.
Naming things is a difficult problem in programming (classes, methods, variables, etc.). And because his vocabulary was so limited, his naming skills were really poor, which made his code difficult to understand.
He was slow at everything because he was working so hard to deal with a second language. And every interaction we with him or his writing (including code) was slow.
I don't know anything about the hiring practices in Silicon Valley. But coding is a kind of writing and I expect that you'll have a difficult time writing quality code in English unless you are fluent in English.
I'm a small business programmer. I love solving tough problems with Python and PHP. If you like what you're seeing, you should probably follow me here on dev.to and then checkout my blog.
We hired an non-native English speaker as a programmer. We thought it wouldn't be a big deal but we were wrong--it was a big deal. We didn't realize how important English communication skills were until we were working with someone who didn't have them.
We'd ask this programmer to build something and he'd misunderstand and build it incorrectly. And then it would take forever to communicate the problems with his work and get him back on track.
We started getting him to repeat back what he was going to do but he'd still get it wrong more often than we could accept.
I'd get emails from him and I would have to read them five times trying to figure out what he was trying to tell me. All communication with this person took a very long time and had a high rate of misunderstanding.
Naming things is a difficult problem in programming (classes, methods, variables, etc.). And because his vocabulary was so limited, his naming skills were really poor, which made his code difficult to understand.
He was slow at everything because he was working so hard to deal with a second language. And every interaction we with him or his writing (including code) was slow.
I don't know anything about the hiring practices in Silicon Valley. But coding is a kind of writing and I expect that you'll have a difficult time writing quality code in English unless you are fluent in English.
Thank you so much for your lucid explanations.
You're welcome.
Good luck to you.