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

Também me incomoda, mas nem tanto por mim, é mais porque muita gente despreparada conseguirá entregar mais código e parecer mais produtivo.

O problema é que a programação assim acaba gerando muita dívid atécnica na mão da maioria das pessoas. E pela minha experiência com o mercado, isso não será percebido tão facilmente, vai se pagar os juros dela e perder grande parte do ganho que a IA deu.

Mesmo o Akite eu não sei como ficou o resultado dele. Acompanhando muita coisa dele eu sei que ele tem a ideia que muitos têm que é entregar rápido e barato. Não chego a dizer que ele não liga pra qualidade, mas ele já deu várias demonstrações que isso não a primeira prioridade dele. A empresa dele sempre entregou projetos sem muita preocupação com a manutenção. Mais uma vez não estou dizendo que entregam porcaria, mas apenas sobre o que é prioridade. EU sei que é muito mais fácil vender algo barato e ganhar depois na manutenção. Somente idealistas, como eu, não exploram isso.

Mas tenho que dizer que a IA vai ajudar muito quem sempre programou bem e não ajudará muito ou atrapalhará quem sempre programou mal. Não se discute que o Akita sempre programou bem. O problema será com a esmagadora maioria que terá uma ferramenta pra fazer gambiarras mais rapidamente.

O que o Akita disse (no original, não no react) é que ele consegue ser muito mais produtivo com as novas ferramentas de agora. E no fim vai gerar algo muito parecido com o que ele teria feito na mão.

Certamente sempre precisamos identificar o contexto. E um deles é que o Akita estava testando tudo isso com projetos pessoais que podem dar problemas e ninguém reclamará. Além disse a capacidade dele é muito fora da curva e a maioria das pessoas não chegará perto.

Pode ser que no futuro as coisas melhorem muito e fica mais acessível para produzir algo de qualidade com quem não é tão bom. Mas ainda precisará de um trabalho de engenharia conduzido por um humano.

Eu tenho obtido cada vez mais resultados melhores em várias coisas, mas em programação eu não vi uma melhora suficiente ainda. Também não testei as últimas novidades.

Existe uma outra questão que é se sentir à vontade. Eu acho que para determinados sistemas eu não gostaria tanto de usar a IA. Até poderia usar para ela escrever uma parte de código de cada vez para eu mexer depois, mas tem casos que eu evitaria um pouco mais. Novamente, o contexto determina muito a melhor forma de fazer, e só a experiência criará melhores decisões.

Não acho nem um pouco que vibe coding se aproxima de no ou low-code, é quase o oposto. È too much code. Apesar que ele pode realmente substituir em certos cenários o que antes se fazia com no e low-code. Eu acho que quase sempre será uma solução pior, especialmente na mão de quem costumava usar essas duas formas de fazer uma aplicação se comportar de uma forma específica.

Outro ponto a considerar é que o Akita faz que tipo de vibe coding? Cada um tem uma definição diferente do que é isso. Pelo que eu entendo o vibe coding originalmente era sobre você criar códigos meio que sem saber o que está fazendo, sem grandes preocupações, só interessa o resu7ltado. Vibe coding não parece ser sinônimo de programar usando a IA, e sim a forma como você usar a IA. Eu acho que o Akita usa a IA de forma muito séria e contrária ao vibe coding. Mas se alguém argumentar algo diferente pode estar certa porque não sabemos bem do que estamos falando, são coisas criadas para marketing, não por um estudo científico bem conduzido.

Eu acho que você pode fazer um projeto 100% com IA sem escrever uma linha de código e ser um resultado final interessante, mas vai dar bastante trabalho, dimunindo parte da vantagem. Em muitos testes que eu fiz com IA em várias tarefas, teve vários casos que eu tive o retrabalho tantas vezes até achar um prom pt que entrega o que eu quero que deu mais trabalho que fazer na mão. Eu sei que os cenários assim est~´ao diminuindo quase que a cada mês, mas ainda tem um longo caminho pela frente.

Eu percebi que eu não me sinto bem deixando tudo na mão da IA, pelo menos pra código. Mas eu entendo que o caminho será este, e o português, ou inglês que costuma dar resultado melhor, será uma nova linguagem de programação sem as regras que uma linguagem de programação tradicional.

Mas eu acho estranho você fazer isso e gerar o código de outra linguagem de alto nível. Por que não gerar logo o binário? O motivo principal é que você não conseguirá auditar e melhorar o código gerado assim.

A IA já está gerando o código das próximas gerações da IA, mas não é que ela faz isso sozinha, ele faz o que engenheiros competentes mandam ela fazer, então eles estão mais produtivos, mas ainda no comando.

Acho estranho que parece que as pessoas vão abandonar o uso e criação de bibliotecas e frameworks porque a IA pode fazer o trabalho braçal para você. Mas a IA não fará o certo e você pode confiar. O objetivo de ter bases de código prontos para realizar certas tarefas continua intacto, a IA não deve substituir a maioria desses casos.

Bem, tem alguns casos. O Tailwind mesmo publicou que eles vão morrer em 6 meses. E pode ser bom, porque a IA pode fazer uma espécie de tree shaking agressivo e isso é bom nesse cenário. Ninguém disse que as libs de C, Rust, C#, Java, JavaScript, Python, etc. vão morrer. As bibliotecas corporativas criadas não deixam de ser interessantes.

