"Pourriez-vous s'il vous plaît répéter la question?" said Andre, head developer. His voice was garbled over a VoIP connection. "My English ... not great."
Yvonne sighed. She was the project manager of MetaPortal, the creatively named flagship product of MetaCortex. "Why is there no email validation for the signup form?" Yvonne repeated, speaking slowly and clearly.
"Email already required," Andre replied. "What more validation do you need?"
Yvonne lamented forgetting so much of her high school French that she couldn't say "regular expressions."
This call with Andre was the last in a dozen late-night conferences with the temperamental, but always polite, programmer, who lived in Normandy. In fact, his entire team was composed of four different nationalities and spoke three different languages. Yvonne, along with the executives of MetaCortex, worked in New York.
Yvonne tried again. "Regular expressions. Can you add a regular expression to the email validation? Right now someone can type 'merde' for their address and the form accepts it."
Andre chuckled. "Ah, make the email straight. No more 'merde' emails."
"That should do it for this sprint," Yvonne said, relieved.
Garbled Transmissions
Despite the linguistic difficulties, Andre and his team met their deadline, and the code for MetaPortal 1.9.11 was released the following Tuesday. Yvonne, exhausted from all those late-night conference calls, took a nap in her apartment that afternoon. She awoke the next morning to a banging at her door.
"Yvonne?" It was Charles, the head of Customer Service. "Are you alive?"
"Yes," she mumbled. She had slept close to 18 hours, she noticed. "Is something wrong?"
"We had to roll back 1.9.11. A bunch of users couldn't log into MetaPortal."
Yvonne washed her face and followed Charles back to the office. He showed her a list of thousands of angry emails from customers unable to log into their accounts. "They started the moment the code was pushed up to production."
"Merde," Yvonne said. "I'll get Andre on the horn."
Lost in Google Translate
"I do not understand, it works on my computer." Andre sounded confused and tired over the VoIP connection. "You say no one can sign up in France?"
"Some can, most can't. Some can't sign up in the US. Half can in Germany, most can't in Japan, most can in Australia. Almost everyone can in the UK. We're still trying to find commonalities."
"I do not think I can triage," Andre said. "I do not live outside of France."
"I've got some interns playing around with it," Charles said. "Maybe it's just a matter of enough monkeys banging enough keyboards at this point."
Yvonne got coffee from the vending machine downstairs while Charles and his team looked at the issue. It's not regional, not exactly. It should be uniform if it were, say, an issue with a national firewall. So why is the UK the one country where it's not a problem? What's very common in England, a bit less common in the US and Australia, and not common at all elsewhere?
Merde! She headed back for Charles' desk.
Lost in Google Translate
"It only works in English." Charles pointed to his computer as she found him. "Something goes wrong when a user selects another language."
"I think I know why," Yvonne said. "May I?" She pointed to his computer.
He nodded. Yvonne opened the MetaPortal login page in a new browser window. "We use an automated translation service to localize much of our content. When the session is in English, nothing is translated ... but when I switch it to something else, like our friend Andre's native French, much of the output gets processed in the translation API. Did your monkeys try switching languages before?"
"Not before now," Charles said.
"Okay, watch this." Yvonne typed her account info into the login screen and hit submit. The browser showed an error icon. Yvonne opened the Inspector window. "'pour
is not a valid keyword.'"
"I'll be..." Charles said. He took the mouse from Yvonne and viewed the page source. Where they expected to see:
for (var i = 1; i < a.length; i++) {
Was instead:
pour (var i = 1; i < a.length; i++) {
"I'll tell Andre to add an exception to the translation API. It should always skip embedded JavaScript code. How can I say that in French so he understands perfectly?"
"Developers and management already speak different languages," Charles said, "even if they both speak English."