Em 1930, John Maynard Keynes previu que teríamos uma semana de trabalho de 15 horas até o final do século. É claro que o grande economista fez algo errado.
Bem-vindo à era dos empregos de merda, como disse o antropólogo David Graeber. Desde a década de 30 surgiram indústrias totalmente novas, que não acrescentam necessariamente valor às nossas vidas. Graeber provavelmente chamaria o trabalho da maioria dos desenvolvedores de software de besteira.
Não compartilho da opinião de Graeber, principalmente quando se trata de software. Mas toca num ponto interessante: à medida que mais e mais processos são automatizados, a maioria dos trabalhos torna-se obsoleta em algum momento. De acordo com uma estimativa, 45% de todos os trabalhos poderiam ser automatizados com a tecnologia atual. E com o tempo, provavelmente será esse o caso.
Tempos difíceis (também) para desenvolvedores de software?
No campo do desenvolvimento de software, você pode ver isso acontecendo em tempo real: as ferramentas de automação há muito surgiram. E essa é apenas uma das muitas áreas onde as partes iterativas demoradas foram automatizadas (outro campo é design, por exemplo).
Isto nos leva à questão inevitável: os desenvolvedores de software estão se tornando obsoletos? Se mais e mais carros eles podem escrever códigos para si próprios, para que servem os humanos?
Do design da lógica ao design das mentes
Os desenvolvedores de software são verdadeiros construtores. Eles constroem conexões lógicas, algoritmos, programas, projetos e muito mais. Diferenças em relação aos construtores de edifícios, que constroem coisas físicas? Os desenvolvedores de software criam coisas lógicas.
Com o surgimento da inteligência artificial, no entanto, há uma mudança de paradigma. Os desenvolvedores não estão mais projetando links lógicos. São modelos de treinamento nas heurísticas dessas ligações lógicas. Na prática, eles estão passando do projeto de lógica para o projeto de uma mente.
E quando essa mente foi bem desenvolvida? Tchau trabalhadores? Qual será a aparência do mundo aos olhos de um computador?
Quando questionados se serão substituídos por um robô no futuro, os trabalhadores humanos geralmente não pensam assim. Isso é verdade para o desenvolvimento de software e muitas outras áreas.
A razão é clara: qualidades como criatividade, empatia, colaboração ou pensamento crítico, em suma, “habilidades interpessoais”, não são aquilo em que os computadores são bons.
Mas muitas vezes não é isso que importa para fazer um trabalho. Mesmo os projetos mais complexos são compostos de muitas peças pequenas que podem ser automatizadas.
Não me entenda mal; as qualidades humanas são incríveis. Mas superestimamos a importância desses problemas quando se trata de atividades regulares.
Por muito tempo, por exemplo, até pesquisadores acreditaram que as máquinas nunca seriam capazes de reconhecer um gato em uma foto. Hoje, uma única máquina pode classificar bilhões de fotos de uma vez e com maior precisão do que um ser humano. Uma máquina pode nunca ser capaz de se maravilhar com a doçura de um gatinho, mas é excelente para trabalhar com estados indefinidos. Porque esta é a foto de um gatinho através dos olhos de uma máquina: um estado indefinido.
Rumo a novas variantes e grande escala
Além de trabalhar com estados indefinidos, há duas outras coisas que os computadores podem fazer com mais eficiência do que os humanos: fazer coisas em grande escala e trabalhar em variantes.
Todos nós já experimentamos como os computadores funcionam bem em grande escala. Por exemplo, se você pedir a um computador para imprimir mil vezes a mesma frase, ele o fará sem reclamar e completará a tarefa em uma fração de segundo.
Pergunte a um ser humano e você terá que esperar dias para ver o trabalho feito.
Coletores são basicamente uma forma imaginativa ou matemática de se referir a subconjuntos de espaço que compartilham propriedades específicas. Por exemplo, um pedaço de papel é uma variedade bidimensional no espaço tridimensional. Se você amassar o pedaço de papel ou dobrá-lo em um avião, ainda é um colecionador.
Os computadores são realmente bons em trabalhar com variações que os humanos acham difíceis de visualizar, porque talvez elas abranjam vinte dimensões ou tenham muitos nós e arestas complicados. Como muitos problemas cotidianos, como a linguagem humana ou o código de computador, podem ser expressos como uma variedade matemática, há muito potencial para implementar produtos verdadeiramente eficientes no futuro.
Onde estamos e aonde chegaremos?
Por um lado, as revisões de código e a depuração poderão em breve ser coisas do passado. A empresa suíça Código Profundo está trabalhando em uma ferramenta para identificação automática de bugs. DeepMind O Google já pode recomendar soluções mais elegantes para o código existente. É Aroma O Facebook pode completar pequenos programas por conta própria.
Não só: MIS SIM, um acrônimo para Machine Inferred Code Similarity System, parece ser capaz de entender o código de computador da mesma forma que Alexa ou Siri podem entender a linguagem humana. É empolgante, porque tal sistema pode permitir que os desenvolvedores automatizem tarefas comuns e demoradas.
Produtos ainda não muito perfeitos, mas este é o começo: ferramentas como essa se tornarão muito mais poderosas no futuro.
Os aplicativos? Em breve
Algumas das primeiras aplicações dessas novas automações poderiam incluir o monitoramento de atividades humanas. Coisas como agendar o horário de um funcionário ou encontrar aulas para um aluno poderiam ser otimizadas dessa forma.
Isso, por si só, apresenta enormes oportunidades econômicas porque os alunos podem aprender coisas importantes mais rapidamente e os trabalhadores podem servir durante suas horas mais produtivas.
Se o MISIM for tão bom quanto promete, também pode ser usado para reescrever o código legado. Por exemplo, muitos softwares bancários e governamentais são escritos em COBOL, o que raramente é ensinado hoje. Traduzir esse código para uma linguagem mais recente tornaria sua manutenção mais fácil.
À luz de tudo isso, então, se os desenvolvedores de software não querem desaparecer, como eles podem acompanhar o tempo?
Todos esses novos aplicativos são empolgantes. Mas acima deles pesa uma grande espada de Dâmocles: e se eles tornassem os desenvolvedores completamente obsoletos?
A salvação, como sempre acontecerá no futuro próximo, está na criatividade.
Esta é uma grande oportunidade para mover os desenvolvedores de software para fases mais preliminares de um projeto, ou seja, envolvê-los nas fases de planeamento. Eles não sabem apenas o que pode ser implementado e o que não pode. Com a sua criatividade, poderiam acrescentar valor de formas que não são imagináveis a priori.
Já se passaram cinco anos desde que Satya Nadella, da Microsoft, afirmou que “toda empresa será uma empresa de software”. Ele estava certo.
Software é rei
Se a atual pandemia nos ensinou alguma coisa, é que muito da vida e da criação de valor nos últimos meses está acontecendo online.
O software é rei. Paradoxalmente, isso se torna mais evidente quanto mais automatizado. A automação está transformando os nerds do software nos líderes mundiais de amanhã.
A vingança dos nerds
Quando eu era mais jovem, as pessoas que gostavam de computador eram consideradas crianças anti-sociais, nerds, criaturas desagradáveis, seres semelhantes a zumbis, sem sentimentos e paixões humanas.
Quanto mais o tempo passa, porém, mais as pessoas veem os outros lados dos desenvolvedores de software. Programador não é mais considerado um nerd, mas uma pessoa inteligente que pode criar coisas interessantes.
Claro, em uma década (em alguns casos, até alguns meses), os desenvolvedores de software estarão fazendo coisas que nem podemos imaginar agora. Mas isso não significa que não funcionará mais. Talvez eles apenas mudem seus nomes e empregos.