Ricorrere al refactoring per sistemare problemi architetturali, può essere pericoloso da molti punti di vista, a cominciare da quello del costo (fare refactoring di spaghett code può essere molto costoso) fino a quello della sicurezza.
Trovo che l'intervento di uno sviluppatore esperto, sia fondamentale soprattutto in fase di ideazione e scrittura del codice. Presentare al modello che farà vibecoding un piano chiaro ed assicurarasi giusti livelli di eval per fare l'assessment del codicegenerato sono o stanno diventando la parte più importante del lavoro di un Senior developer.
Una delle sfide è anche quella di avere UI che consentano una proficua interazione tra uomo e macchina, come nota giustamente Karpathy nel suo ultimo talk. Trovare il giusto mix tra velocità e impatto in queta interazione è fondamentale, consentedo all'uomo di aggiungere la dimensione dell'efficacia, laddove la macchina ha portato quella della velocità ed efficienza.
A questo aggiungo che oltre ai tre punti da te citatio non si può trascurare la sicurezza, che grandi volumi di codice generato inevitabilmente mettono a rischio, spostando la superficie d'attacco dal codice finale ai tool usati per generarlo. Un livello più sottile, diffcicile da individuare, specie quando si cede alle esigenze di velocità fino a perdere il controllo o la comprensione di quello che si genera.
Ricorrere al refactoring per sistemare problemi architetturali, può essere pericoloso da molti punti di vista, a cominciare da quello del costo (fare refactoring di spaghett code può essere molto costoso) fino a quello della sicurezza.
Trovo che l'intervento di uno sviluppatore esperto, sia fondamentale soprattutto in fase di ideazione e scrittura del codice. Presentare al modello che farà vibecoding un piano chiaro ed assicurarasi giusti livelli di eval per fare l'assessment del codicegenerato sono o stanno diventando la parte più importante del lavoro di un Senior developer.
Una delle sfide è anche quella di avere UI che consentano una proficua interazione tra uomo e macchina, come nota giustamente Karpathy nel suo ultimo talk. Trovare il giusto mix tra velocità e impatto in queta interazione è fondamentale, consentedo all'uomo di aggiungere la dimensione dell'efficacia, laddove la macchina ha portato quella della velocità ed efficienza.
A questo aggiungo che oltre ai tre punti da te citatio non si può trascurare la sicurezza, che grandi volumi di codice generato inevitabilmente mettono a rischio, spostando la superficie d'attacco dal codice finale ai tool usati per generarlo. Un livello più sottile, diffcicile da individuare, specie quando si cede alle esigenze di velocità fino a perdere il controllo o la comprensione di quello che si genera.