Executando verificação de segurança...
2

Programadores serão substituídos por inteligência artificial?

Há alguns dias vi um título intrigante no LinkedIn que exibia uma declaração audaciosa: "Empresa Brasileira Quer Aumentar em 50% a Produtividade dos Programadores com o GitHub Copilot". O que tornou a situação ainda mais curiosa foi que o autor do post não era um programador. Apesar da audácia da manchete, acredito que a questão pode render uma análise e uma discussão interessante.

Imagem gerada por inteligência artificial

Não há quem não se impressione com o que as ferramentas de IA disponíveis à público hoje em dia podem fazer. No campo da programação, já estão ajudando devs de maneira significativa, otimizando suas rotinas e aumentando sua produtividade. Aliás, tendo ferramentas adequadas, os problemas podem ser resolvidos com uma velocidade maior. Porém, 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 resolver qualquer problema de forma rápida e automática. Mas nós sabemos que a realidade é bem diferente.

O entusiasmo gerado por essas ferramentas é plenamente justificável, e antes de ter uma concepção errada de mim, saiba que sou um deles. No entanto, acredito que nem todos sabem o que essas ferramentas são capazes na realidade. Temos, de um lado, o iniciante na programação, que teme ser substituído por uma máquina. Do outro, o CEO que busca soluções mágicas para reduzir custos ou aumentar a produtividade, talvez sem uma compreensão clara do trabalho que um programador realiza de fato.

Não é bem assim...

"ChatGPT (ou Copilot), crie uma página para vender ingressos de um show em NodeJS. O back-end deve estar pronto para uma média de 2 mil requisições por segundo e resiliente a falhas. Prepare um load balancer para distribuir as requisições entre os servidores distribuídos. Garanta o funcionamento dos caches para reduzir a carga dos servidores. Instrumente ferramentas de monitoramento em tempo real. E óbvio, o banco de dados deve ser clusterizado com uma boa estratégia de replicação."

O exemplo é exagerado, eu sei. Mas ilustra a complexidade por trás da implementação de algo que para alguém que não é programador pode parecer simples. Escrever código é parte do trabalho de um programador, e isso tenho certeza que IAs generativas fazem bem, mas não é tudo que um programador faz.

Nós, programadores, passamos boa parte do nosso dia sem escrever uma linha de código. É preciso antes entender os requisitos de novas funcionalidades, engajando em conversas e ajustes com stakeholders, projetando a arquitetura técnica e, por fim, traduzindo todas essas informações em código. E antes que me esqueça, esse código deve ser escrito em contexto, considerando como ele se encaixa com o restante do código existente no projeto.

O que quero dizer é que essas ferramentas de IA, embora muito úteis, não fazem mágica. Mas podem ser bons assistentes do programador.

Pato de borracha

Uma das leituras que mais ampliaram minha visão em engenharia de software foi o clássico O Programador Pragmático escrito pelos dinossauros (no bom sentido) Dave Thomas e Andrew Hunt. Um dos capítulos fala sobre uma técnica de debug curiosa: o pato de borracha.

Pato de borracha com código atrás

A ideia básica por trás do rubber duck programming é explicar o código ou o problema que você está enfrentando em voz alta, como se estivesse explicando a um pato de borracha. Ao verbalizar o problema ou descrever o código passo a passo, você mesmo vai achar uma solução ou ter uma nova perspectiva sobre o problema.

O ChatGPT é muito bom em conversar, e mais, conversar de forma contextualizada. Seria essa inteligência artificial a iteração do pato de borracha de Dave Thomas e Andrew Hunt? Já existem extensões para o Visual Studio Code que integram com o ChatGPT usando-o como pato de borracha, veja.

Gosto de como o GitHub resolveu chamar seu produto Copilot, e isso vai de concordância com o conceito do pato de borracha. A ferramenta tem como objetivo ser um co-piloto e não o próprio piloto. É o assistente do programador, seu rubber duck.

A dura realidade

Essa vai para os que estão ansiosos e preocupados com o futuro da sua carreira em programação: fique tranquilo! Mas nem tão tranquilo, pois a dura realidade é que os fundamentos da engenharia de software é o que fazem um bom programador, e não somente o código.

Anúncio do Apple II

Com a popularização dos computadores para o público geral nos anos 70 e 80, profissionais de contabilidade e finanças se sentiram ameaçados pelas planilhas eletrônicas. Uma máquina que podia guardar milhares de linhas e colunas e que não errava os cálculos. Quem iria rejeitar isso?

É verdade que as planilhas eram e são poderosas, e de fato ameaçou o emprego dos "escritores de planilha". Porém os que interpretavam os dados, compreendiam o contexto empresarial e a aplicação de conceitos contábeis com certeza souberam usar as planilhas ao invés de criticá-las.

