Existe um velho ditado que se aplica a todo desenvolvedor de software: quanto mais você sabe, mais você cresce. E isso também se aplica às empresas para as quais trabalham.
Para competir, as empresas atuais devem ser ágeis. Simplesmente não há como evitar isso. As empresas devem ser capazes de girar rapidamente. Caso contrário, a concorrência irá deixá-los comendo poeira. Mas não se trata apenas de concorrência com outras empresas. A tecnologia está em constante estado de evolução. Já se foi o tempo em que sua empresa poderia simplesmente implantar aplicativos padrão baseados em cliente e pronto.
Agora você precisa de aplicativos web, aplicativos móveis, contêineres escaláveis, IoT, computação de ponta, Big Data – cada um dos quais requer habilidades especiais. Sem essa flexibilidade, sua empresa não consegue se adaptar. Se você não consegue se adaptar, não terá sucesso.
Para obter qualquer nível de agilidade, você precisa de programadores capazes de criar o software necessário para estender seu back-end e os serviços que você oferece. Você pode pensar que tudo o que precisa fazer é contratar engenheiros de software que sejam proficientes em Javaou JavaScriptou Phytonou Rubiou .LÍQUIDO. A verdade, porém, é que você precisará de mais de um idioma para realizar o trabalho.
Por causa disso, você provavelmente presume que precisará contratar uma equipe de desenvolvedores Java, uma equipe de desenvolvedores JavaScript, uma equipe de desenvolvedores Python, uma equipe de desenvolvedores Ruby e uma equipe de desenvolvedores .NET. Essa seria certamente uma abordagem.
Ou você pode incentivar seus programadores a ampliar suas habilidades além de um único idioma. Por que você gostaria de fazer isso? Contratar um mestre em um único idioma não seria uma abordagem mais produtiva do que contratar um engenheiro com menor domínio, mas em vários idiomas?
Mas e o programador que tem um alto grau de compreensão de uma linguagem, mas também conhece outras linguagens? Vamos dar uma olhada em como ter programadores poliglotas (programadores que conhecem mais de uma linguagem) pode beneficiar sua empresa.
Potencial de ganhos
Isso pode parecer um pouco contra-intuitivo. Afinal, estamos falando dos programadores que você contrata para sua empresa. Por que você encorajaria seus engenheiros a fazer algo que os tornaria contratações mais atraentes para outras empresas?
A resposta é simples: ter os melhores programadores permite atrair novos clientes ou ampliar seus serviços. Você pode contratar novos programadores adequados ou pode expandir o potencial de ganhos de seus engenheiros atuais. Onde está o benefício nisso? Claro, você pode acabar tendo que oferecer aumentos salariais a esses desenvolvedores, mas isso mostra que você está mais do que disposto a investir neles.
Portanto, não apenas incentive sua equipe atual a expandir suas habilidades, mas esteja disposto a ajudar a pagar por esse treinamento. Cada vez que você investe nesses funcionários, você aumenta a lealdade deles para com você. A vantagem aqui é que eles podem, por sua vez, fazer mais pela sua empresa.
Mais habilidade = mais opções
Seu CTO pode estar ansioso para mergulhar no domínio do Kubernetes e dos contêineres. Se você não tiver desenvolvedores com essas habilidades, não terá sucesso nessa tarefa desafiadora. Você pode contratar um desenvolvedor com essa habilidade ou treinar seus desenvolvedores atuais para a tarefa. À medida que esses desenvolvedores aumentam seu conjunto de habilidades, sua empresa terá mais opções e poderá aprimorar sua tecnologia muito além do seu status atual.
Se você não incentivar seus programadores a ampliarem suas habilidades, seu negócio ficará preso em uma rotina, e isso não é lugar para nenhuma empresa agora. Na verdade, à medida que a tecnologia continua a avançar, torna-se cada vez mais complexa. Seus desenvolvedores são obrigados a juntar peças que não eram necessárias anteriormente. Você está lidando com diferentes APIs com diferentes requisitos e diferentes linguagens, estruturas para construir vários tipos de aplicativos. Com apenas uma linguagem sob controle, esses desenvolvedores terão dificuldade para fazer as coisas acontecerem.
Idiomas vêm e vão
Esta é uma realidade difícil de enfrentar. Uma linguagem de programação pode estar na moda em um minuto e não ser mais usada no minuto seguinte. Se você tiver um engenheiro de software que seja vítima disso, ele poderá rapidamente se tornar irrelevante e inutilizável. Você não quer isso.
Em vez disso, você quer programadores que não sejam apenas preparados para o futuro contra as modas, mas que também sejam capazes de se adaptar e aprender novas linguagens rapidamente. Com uma equipe de programadores que podem fazer essas mudanças, não há nada que sua empresa não possa fazer.
Reputação, reputação, reputação
Se sua empresa terceiriza programação para outros negócios, você quer ser conhecido como uma empresa que pode fazer qualquer coisa. Se você for rotulado como um pônei de um truque, não apenas perderá negócios, mas também terá problemas para conquistar novos clientes.
No entanto, se os clientes virem você como uma empresa capaz de ter sucesso em qualquer tarefa, seu negócio crescerá. Com programadores que expandiram suas habilidades além de um único idioma, você pode apostar que a reputação da sua empresa servirá como um farol para conduzir os clientes em sua direção.
Solução de problemas e fundamentos
Se seus programadores conhecerem apenas uma linguagem, eles poderão ter problemas para resolver todos os problemas que surgirem. Dada a rapidez com que as empresas evoluem agora e o quão desafiadoras se tornaram as tecnologias que as impulsionam, você pode apostar que os obstáculos que seus engenheiros enfrentarão podem ser desafiadores. Quando você contrata programadores que conhecem mais de uma linguagem ou incentiva seus engenheiros de software a ampliar suas habilidades, a capacidade de solucionar problemas cada vez mais complexos aumenta muito.
Você quer programadores que sejam capazes de abordar um problema de vários ângulos, não apenas de um. Com isso implementado, você pode ter certeza de que o problema não apenas será resolvido, mas também de maneira oportuna e confiável.
Além disso, cada vez que um programador aprende uma nova linguagem, ele reforça os fundamentos, o que significa que estará mais apto a resolver os problemas em questão.
Conclusão
Há um velho ditado que se aplica aqui: quanto mais você sabe, mais você cresce. A cada idioma que seus engenheiros aprendem, não apenas suas habilidades aumentam, mas a possibilidade de crescimento de sua empresa aumenta exponencialmente. Portanto, incentive seus programadores a diversificarem-se com novas linguagens. Este é o melhor ganha-ganha que você encontrará.
Fonte: BairesDev