Gerenciando programadores internacionais [fechado]

8

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?

Phil
fonte
2
Os cientistas da computação, recém-formados na Espanha, devem ter um bom nível, após mais de 10 anos de aprendizado. O que faz você pensar que não será capaz de se comunicar?
Llistes Sugra
Por que você não pode contratar trabalhadores internacionais fluentes em inglês (tanto para leitura quanto para gravação)?
precisa saber é o seguinte
os nomes de variáveis ​​em espanhol são tão difíceis de ler?
Ewan
1
@Ewan Ajuda a saber o que significa um nome de variável sem acessar o Google translate. Especialmente em grandes projetos.
23415 Phil
Eu acho que os devs espanhol pensam a mesma coisa
Ewan

Respostas:

9

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.

thorsten müller
fonte
2
+1 que você escreveu antes de mim :-) Pode ser simplesmente uma questão de comunicação. Se eles não foram informados explicitamente durante o processo de inscrição que eles deveriam escrever nomes e comentários em inglês em seu código, eles simplesmente fizeram da maneira que estão acostumados em seu país de origem. Eu fiz o mesmo na universidade, apesar de já ter professado um bom inglês.
Péter Török
+1, eu concordo com @thorsten muller, trabalhei com vários desenvolvedores ucranianos no passado e eles estão entre os melhores programadores e com muito poucos deles eu tive esse problema (mas não com muita frequência). Seguir o rigoroso processo de revisão de código ajudou a mim e a eles também.
1
Eu sou do Brasil e escrevo todo o meu código em inglês, incluindo comentários.
8

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
Eu trabalhei com uma empresa que contratou alguns desenvolvedores russos; eles escreveram todo o código em inglês, conforme necessário, mas todos os comentários foram em russo. Isso tornou a manutenção bastante complicada, tivemos que contratá-los no final.
Gbjbaanb
A documentação do usuário é um problema diferente. A linguagem da documentação (e interface do usuário) depende do mercado alvo. Se o mercado era apenas a Alemanha no passado, é perfeitamente bom ter apenas documentos em alemão. Mas assim que você decidir segmentar outros mercados (por exemplo, países de língua inglesa), precisará traduzir os documentos (e a interface do usuário).
23615 Simon
Ter os nomes das variáveis ​​em um idioma diferente não é diferente de ter todas as variáveis ​​nomeadas a, b, c, d, e etc ... É apenas uma prática ruim e deve ser tratada como tal. Não precisa se preocupar se você expressa e aplica o uso apenas de inglês no código. Além disso, espero que qualquer desenvolvedor decente hoje em dia tenha pelo menos algumas habilidades de leitura / escrita em inglês (mas nenhuma habilidade de falar), pois a maior parte da documentação está disponível apenas em inglês em todos os lugares.
dyesdyes
2

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.

Cruz
fonte
1

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
0

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.

logc
fonte