Eu vou falar disso porque ele é mais sério do que as pessoas estão enxergando, e sei que muitos negarão, ficarão revoltados porque não foi assim que a pessoas treinou o erro a vida toda, conforme eu sempre falo.

Primeiro, eu sempre falei que tem muita coisa sendo feita errada na nossa área. Boa parte da falta de profissionais existe por causa da falta de profissionais realmente qualificados. Então profissionais, muitas vezes experientes, principalmente em quantidade, muitos que são CTOs de empresas enormes, que conseguiram subir meteoricamente por causa do ambiente que estava e suas habilidades políticas, nunca se tornaram bons engenheiros, nunca entenderam completamente sua profissão, e sempre fizeram a tal da modinha, ou seja, apenas repetiram o que "todo mundo" está falando para fazer. Essa pessoa nunca tentou criar algo realmente novo, nunca foi atrás dos assuntos que estão em moda, não pensou fora da caixa, e sem entender totalmente todas as técnicas, os conceitos e sem saber aplicar adequadamente para produzir real inovação, essa pessoa só reproduz o erro da maioria.
Veja bem, essa pessoa tem algum mérito, mas falta algo para dizer que essa pessoa é engenheiro de software de verdade. Ela até é, mas só pra reproduzir coisas. E isso acontece em várias engenharias, na civil mesmo, se vê muito desperdício, inclusive surgem técnicas novas muito melhores e décadas depois tem um monte de engenheiro que não conhece ou não sabe aplicar ou acha que aquilo não é bom. Se a pessoa não tiver o espírito de engenheiro ela só vai copar coisas e se tem muitas coisas erradas, será isso que ela copiará. A pessoa com méritos ainda alcançará resultados importantes que trará valor e justamente por isso cega quem contrata e a si próprio.
Um exemplo que falo muito como as pessoas complicam muito a base de código para seguir certas regrinhas que leem por aí e que não traz benefício algum no caso dele ou não traz porque não aplica do jeito certo. A pessoa só segue o que foi dito para ela.
Um exemplo é como aplicam arquitetura limpa, que de limpa não tem nada, ela é extremamente suja. Alguns problemas podem exigir isso, mas boa parte dele, provavelmente a maioria, não precisa, pelo menos não totalmente. A pessoa aplica, torna a base de código mais complicada e convive com isso a vida inteira e sofre como algo inerente ao trabalho. Tem trabalho repetido aos montes por causa disso.
O mesmo vale para SOLID, DDD, microsserviços, e uma lista incomensurável de coisas que podem ser úteis em cenários bem específicos e geralmente acompanhada de aplicação correta, de uso de ferramentas extras, que provavelmente você terá que desenvolver para facilitar o trabalho e não virar um fardo enorme.
Esse é um assunto que me interessa muito e o primeiro vídeo do meu canal, que será bem longo e provavelmente sempre será o vídeo mais longo do canal, que se baseará na minha palestra de maior sucesso, fala muito sobre essa complexidade criada artificial e erroneamente, em nomes de “boas práticas”, que se tornam péssimas.
Ou seja, há muito tempo, certas tarefas já deveriam estar muito automatizadas e não feitas por humanos. Você modelar o backend e depois refazer tudo no frontend é um dos enormes desperdícios que já vi, junto com outras coisas que possuem camadas que são redundantes e de certa forma violam o DRY, o princípio que mais deveria ser seguido, inclusive boa parte do trabalho do programador em qualquer coisa, é justamente aplicar algo parecido com DRY nas informações dos outros, e ter tudo centralizado e você pode pegar o que precisa quando quiser do jeito que quiser sem risco de estar escapando algo ou gerar inconsistências quando coloca uma informação nova. Há muito tempo deveria ter só alguém para fazer a base estilística, a experiência do usuário e a melhor adequação dessa UI para o negócio, deveria ser feito por poucas pessoas e com trabalho mais no início para colher frutos depois e praticamente ter uma só pessoa cuidando disso (em alguns casos zero, em outros um pouco mais, depende do projeto).
Eu já nem gosto de usar os termos que usei, mas quis acompanhar a postagem original. Eu sou o chato que cobra as pessoas a usarem os termos corretos, porque isso ajuda a pessoa a pensar de forma correta, treina o acerto e não o erro. Quase sempre que a pessoa fala em frontend ela está na verdade falando de UI. E quase sempre é uma UI web, ela não está falando de outras que existem, ela até acha que se falar frontend (UI ou não) certamente será web, o que não é verdade. Inclusive com tudo o que eu falei acima, fazer para entregar UI para web ou outras formas, em plataformas diferentes se torna muito mais fácil, depois do investimento inicial.
É claro que nem todo projeto comporta isso, mas geralmente ele deve ser feito de forma muito simples mesmo, e em alguns casos a IA pode ajudar um pouco melhor, mas são projetos throw away ou algo muito isolado.
Eu já falei algumas vezes que apesar de mais de 40 anos de experiência na área, eu trabalhei em pouco mais de meia dúzia de projetos, que eu prefiro chamar de produtos, inclusive por isso tinha que ficar anos em cada um, a maioria eu peguei começado e depois que saí continuou evoluindo. Trabalhei em projetos diferentes, tive a sorte de trabalhar com alguns dos melhores engenheiros que já vi, world class mesmo, e trabalhei em necessidades muito diferentes. Curiosamente uma das que mais aprendi fazia tudo errado, então aprendi com os erros deles, mas a melhor parte é que eles aplicavam uma técnica que era muito usada em décadas passadas, mas com as modinhas ganhando força nos anos 90 elas foram deixadas de lado, não se tornou assunto popular e praticamente parou de ter uso. Algumas pessoas consideram até que isso gera complexidade. E é verdade, mas é uma que corta várias outras complexidades. Eu costumo dizer que a maioria das pessoas fala em escrever código que facilite a manutenção, mas se orgulha de ter trabalhado em dezenas ou centenas de projetos, em alguns casos em menos de uma década de experiência. O que esta pessoa entende de manutenção? Ela só entende o que ela lê ou vê no Youtube.
Tem jeitos melhores de fazer e dá para criar projetos enormes de forma mais eficiente para os programadores e ter equipes mais reduzidas, que até ganha também porque a redução do tamanho da equipe permite outra redução, é como aumentar a autonomia do carro elétrico diminuindo o peso e tamanho das baterias, a redução permite ter mais carga armazenada e vai precisar de menos carga para um range bom porque o carro está mais leve.
Algo que eu não falei diretamente é que a forma como se desenvolve software hoje gera muita dívida técnica, a maioria que as pessoas não percebem.

