Os programadores realmente serão substituídos pela Inteligência Artificial?

Inscreva-se em nossa Newsletter!

Há alguns dias, me deparei com um título intrigante no LinkedIn que exibia uma afirmação audaciosa: “A Empresa de Tecnologia visa aumentar a produtividade dos programadores em 50% com o GitHub Copilot”. O que tornou a situação ainda mais curiosa foi que o autor da postagem não era um programador.

Apesar da audácia do título, acredito que essa questão pode levar a uma análise e discussão interessantes.

Não há como negar as impressionantes capacidades das ferramentas de IA disponíveis para o público hoje. No campo da programação, elas já estão ajudando significativamente os desenvolvedores, otimizando suas rotinas e aumentando a produtividade. Com as ferramentas certas, os problemas podem ser resolvidos em um ritmo mais rápido.

Para aqueles que não estão familiarizados com programação, essas ferramentas de IA podem parecer quase místicas, dando a impressão de que elas podem rapidamente e automaticamente resolver qualquer problema. Mas sabemos que a realidade é bem diferente.

O entusiasmo gerado por essas ferramentas é totalmente justificado, e antes de formar uma concepção errônea sobre mim, saiba que também sou um deles. No entanto, acredito que nem todos compreendem plenamente o que essas ferramentas são capazes de fazer na realidade.

De um lado, você tem iniciantes na programação que temem serem substituídos por máquinas.

Por outro lado, você tem CEOs buscando soluções mágicas para reduzir custos ou aumentar a produtividade, talvez sem uma compreensão clara do trabalho realmente realizado por um

Não é bem assim…

ChatGPT (ou Copilot), crie uma página para vender ingressos para um show em Node.js. O backend deve estar preparado para uma média de 2.000 solicitações por segundo e ser resistente a falhas. Configure um balanceador de carga para distribuir solicitações entre servidores distribuídos. Certifique-se de que os caches sejam funcionais e realmente reduzam a carga do servidor. Instrumente ferramentas de monitoramento em tempo real. E, claro, o banco de dados deve ser agrupado com uma boa estratégia de replicação.

O exemplo está exageradamente exagerado, eu sei. Mas ele ilustra a complexidade por trás da implementação de algo que pode parecer simples para alguém que não é um programador.

Escrever código é apenas uma parte do trabalho de um programador, e tenho certeza que as IA’s geradoras são excelentes nisso, mas não é tudo o que um programador faz.

Nós, programadores, passamos uma parte significativa do nosso dia sem escrever uma única linha de código. É necessário primeiro entender os requisitos das novas funcionalidades, participar de conversas e ajustes com os stakeholders, projetar a arquitetura técnica e, finalmente, traduzir todas essas informações para o código.

E não vamos esquecer que este código deve ser escrito no contexto, considerando como se encaixa com o restante do código existente.

O que eu quero dizer é que essas ferramentas de IA, embora muito úteis, não fazem milagres. Mas elas podem ser boas assistentes para programadores.

IA como um pato de borracha.

Uma das leituras que ampliou muito a minha perspectiva sobre engenharia de software foi o clássico livro “The Pragmatic Programmer” de Dave Thomas e Andrew Hunt. Um dos capítulos fala sobre uma curiosa técnica de depuração: o pato de borracha.

image 458

A ideia básica por trás da programação de pato de borracha é explicar o código ou o problema que você está enfrentando em voz alta, como se estivesse explicando para um pato de borracha. Ao verbalizar o problema ou descrevendo o código passo a passo, você muitas vezes encontra uma solução ou ganha uma nova perspectiva sobre o problema.

O ChatGPT é excelente em conversar e, além disso, conversar no contexto. Será que essa inteligência artificial é a evolução do pato de borracha de Dave Thomas e Andrew Hunt?

Já existem extensões para o Visual Studio Code que se integram ao ChatGPT, usando-o como um pato de borracha. Você pode conferir aqui.

Eu gosto do nome que o GitHub escolheu para seu produto, Copilot, e isso se alinha com o conceito do pato de borracha. A ferramenta tem como objetivo ser um copiloto, e não o piloto principal. É o assistente do programador, o seu pato de borracha.

A dura realidade

Esta mensagem é para aqueles que estão ansiosos e preocupados com o futuro de suas carreiras de programação: relaxem! Mas não relaxem demais, pois a dura realidade é que são os fundamentos da engenharia de software que fazem de um bom programador, não apenas o código.

image 459

Com a popularização dos computadores para o público em geral nos anos 70 e 80, profissionais de contabilidade e finanças se sentiram ameaçados pelo software de planilhas. Uma máquina que poderia armazenar milhares de linhas e colunas e nunca cometer erros de cálculo. Quem rejeitaria isso?

É verdade que as planilhas eram e ainda são poderosas e elas representaram uma ameaça aos empregos de “escritores de planilhas”. No entanto, aqueles que interpretaram os dados, entenderam o contexto de negócios e aplicaram conceitos contábeis certamente sabiam como usar planilhas ao invés de criticá-las.

Programadores não são apenas escritores de código. Não tenha medo do seu novo pato de borracha; ao invés disso, use-o. E obrigado, ChatGPT, por me ajudar a montar este artigo.

Gostou do artigo?

Facebook
LinkedIn
Pinterest
WhatsApp
Picture of Amanda Braga

Amanda Braga