Meu chefe voltou recentemente ao nosso escritório internacional em seu país para entrevistar alguns novos funcionários em potencial e decidimos contratar alguns como programadores. Eles acabaram de sair da faculdade e têm uma experiência muito limitada (semelhante a mim quando comecei a trabalhar aqui). Foi-me dito que eles sabem ler em inglês, mas observei o código que eles escreveram como parte do processo de inscrição e todos os nomes de variáveis, nomes de métodos, comentários etc. estão em espanhol. Estou com dúvidas de que eles possam escrever inglês. Ouvi dizer que eles são aprendizes, portanto, talvez eles possam aprender com o tempo, enquanto lhes damos pequenos projetos de treinamento.
Trabalharei com eles de perto, ajudando-os a aprender bons princípios de design e outras coisas, e chegarei ao ponto em que estou produzindo código com eles.
Alguém já lidou com esse tipo de situação e terminou bem? Que tipo de armadilhas devo procurar? Que tipos de ferramentas você conhece que podem ajudar na colaboração e treinamento internacionais?
fonte
Respostas:
O fato de os nomes das variáveis estarem no idioma nativo pode não ter absolutamente nada a ver com a capacidade de escrever e entender o inglês. Na verdade, esse é um hábito bastante comum (embora feio) em muitos países (se não na maioria). Sou alemão e já vi isso com bastante frequência. Exceções são pessoas que trabalham em grandes empresas internacionais.
Pelo menos na Alemanha (de onde eu venho), você pode esperar que os alunos falem inglês pelo menos o suficiente para criar nomes úteis para variáveis, entender documentação técnica e similares. Escrever documentação complexa pode ser outro problema.
Mas lembre-se desde o início que, pelo menos na base de código, você não aceita nada além de inglês. Afinal, mesmo que não o conheçam o suficiente, devem poder usar um dicionário.
fonte
Eu recomendaria parar de ser legal e recrutar apenas aqueles que são capazes de escrever inglês agora .
É praticamente um requisito básico para programadores (segundo depois de poder programar), caso contrário, você acaba com uma massa de código exótico.
Você também não pode pegá-los agora e confiar que eles aprenderão inglês, pois você precisa dessas habilidades imediatamente.
Ajuste seu processo de recrutamento. Emita todas as tarefas em inglês, exija apenas a redação do código em inglês e peça para explicar detalhes específicos da programação em inglês. As habilidades gerais de comunicação podem ser baixas sem exposição prévia a um ambiente de língua inglesa, mas esse conjunto restrito que lida com problemas de programação deve estar presente.
Ou você terá que aprender espanhol. :)
Escreva / converse com o chefe imediatamente antes que seja tarde demais e demonstre que é necessário ter habilidades em inglês. Não porque você deseja, mas por causa da experiência no setor . Atualmente, espera-se que qualquer código seja assumido por outra equipe em outro lugar e, se não estiver em inglês, será uma longa curva de aprendizado para os outros desenvolvedores acompanharem ou realizarem a refatoração de código em larga escala para torná-lo compreensível. Tudo vai custar tempo e dinheiro.
PS: Uma história interessante que ouvi. Havia alguma ferramenta interna ou algo escrito em um departamento alemão da SAP. Quando foi transferido para a divisão dos EUA, ficou meio que na gaveta, porque ninguém conseguia ler a documentação. Até alguns estudantes da Alemanha foram para um estágio e seguirem com essa ferramenta.
fonte
Se você realmente está preso a isso (e espero que não esteja), é importante estabelecer regras escritas de controle de qualidade, comunicá-las à sua equipe e aplicá-las sem piedade .
Por exemplo, eu estabeleceria que todos os nomes de variáveis, comentários e outros artefatos devem estar em inglês. Comunique isso ao dar atribuições, ao revisar atribuições e rejeite de imediato qualquer que não atenda aos requisitos.
Como esses são novos programadores, você também deve ter uma lista firme de outras regras de controle de qualidade nas quais elas são revisadas. Eu colocaria ênfase específica na nomeação, considerando a diferença de idioma.
fonte
Sou muito fluente em inglês e espanhol, mas quase sempre nomeio minhas variáveis em espanhol, pois há uma chance maior de que elas não sejam uma palavra-chave. Dito isto, asseguro-me de que os comentários do código estejam em inglês, caso possamos vender nossa empresa e alguém
Portanto, sim, certifique-se de que eles ou seus supervisores possam escrever em inglês ou você terá algo documentado em outro idioma.
fonte
Alguém já lidou com esse tipo de situação?
Sim, não é incomum nas grandes empresas e provavelmente mais na Europa do que nos EUA, porque aqui a mobilidade dos trabalhadores e a heterogeneidade da cultura são altas.
Terminou bem?
Sim, porque não? Você precisa chegar a um acordo sobre qual idioma é a sua língua franca e garantir que todos entendam que nenhuma parte do código pode ser escrita em qualquer outro idioma. Algumas pessoas tendem a entender que comentários, ou variáveis locais, são seu território pessoal. Este é um mau hábito, independentemente do cenário internacional.
Que tipo de armadilhas devo procurar?
Eu acho que o pior problema que você enfrentará é que você tem um grupo compacto de pessoas vindas do mesmo país, e não uma única pessoa ou um conjunto de indivíduos de diferentes países. Certifique-se de que eles funcionem em projetos diferentes, pelo menos no começo, porque há uma tendência muito forte de se comunicar com as pessoas em seu idioma nativo, se você puder. Leva algum tempo para se acostumar a conversar ou escrever com eles em outro idioma; mas você se acostuma com isso também.
Como mencionado acima, algumas pessoas consideram comentários como suas "notas pessoais" ou variáveis locais como sua "notação" ... Entender que isso não é verdade é apenas mais uma parte de se tornar um programador maduro.
Outro ponto sutil é que trabalhar fora da linguagem-mãe limita seu vocabulário , e nomear coisas é uma das coisas mais difíceis da programação . Dê a seus recém-chegados um dicionário de sinônimos e um ou dois tutoriais sobre como nomear entidades de software.
Que tipos de ferramentas você conhece que podem ajudar na colaboração e treinamento internacionais?
Eu estava prestes a escrever "álcool", mas como não quero terminar com tanta falta de seriedade, direi que "humor" é provavelmente a melhor ferramenta que você pode ter para preencher a lacuna de comunicação. Faça algumas piadas sobre você não entender o espanhol e talvez como os idiomas soem para os estrangeiros . Exiba apenas a Inquisição em Espanhol se você estiver escrevendo Python.
fonte