Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My boss recently went back to our international office in his home country to interview some potential new employees, and we have decided to hire a few as programmers. They are fresh out of college and have very limited experience (similar to me when I first started working here). I am told they are able to read English, however I looked at the code they wrote as a part of the application process and all their variable names, method names, comments, etc are in Spanish. I am having doubts that they have any ability to write English. I hear they are learners though, so maybe they can learn over time as we give them small training projects.

I will be working with them closely, helping them learn good design principles and other things, and I will eventually get to the point where I am producing code with them.

Has anyone dealt with this sort of situation and had it end well? What kind of pitfalls should I look out for? What kinds of tools do you know of that can assist in international collaboration and training?

share|improve this question
1  
Computer scientists, fresh from college in Spain, should have a good level, after more than 10 years of learning. What makes you think you won't be able to communicate? –  Llistes Sugra Jan 27 '11 at 16:17
    
Why can't you hire international workers who are fluent in English (both read & write)? –  Fanatic23 Jan 27 '11 at 16:19
add comment

4 Answers 4

The fact that variable names are in their native language may have absolutely nothing to do with their ability to write and understand English. Actually that's rather common (though ugly) habit in many (if not most) countries. I'm German and have seen this often enough. Exceptions are people who work in large international companies.

At least in Germany (where I come from) you can expect students to speak English at least good enough to make up useful names for variables, understand technical documentation and similar. Writing complex documentation may be another issue.

But make a strong point from the beginning, that at least within the code base you don't accept anything but English. After all, even if they don't know it good enough, they should be able to use a dictionary.

share|improve this answer
2  
+1 you wrote it before me :-) It may simply be a matter of communication. If they weren't explicitly told during the application process that they are expected to write English names and comments in their code, they simply did it the way they are accustomed to in their home country. I did the same back at the university, even though I already professed good English then. –  Péter Török Jan 27 '11 at 15:55
    
+1 , I agree with @thorsten muller, I worked with several Ukrainian developers in the past and they are among the best programmers and with very few of them I had this problem (but not quite often). Following strict Code Review process helped me and them as well. –  NinjaCoder Jan 27 '11 at 17:00
    
I am from Brazil, and I write all my code in english, including comments. –  user1827 Jan 27 '11 at 19:43
add comment

I'd recommend stop being nice and recruit only those who are able to write English now.

It's pretty much a basic requirement for programmers (second after being able to program), otherwise you end up with a mass of exotic code.

You also can't take them now and trust they will learn English as you need those skills immediately.

Adjust your recruitment process. Issue all tasks in English, require writing only English code and ask to explain programming-specific details in English. General communication skills might be low without prior exposure to an English-speaking environment, but that narrow set that deals with programming problems should be there.

Or you'll have to learn Spanish. :)


Write/talk to the boss immediately before it's too late and make a strong case English skills are required. Not because you want it but because of the industry experience. Nowadays any code can be expected to be taken over by another team elsewhere and if it's not in English, then it will be a long learning curve for the other developers to catch up or perform code refactoring on a large scale to simply make it understandable. It will all cost time and money.

P.S. An interesting story I heard. There was some internal tool or something written in a German department of SAP. When it was transferred to the US division it was sort of left lying in the drawer because nobody could read the documentation. Until a few students from Germany went there for an internship and got on with that tool.

share|improve this answer
add comment

If you really are stuck with this (and I hope you're not), it's important to establish written QA rules, communicate them to your team, and enforce them ruthlessly.

For example, I would establish that all variable names, comments, and other artifacts must be in English. Communicate that when giving assignments, when reviewing assignments, and reject out of hand any that does not meet the requirements.

Given that these are new programmers, you should also have a firm list of other QA rules they are reviewed on. I would put specific emphasis on naming, considering the language gap.

share|improve this answer
add comment

I am very fluent in both English and Spanish but almost always name my variables in Spanish since there's a higher chance they won't be a keyword. Having said that, I make sure that code comments are in English in case we ever sell our company and somebody

So yes, make sure beforehand that they or their supervisors can write in English or you will end up with something documented in another language.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.