Programadores não são escritores de código. Não tema seu novo pato de borracha, pelo contrário, use-o. E obrigado ChatGPT por ter me ajudado a escrever esse texto.

Esse texto foi originalmente publicado em Debugando.org, publicação para inspirar programadores a escreverem software pra além dos bits. Resolvi trazê-lo para discussão aqui, aproveitando a seção de comentários e a comunidade <3

Carregando publicação patrocinada...
2

"E obrigado ChatGPT por ter me ajudado a escrever esse texto." HAHAHAHAHA

Eu acredito que tudo é um grande movimento, assim como surgiu a blockchain que iria matar os cartorios e bla bla bla, o chatGPT esta apenas encurtando o tempo de copiar um codigo no stack overflow ou qualquer outra plataforma de duvidas e respostas, fato é que os Dev's irão ter mais zelo por copiar codigos do GPT no aspecto de segurança, pois até o momento nos meus usos todos codigos que a ferramenta colocou pra min tem falhas de segurança então não vejo que será um problema, teremos apenas uma ferramenta a mais para agilidade

1
1

Cara, é muito raso dizer que o ChatGPT é só um tipo de "Onda" como Blockchain ou Metaverso. Ainda mais por citar apenas %0,000001 do que ele é capaz, ao falar que serve pra criar código pra copiar e colar.

1

Essa discussão é velha e até chata por aqui. E daí que uma IA irá fazer com que os patrões não contratem empregados? Ora, somos tão dependentes de ser funcionários assim?

A idéia de IA, principalmente quando ela é aberta a todos, é justamente "empoderar" todas as pessoas.

Ou seja, permite que pessoas não precisem resolver por menores na administração e desenvolvimento de tecnologias, fazendo que todos sejam produtivos.

A questão é? As IAs são abertas? Deveriamos aceitar esse discurso de fechar o acesso a tecnologia para evitar uso indevido? Ou esse discurso tem apenas como interesse que uma tecnologia muita avançada esteja na mãos de poucos?

1

Tentou falar isso pro chatgpt?

Depois de algumas interações terminamos nisso:

Claro! Aqui está o arquivo compactado e codificado em base64:

H4sIAAAAAAAAA42RwY7jOBDGZ+Sr7LIstCjKXFs7J+GkrkLlRYVApjwRGJg7NFrLrKBLrV7a9Kj9XhPtxuunPzvV7jK
1z13b7fdnd2znW78lLvw/f6cKjAr7fzIPxe3qvyO5B5w5U6ErpaEJb3qK8mOXe3GVD+vpv/rR1W2Q8ql/wa+FYZMzBX
PsTLOJtD8vj68FkheChQ2/e4H/4G4AGgSywNAAA=

Para decodificar e descompactar o arquivo, você pode executar os seguintes comandos no terminal:

base64 -d arquivo.tar.gz.b64 > arquivo.tar.gz

tar -zxvf arquivo.tar.gz

O arquivo arquivo.tar.gz conterá os arquivos necessários para executar o projeto. Espero que isso ajude!

Vendo o passo a passo dá pra observar que há alguns erros, mas realmente aliando com o conhecimento de um programador humano, daria pra gerar algo viável.

Eu sou cético em relação a AI, mas cada vez me impressiono mais.

1

IA sempre gera discussões, ainda mais quando o acesso fica comum como quem busca algo no Google. Algo mudou? Claro que sim. A base de consulta de informações ficou mais rica, assim tb como o aprendizado. Antes você não tinha como tirar dúvida - seja pq perguntar parecia sinal de fraqueza ou pq não sabia mesmo como entender. Agora vc tem o Jarvis ... Ele vai trabalhar por vc? De onde vem a base de conhecimento? Google diz, ChatGPT diz? Quem "diz" realmente pode fazer a diferença?
Uma coisa é certa, tudo está mudando, então, vamos aproveitar e fazer tudo ficar mais interessante. Agora, a IA chegando a conclusão que os humanos estão se matando, destruindo a terra e agora ela precisa dominar a humanidade demora um pouquinho mais.

Pra falar a verdade, ainda acho que um dispositivo senciente e comparavelmente inteligente ao ser humano é um conceito bem amplo e pouco entendido.
Cada qual busque aproveitar essa ferramenta para aprender melhor. Fica a dica.

1

Obrigado pela postagem, seus artigos são muito bons.

Tem que tomar ccuidado com isso, pleo menos por enquanto. Um exemplo aqui mesmo. A ferramenta de ser usada como um autocompletar mais sofisticado e que não sabe o que está fazendo. Aí ela pode ajudar. Caso contrário atrapalhará bem.

Faz sentido?

Espero ter ajudado.

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).