Aprenda a programar em 2012!

Programar computadores está se tornando uma coisa cada vez mais popular, mas software ainda é uma das tecnologias mais poderosas e mais mal entendidas pelos negócios.

Manoel Lemos
Futuro Agora
4 min readAug 18, 2017

--

No começo deste ano a startup CodeAcademy lançou um projeto diferente, uma chamada geral para que as pessoas aprendam a programar computadores. É a iniciativa Code Year, ou Ano do Código (ou da programação). A coisa ficou tão interessante que gente famosa e importante como o Prefeito de Nova York, Michael Bloomberg, andou tuitando que uma de suas resoluções para 2012 era aprender a programar. E já são mais de 340 mil pessoas participando da iniciativa!

Mas porque aprender a programar pode ser algo tão interessante? Para isto precisamos entender porque os programas de computador são tão importantes hoje em dia. Ou como gostamos de chamar, o software.

Com a crescente digitalização de nossas vidas, estamos cada vez mais rodeados de programas de computador. É possível dizer que qualquer dispositivo eletrônico atual possui algum tipo de software embarcado para que ele possa funcionar. Se o hardware é o corpo de um dispositivo, com sua estrutura física, sua força mecânica, sua aparência e seus sentidos, ou melhor, sensores. O software é a consciência, a inteligência e a alma do mesmo. Um computador sem software é apenas um amontoado de componentes eletrônicos numa carcaça de metal e plástico.

Gosto de pensar que software nada mais é do que inteligência codificada e armazenada na forma de código de computador. Isto por si só já é super poderoso. Seja o software embarcado de um tocador de MP3 ou um marca-passo, seja uma aplicação de engenharia rodando em uma estação de trabalho ou um aplicativo social em um smartphone, o software é o resultado de centenas ou milhares de horas de pensamento de especialistas em cada assunto condensadas e empacotadas de modo a serem consumidas por não programadores. É a inteligência de um grupo sendo compartilhada de forma eletrônica. Além de armazenar inteligência na forma de código, também podemos fazer ela chegar a qualquer lugar do planeta de forma quase que imediata através da Internet. E isto é incrivelmente transformador.

Outra característica que faz do software algo tão valioso é que ele é flexível por natureza e isto faz com que coisas sólidas, como um circuito eletrônico, sejam igualmente flexíveis. Se é o software que determina a maior parte do comportamento de um circuito digital moderno, basta alterar o software para termos o mesmo circuito realizando atividades completamente diferentes. Ao fazermos o upgrade do firmware de um controlador Wi-Fi podemos suportar um novo protocolo e velocidades mais altas. O update de um tocador de mídia digital por fazê-lo suportar novos formatos de arquivo ou melhorar a qualidade do som. E um novo app em nosso telefone celular traz funcionalidades que nem mesmo o criador do aparelho chegou a imaginar. Isto sem falar na possibilidade de fazer correções sem tocar o dispositivo.

Mas se o software é tão poderoso, por que que muitas empresas olham para ele como uma atividade secundária ou simplesmente como uma fonte de custos para resolver problemas burocráticos?

A razão é que normalmente as empresas que não são diretamente ligadas a tecnologia da informação enxergam software apenas como uma ferramenta para suas atividades, quase como um mal necessário. E por este tipo de visão, o primeiro pensamento é relacionado aos custos e à memória emocional de uma série de problemas em outras experiências de aquisição, desenvolvimento e implantação de sistemas. Deste modo fica muito difícil ter o software inserido no contexto dos negócios de modo a se extrair o maior valor possível dele.

No extremo oposto, empresas que enxergaram que software é na realidade uma parte fundamental do negócio mudaram a maneira de trabalhar com ele. Elas entenderam que software é uma das principais fontes de eficiência na produção, criação de vantagens competitivas sustentáveis e de inovação. E isto se aplica a qualquer indústria. Seja em exemplos mais óbvios como na integração da operação através de dispositivos móveis e sistemas de geolocalização para aumentar a eficiência de uma operação logística ou seja na utilização de sistemas especialistas para avaliar o mercado de ações. Ou em outros nem tão óbvios como a utilização de técnicas de linguística computacional e aprendizagem de máquina para dar escala e agilidade a monitoração de comentários de usuário em um website ou a utilização de algoritmos bioinspirados para a simulação de reservas de petróleo em tempo hábil.

Porém, a maior parte destes sistemas ou não está disponível na forma de pacotes de prateleira e, por isto, precisam ser desenvolvidos sob demanda; ou requerem um trabalho pesado de customização. Além disto, como as necessidades dos negócios estão em constante modificação e a tecnologia também evolui a passos largos, quase sempre é necessário que o trabalho com software seja um trabalho de evolução contínua. Deixar de desenvolver é perder a corrida para a concorrência. Porém as empresas do primeiro grupo não o fazem, por não entenderem que esta é a mecânica do jogo.

Pensem na Internet. Um site da Internet nada mais é que um conjunto de sistemas desenhados para oferecer aquele serviço a seus usuários da maneira mais eficiente possível. Porém, ao se colocar uma nova funcionalidade no ar, basta alguns dias para que a mesma seja percebida e copiada pelos concorrentes mais ágeis. Em geral com algumas melhorias e inovações. E, obviamente, é uma questão de tempo para que os usuários migrem para o sistema mais adaptados. Trata-se de um caso de evolução natural em velocidades exponenciais. Apenas os serviços mais aptos e mais otimizados conquistarão a audiência necessária. E isto requer abraçar software como parte fundamental do negócio.

Bom, o que você está esperando para aprender a programar?

Artigo publicado originalmente na edição de Fevereiro de 2012 da Revista INFO e republicado aqui com a permissão da Editora Abril.

--

--