Curiosamente citei a mesma pessoa no mesmo artigo (que vou desenvolver mais no meu blog/canal, e quem sabe um dia eu crie um projeto aberto para ajudar as pessoas a inovarem e melhorarem sua base de código e eficiência de desenvolvimento).
Usar a IA para isso, ou para muitas cosias em código, conforme qualquer pessoa profundamente sobre o assunto já antecipava, é mais uma geração de de dívida técnica. E já tem algumas pessoas bem respeitadas falando sobre isso, imagino que já tenha estudos sendo conduzidos.
A IA está gerando um monte de código que você pode classificar como copy and paste, algo que todo mundo sempre falou para não fazer, mas hoje ouço bem menos, começou uma onda tão grande das pessoas saírem reaproveitando (sem DRY) códigos existentes, dele e de terceiros, que se parou de falar para evitar copiar e colar. Isso virou o normal.
Começou ter muito código repetido para dar manutenção. Muitas vezes código que a pessoa nem entende. e que não se adequa completamente, a pessoa então adequa o projeto ao que ela tem ali (o que pode ser uma decisão pragmática, mas quase sempre é simplesmente falta de conhecimento, experiência real qualitativa ou deseixo).
A IA veio para piorar isso. Ela vai ajudar, mas vai perpetuar ainda mais a repetição de algo que deveria ser canônico. Porque a repetição até acontecia menos porque era caro, ficando barato vai explodir de fazer isso e as pessoas, se perceberem, vão se arrepender. Vou reforçar, a IA criará muita dívida técnica, a maioria das pessoas não tem ideia do buraco que estão se metendo.
Não estou dizendo que a IA não ajudará em alguma coisa, mas ela produzirá muito problema a longo prazo, e saber equilibrar isso para que o saldo final seja positivo é difícil, ainda mais porque 100% das pessoas são inexperientes nisso. A IA precisa ser aliada, mas a falta de experiência dos humanos fará com que ela seja uma aliada infiel, e "como todo corno", será o último a saber.
Conclusão
Para finalizar, a frase "IA nunca vai substituir devs” só é dita por quem não entende do que está falando. Da mesma forma que tem muita gente que fala a besteira "IA vai acabar com os programadores". Parece a mesma coisa, mas a primeira significa que parte do trabalho dos programadores será semiautomatizado e vai diminuir a necessidades deles, mas não sabemos ainda o quanto vai precisar de mais depois porque foi feito tudo errado, precisamos de tempo e alguém que queira medir para não ficar só na impressão. A segunda frase indica mais quase o fim dos programadores, e isso não vai acontecer, mas só bons programadores vão sobrar, porque a parte mais mecânica, com IA ou outra técnica, vai quase desaparecer no longuíssimo prazo.
Se adaptar é se tornar um desenvolvedor de primeira linha. Não vejo "ninguém" fazendo isso. Cada vez mais as pessoas só querem cursos rápidos, superficiais, que ensinam o erro, o popular, o fácil. Claro que aprender fazer prompts para ajudar onde deve é algo que deve se adaptar, mas a melhor adaptação é saber quando usar isso e quando tem soluções melhores, se adaptar é não cair na tentação do prêmio de curto prazo para pagar depois com altos juros a dívida que criou porque achou que a IA entrega tudo do melhor sem desvantagens.
Quase todo mundo vai ignorar isso porque não é popular? Claro que sim.
Sobre criatividade
A IA não ter criatividade nesse caso é feature. Já era um problema enorme as pessoas mostrarem suas veias criativas em desktop prejudicando a experiência. Em web é pior ainda, tanto que algumas pessoas não conseguem se adaptar a certos sites. A falta da criatividade não faz falta na maioria dos casos de UI. A criatividade deveria só ser usada para criar uma inovação efetiva e preferencialmente ser universalizada. Em UI algo muito importante é o usuário ficar confortável. Ele ter que aprender uma nova UI, geralmente mal-feita porque quem costuma ir por esse caminho são pessoas com baixa capacidade, é algo ruim.
Eu tenho rstrições ao uso de Bootstrap e afins, mas não por causa disso, esse é um ponto positivo dessas interfaces, o ideal seria existir um só.
Por coincidência descobri isto esta semana: https://open-ui.org/.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).