Por que startups geralmente usam tecnologias novas e corporações não.

Recentemente houve um thread interessante no Facebook perguntando o porque startups usam tecnologias novas e linguagens de programação mais "atuais" e corporações optam por tecnologias já estabelecidas como C# ou Java. Para responder escrevi esse texto. Não existe algo escrito em pedra sobre o assunto e generalizações nem sempre representam a realidade.

Entendendo o lado corporativo

O uso de Java e C# em grandes corporações muitas vezes vem por conta de órgãos reguladores como Banco Central, Anatel e outros órgãos. Muitas vezes tais órgãos regulamentaram o uso de XML para comunicar entre serviços. Logo as linguagens que tem um bom parser e trabalham bem com isso em grandes quantidades ganham preferências e criam sistemas legados nessas empresas.

Outro ponto é a influência que Oracle e Microsoft tem dentro de grandes empresas e acabam fechando contrato de anos que não podem ser quebrado sem multa.

Grandes empresas também precisam lidar com a grande rotatividade e os projetos passam por diversas mãos para serem construídos, já que uma, duas ou até mais consultorias e profissionais podem estar mexendo no mesmo codebase.

Mas existem exceções por exemplo, um banco laranja tem APIs rodando em NodeJS.

As startups de tecnologia

O primeiro de tudo é custo. O custo entra no valor/hora do profissional, uso de licenças, custo de escalar um servidor para muitos usuários simultâneos. Um servidor usando Java, exige um alto poder de processamento e memória, o que não escala tão fácil. C# por exemplo, exige o Visual Studio e o valor licença por máquina não é baixo (a Microsoft tem o BizPark que pode ajudar nisso).

Entender as necessidades da sua aplicação é um fator decisivo na escolha de tecnologias, algumas aplicações não escalam da mesma forma, as vezes temos o tempo de resposta do servidor, o custo de servidor e a velocidade de processamento das informações como necessidades.

Por exemplo, quando se trata de input/output Node.JS vai voar, já Java vai consumir mais memória e processamento. Java consegue processar grandes quantidades de informações de um jeito que o Node.JS não conseguem. (Fica aqui uma dica para fundadores não técnicos, ir só na escolha do programador com argumentos rasos do tipo é o que eu gosto, pode trazer um alto custo a empresa).

Outra questão é que muitas vezes o fundador ou sócio técnico escolhe a tecnologia que ele estiver mais familiarizado, ou que começou a estudar em seu tempo vago e a empresa manter isso ao longo do seu crescimento e reunindo a equipe entorno dessa tecnologia.

Não ter amarras para trocar de tecnologia, serve muito para startups em que redução de custo ou aumento exponencial de baixo custo é a regra. E muitas vezes essas trocas são constantes começando como um tecnologia em um ano e no ano seguinte estar com uma stack completamente diferente.

Mas existem startups que usam Java e até são premiadas por isso, como foi a Beleza na Web que chegou a ganhar uma premiação da comunidade Java.

Isso ajuda a entender um pouco dos cenários envolvidos em grandes empresas ou em startups, nem tudo é uma regra já que as necessidades determinarão as escolhas à curto prazo e longo prazo.

Para quem quiser ver a thread que originou esse artigo, segue o link

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.