Minha maior preocupação é que a IA, vibe coding ou não, passará produzir uma quantidade muito maior de código e cada vez será mais difícil administrar isso. Aí é que o engenheiro experiente, bem formado, que não cam em contos da carochinha, vai se destacar e não deixar isso acontecer. Mas para a maioria das pessoas será muito tentador só produzir o resultado.

Uma coisa que eu ouvi do Akita é que agora as sprints não criariam dívida técnica como sempre aconteceu e a maioria faz de conta que isso não acontece. Porque quase sempre você não consegue cumprir tudo que está no sprint no tempo dele, então você faz umas gambiarras e depois vai criar um sprint só para pagar esta dívida. Mas o que eu acho que vai acontecer é os sprints passarem ser concebidos para entregar muito mais já que a IA ajudará, e a dívida não só continuará ser criada como novas dívidas aparecerão.

Me preocupa muito as pessoas pararem de aprender a codificar porque parece o caminho mais fácil. Mas você terá que ser ótimo codificador e com a desvantagem de praticar menos, para produzir bons resultados. Novamente, precisamos entender que a IA não prescinde de um bom programador, de alguém que sabe fazer excelentes códigos, mesmo que ele não esteja usando o teclado diretamente para fazer esses códigos aparecerem na sua tela.

Você terá que aceitar que aprender e treinar programação será parecido com fazer academia, você vai gastar um tempo estúpido para fazer algo improdutivo mas que traz algum resultado. E isso não era necessário no passado, porque as pessoas faziam algo parecido do que fazem em uma academia, no dia a dia da vida delas.

Assim como músculo atrofia, cérebro também.

Gosto muito de Formula 1 e este ano está acontecendo a maior mudança já feita na categoria. Já se sabe que em parte será algo ruim. Em parte mudará as forças na competição porque algumas pessoas vão se adaptar melhor ao carro novo do que outras. Isso sempre aconteceu entre gerações, O Nelson Piquet mesmo hoje seria um pereba, porque o trunfo dele era saber como acertar o carro, algo que hoje são é feito por computadores e não precisam do que ele era bom, precisam de outras características. Pela primeira vez acontecerá uma transformação tão grande na mesma geração. Com programação está acontecendo algo semelhante. Os pilotos não sabem como vão se sair nesta nova forma de pilotar, os programadores também não.

Temos que aguardar para ver o cenário, até lá teremos mudanças constantes como nunca se viu antes.

Antes de terminar eu quero escrever mais uma vez que muitas desculpas das pessoas estão caindo por terra porque agora a IA pode resolver certas problemas que inventavam que o único jeito era fazendo de uma forma ruim. AO mesmo tampo já estão arrumando outras desculpas para usar tecnologias quando a opção é uma gambiarra. Certas coisas que eram vícios não vão mudar.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

Carregando publicação patrocinada...
1

Estava esperando o seu comentário. O senhor sempre sabe como destrinchar o assunto.

Eu percebi que eu não me sinto bem deixando tudo na mão da IA, pelo menos pra código. Mas eu entendo que o caminho será este, e o português, ou inglês que costuma dar resultado melhor, será uma nova linguagem de programação sem as regras que uma linguagem de programação tradicional.

Essa daqui é a questão. Me é estranho deixar com que a IA tome as rédeas e escreva, de certa forma, sozinha (claro, terá a nossa supervisão, que, inclusive, dizem que esse será o novo papel do engenheiro de software). Mas, como o senhor mesmo disse, "temos que aguardar para ver o cenário".

Lembro de quando entrei na área, lá em 2022, o que mais se discutia era copiar e colar o código direto do falecido Stackoverflow; se era melhor usar React, Vue ou Angular; se existia alguma linguagem melhor do que Javascript; entre outros. Qual à coisa comum entre os que citei? Todos, de alguma forma, reduzem o trabalho de escrever código. Então essa automatização de escrita não é de hoje, mas o que acontece atualmente é muito mais radical. A IA foi um jeito das pessoas fazerem isso da forma mais rápida que se tem (e cada dia mais essa forma está evoluindo).

Por mais que meu tempo na área seja pouco, a mudança que está ocorrendo me é muito brusca. Na minha cabeça era para isso ser ao contrário, estar mais apto à mudanças. Não consigo nem mesmo imaginar como vai ser um projeto usando inteligência artificial, dessa forma que temos hoje, da forma que foi apresentada. Me dá dor de cabeça essa mudança.

Sei que ser um engenheiro de software não é só sobre saber escrever código. Há muito tempo que eu ouço que não faz diferença se tu sabe o código de cor ou não, o que importa é saber o que usar naquele contexto em específico.

Nem sei mais o que dizer sobre o assunto.

1

Por favor, não me chame de senhor ;)

De fato tem várias maneiras de se tornar mais produtivo e as pessoas precisam explorar isso. Eu percebo há muitos anos que a maioria dos programadores não sabem ou não gostam de criar abstrações/generalizações para economizar trabalho. Agora então vai piorar muito.

Existe uma diferença enorme entre as várias formas. Usar uma biblioteca ou framework é de um jeito, criar as suas próprias bibliotecas e diferente, usar no ou low-code, usar geradores de código/scaffolding e usar IA cada um tem vantagens e desvantagens e precisamos trabalhar de acordo com a necessidade.

1

Vocês dois dos comentários prévios mencionaram preocupação e ela tem sido tema recorrente na comunidade.

Eu agora tô no time dos tranquilizadores com o argumento de que essas relações (tecnológicas ou sociais) tendem a se auto-regular. Por novos ou conhecidos mecanismos, mas eu acho que a poeira vai baixar.