Há uma grande ansiedade entre os profissionais que trabalham no desenvolvimento de softwares atualmente. Aparentemente, inúmeras “novas tecnologias” precisam ser estudadas o tempo todo, sob o risco do profissional da área tornar-se tão obsoleto quanto hoje parecem os computadores de 20 anos atrás. Muitas das “novidades” são, na realidade, apenas novas implementações de ideias que já existem há tempos. As atividades básicas da área de computação, que são as de armazenar, recuperar e processar dados seguem basicamente o mesmo modelo, desde a “Máquina de Turing”. A estas, devido à incapacidade prática de se ter um único computador universal, juntou-se a atividade de transmitir dados, o que faz com que muitos aplicativos atuais estejam mais próximos à área da telecomunicação do que dos algoritmos da área de computação.
Os ciclos na área de software são evidentes para aqueles que se lembram das citadas atividades básicas da área de computação. Armazenar e recuperar dados sofrem dois impactos da tecnologia: na quantidade e velocidade de transferência de dados dentro de um computador. O impacto do aumento da capacidade de barramentos internos é visível nos aplicativos. Aqueles que antes apresentavam uma lista de nomes de filmes podem atualmente permitir ao usuário navegar por meio dos “trailers” dos mesmos filmes, exibidos interativamente. Por outro lado, o maior poder de armazenamento local leva a problemas de segurança e validação dos dados. Após os computadores pessoais trazerem a maioria dos dados para a mesa dos usuários, seguiu-se um ciclo em que os mesmos dados retornaram a servidores centralizados, sendo acessados via web. As limitações da transmissão de dados entre o “cliente” e o “servidor web” levaram ao uso crescente de “caches” locais para armazenar os dados acessados frequentemente. Contudo, dados importantes não podem estar apenas em um dispositivo local, sujeito a falhas, e a nova tendência é replicar tais dados na chamada “nuvem”. Os dados centralizados podem ser continuamente processados, criando-se novos dados, que vão de índices para facilitar buscas a novas informações importantes para a “inteligência dos negócios”.
A uma pequena parte dos profissionais de software, cabe a tarefa de desenvolver ou adaptar algoritmos para resolver os problemas de cada novo ciclo tecnológico. Armazenar grandes quantidades de dados em uma “nuvem” exige segurança na transmissão, assim como um perfeito controle de acesso, além de mecanismos que garantam a qualidade de serviço para os aplicativos que usem tais dados. Aos Cientistas da Computação cabe a tarefa de modelar tais sistemas, provando sua correção. Assim como na área da Medicina, onde um número pequeno de cientistas trabalha na pesquisa de novos medicamentos a serem utilizadas por milhares de médicos no tratamento de seus pacientes, a área de software depende cada vez mais dos profissionais da “Tecnologia da Informação”. Para ser útil aos consumidores, a Informática, assim como a Medicina, precisa do profissional próximo ao cliente, que possa indicar-lhe a melhor solução para o seu problema. Evidentemente, este profissional está sujeito às pressões do mundo dos negócios. Toda solução na área da Informática está sujeita não apenas a fatores referentes à melhor solução computacional, mas, também, a fatores oriundos de restrições comerciais e da necessidade de clientes e fornecedores de seguirem uma das estratégias possíveis para cada negociação: a busca do menor custo ou a melhor diferenciação.
O profissional de software deve evitar o pânico diante dos muitos modismos introduzidos constantemente nas soluções de Informática e focar sempre em como reutilizar seu conhecimento dos princípios básicos da área. A Ciência da Computação é uma ciência exata, mas a Informática é um negócio. O que uma solução da área entrega ao cliente não deve ser apenas um conjunto de hardware e software, mas um aumento de produtividade ou uma fonte de entretenimento, como no caso de jogos, vídeos etc. Atuando eticamente, tanto os Cientistas da Computação quanto os Tecnólogos da Informação terão muito ainda a oferecer àquela que é a parte mais importante de todo o ciclo de soluções: o cliente.
Alisson Sol Gerente de Inovação da Microsoft Research Microsoft Corporation