A Guerra das linguagens

16/03/2016
A Guerra das linguagens

Praticamente todos os dias vejo pessoas se digladiando sobre qual linguagem preferem, que a sua escolha é a melhor e que as outras são mais fracas. Todos tem ótimos argumentos do motivo pelo qual a sua escolha seria a escolha mais evidente para todos. Esse posicionamento forte tem vantagens e desvantagens quando se trata de um time de desenvolvimento.

Vantagens

Avaliação de pontos fortes e fracos de cada linguagem

É evidente que estas discussões podem e vão evidenciar os diferenciais que cada linguagem possui. Evangelistas de cada tecnologia acabam por expor um comparativo detalhado baseado em dados e benchmarks.

Isso permite ao time como um todo adquirir conhecimento extra sobre os temas.

Falar é uma necessidade, escutar é uma arte

Johann Goethe

Desvantagens

Solução em segundo plano.

Normalmente a explanação dos evangelistas não está direcionada a solucionar um problema ou identificar se suas vantagens são parte dos requisitos da solução que está sendo avaliada.

O time sempre tem que ter o foco de entregar um software com qualidade, ou seja, a solução é mais importante que os gostos pessoais envolvidos na solução.

Impactos no relacionamento do time.

É fato que quando existe uma discussão entre dois evangelistas de tecnologias concorrentes o clima costuma não se manter em uma estrutura de diálogo. Os ânimos se exaltam quando alguém percebe que, por algum motivo, o outro está vencendo a disputa ou que seus argumentos não serão suficientes para convencer a maior parte da equipe.

O time fica dividido e o relacionamento entre as pessoas fica abalado. Na melhor das hipóteses, o lado mais fraco ficará inibido em argumentar em um outro momento ou ficará desestimulado em participar ativamente de definições futuras.

Olhos fechados para o novo.

Nem sempre as discussões são sobre novas tecnologias, na verdade, diversas vezes a discussão ocorre envolvendo tecnologias já estabelecidas que já adquiriram adeptos fortes. Isso só corrobora com a visão de que estas discussões não geram um resultado final.

O mundo de tecnologia possui cada vez mais novas tecnologias e frameworks nascendo e morrendo em todas as linguagens de programação. Cada uma tentando resolver um problema.

Não é difícil entender que fixar a visão sobre a perspectiva técnica não vai fomentar que as pessoas procurem por novas soluções para resolver os requisitos do cliente e da solução.

O progresso é impossível sem mudança; e aqueles que não conseguem mudar as suas mentes não conseguem mudar nada.

George Bernard Shaw

Débito técnico antes do começo.

Se o vencedor ganhar pela melhor argumentação sobre a superioridade técnica de sua tecnologia sem olhar o que se espera da solução é fácil perceber que o desenvolvimento vai iniciar já com débitos técnicos referentes à solução e é ainda mais crítico quando percebemos que uma escolha equivocada no início vai gerar grandes re-trabalhos ou ainda inviabilizar a entrega de valor.

Conclusão

Ter uma opinião sobre uma tecnologia é algo de extrema importância para todo profissional envolvido com o desenvolvimento de soluções mas, tão importante quanto, é entender que os conceitos ágeis também se aplicam nesse momento e que ter a mente aberta ao diferente é essencial para entregar software com qualidade.

Alguns líderes escolhem o caminho mais fácil tentando contratar um time inteiro com a mesma “base” técnica. Se esse for o único ponto de apoio para a seleção do time vai existir muito mais trabalho para implantar uma cultura ágil do que o contrário (contratar um pensamento ágil e permitir que os bons técnicos evoluam em novas tecnologias). Mas isso é assunto para outro post.

Quem ganha a guerra?

Como sempre… NINGUÉM. Mas tenho certeza que existe um maior perdedor:

O cliente!

Lembre-se que: Não existe panacéia tecnológica.