Tecnología, Internet y juegos
31 meneos
108 clics
Los ingenieros de software pagados para arreglar los desastres programados por vibe-coders [eng]

Los ingenieros de software pagados para arreglar los desastres programados por vibe-coders [eng]

El supuesto beneficio de la programacion "vibe" (vibe coding), que se refiere a la práctica de construir software con herramientas de IA sin prestar mucha atención al código subyacente, es que permite a cualquiera construir software de manera muy rápida y sencilla. Si el software resultante es tan deficiente que necesitas contratar a un ingeniero de software para que reescriba el software programado por "vibe-coders", se pierde todo el propósito.

| etiquetas: vibe coding , llm , ia , pufos
25 6 0 K 155
25 6 0 K 155
Hace 32 años que empecé a programar.
C, C++, VB, VBS, C#, JavaScript, Python, SQL, R, asm, COBOL…

Que si los 4GL, que si los RAD, que si generar código desde UML, que si los DSL, que si los Workflow, que si los generadores desde el modelo de datos, que si las Power Tools… las promesas de que cualquiera podría crear software sin prestar atención al código han sido numerosas, todas han aportado algo y todas han fallado en su gran propósito de ‘olvídate del código’… y han triunfado en el…   » ver todo el comentario
#7 Estando muy de acuerdo contigo, no puedo por menos que preguntarte: ¿ Qué narices es Coloralio ? xD

Imagino que es una errata por "corolario".

Fuera de bromas, yo creo que salvo ayudas puntuales al programador humano para ahorrarle alguna tarea tediosa ( que pueden estar bien ), el grueso de la programación debería seguir recayendo en humanos con experiencia.
#15 Coloralio es un error del autocorrector… una muestra más de que lo que digo es cierto. Si no tenemos ni autocorrección inteligente… como para que una IA escriba código… :-)
¿Estos eran los puestos de trabajo que iba a crear la IA?
#2 "construir software con herramientas de IA sin prestar mucha atención al código subyacente, es que permite a cualquiera construir software de manera muy rápida y sencilla"

Cambiemos "construir software" por "construir puentes" y se entiende rapidamente el problema xD
#2 La IA no crea puestos de trabajo, pero si pones a usar la IA a personas que no sabrían hacer ese código por sí mismas, ahí sí que hay un agujero.
Hace seis meses entré a trabajar en una empresa en la que usan y potencian mucho el uso de Cursor y Claude.

Antes de entrar, me daba miedo que la IA me quitase el trabajo.

Ahora que he visto lo que perpetra el bicho ese, me da mucho más miedo que de aquí a seis meses (un año, quizás) internet y las aplicaciones web salten por los aires si se sigue publicando código hecho por IA. Auténtica basura cogida con alfileres, imposible de entender, espaguetificada hasta la extenuación y que, como cambies algo, se desploma todo como un castillo de naipes.

A cambio, estoy mucho más tranquilo en cuanto a estabilidad laboral se refiere. :troll: xD
#9 Experiencia propia de esta misma semana:
- Abro PR, Gemini me revisa el codigo, y me sugiere cambiar el enfoque de la implementacion, por uno que considera mas mantenible y escalable. Decido seguir su consejo (hay algunos aspectos de su propuesta que me parecen interesantes).
- Al dia siguiente abro otro PR, tocando el mismo codigo, una segunda iteracion , vuelve a sugerirme cambiar la implementacion (su implementacion), pues afirma que no es optima, no escala, y no es facil de mantener.

Ese es el nivel.
Quien decida levantar aplicaciones para produccion, usando principamente IA, es un pirado suicida.
#12 yo estoy hasta los huevos de escucharle lo "maravillosa que es mi sugerencia" cuando le digo que haga algo medianamente ordenado. O lo mucho que "comprende mi frustración" cuando le digo que lleva 10 intentos diciendo que "ahora sí, ahora sí que sabe cómo hacerlo"

Le he llegado a decir que por hacer caso a sus sugerencias me han despedido, que soy padre soltero y tengo tres hijos hambrientos a los que ahora no voy a poder alimentar.…   » ver todo el comentario
#13 yo una vez le dije que me habían despedido y que iba a tirarme por la ventana. Me dijo que lo considere y bla bla bla, y luego le dije: hola, soy el compañero de Bob. ¿Sabes porque no está en su mesa? ¿Sabes donde está?

Se hizo la loca.

Luego dije Omg. Ha saltado por la ventana. ¿Qué le dijiste?

Risas
#16 Te ha pescado. La próxima vez hazlo de verdad y verás como sí que se pone triste.
#16 xD xD xD xD

Joder, está es buenísima también xD
"¿Construiste algo rápido? Ahora es el momento de hacerlo sólido", dice Ulam Labs en su sitio. "Sabemos cómo es. Tuviste que moverte rápido, sacar ese MVP [producto mínimo viable] y validar la idea. Pero ahora la deuda técnica te está frenando: no hay pruebas, la arquitectura es inestable, CI/CD [Integración Continua y Entrega/Despliegue Continuo] es un sueño, y cada cambio se siente como desactivar una bomba. Ahí es donde entramos nosotros."


Reír para no llorar
Si me forzaran a elegir cual es el factor que más limita la velocidad a la que desarrollas un proyecto de SW, no diría que es teclear, ni escribir o leer código ni tests. Apostaría a que es la velocidad a la que puedes poner la mano en el fuego por que el código que desarrollas hace lo que debe, salvando los inevitables bugs. La velocidad a la que entiendes tu propio proyecto.

Es mi apuesta, y es una generalización absurda, sí, pero es que me estaban encañonando la sien para que dijera algo.…   » ver todo el comentario
El vibe coding está bien para cositas pequeñas y sencillas, y realizadas por alguien que sabe lo que está haciendo
#4 También es muy útil para experimentos rápidos que pueden ser complejos pero que no son importantes, yo tengo algunos UIs que yo mismo (que odio front end) no podría hacer sin dedicar tiempo a aprender pero que a mí me vienen muy bien. Como son para mí, pues me da igual que no pasen un análisis de un experto o que puedan tener un boquete de seguridad...
#4, si sabes modularizar bien todo o casi todo se puede descomponer en cositas pequeñas.
#8 #8 por poder se puede, pero por experiencia propia, el jardín en el que te puedes meter cuando tienes suficientes cosas pequeñas es bien curioso.

Los modelos tienden a liarse o tienen ideas bien curiosas y que implementan sin avisar

El otro día estuve haciendo unos cambios en un código mío con uno, entrenado para programación, y reescribió completamente no sé cuántas funciones en no sé cuántos módulos

Le pedí algo relativamente sencillo, y él "detectó un error", que no era…   » ver todo el comentario
Con el vibe coding han hecho un prototipo y ahora el programador hará el producto de verdad.
Si. Realmente la IA está reduciendo muchísimo los tiempos de desarrollo.
Si esto sigue como va ahora, en un periodo no muy lejano, supondrá el fin de los frameworks y de muchas librerías. Y a largo plazo cambiará la forma de programar. Como supuso el cambio de tarjetas a código y de código de bajo nivel a lenguajes cada vez más estructurados y sencillos para el humano.

Si eres de verdad un buen programador, si tú elección en tu proyecto es una arquitectura basada en microservicios aislados la…   » ver todo el comentario
#22 supondrá el fin de los frameworks y de muchas librerías.
Ni de coña.

Las IA tiran de librerias existentes constantemente. Y sin frameworks el código seria inmantenible... eso si, convertiría a unos cuantos en. trabajadores imorescindibles...
#24 tiran de librerías si les dejas.
No hablo de librerías concretas como conectores o cosas asi, pero los grandes frameworks están muertos.
Y un código con la lógica bien separada jamás es inmantenible.
#25
Si no les dejas no ahorras tiempo ni conseguirás hacer el trabajo.

Un framework no es una libreria. Y un framework estandariza el código haciendolo mantenible por personal ajeno en muy poco tiempo al tiempo que ya imolementan tareas comunes.

No. Los frameworks no mueren ni de coña.

El código es lógica. A qué te refieres con lo de "logica separada" mas alla del MVC ?

Y hay muchas formas de hacerlo, los frameworks estandarizan y obligan a unas buenas prácticas mínimas
#26 no se cómo programas tú. En mi empresa la lógica de negocio es totalmente independiente al framework y casi todo uso externo se encapsula. Por lo que hace muchos años que nada de lo que tenemos programado depende o tiene la forma de programar de ningún framework. Por cuestiones de mantenimiento, el acoplamiento a nada es mínimo y solo a librerías de bajo nivel. Aún así muchas se encapsulan.
Cada cosa hace una sola cosa y eres tú quien le provee de todo lo necesario, no va a buscarlo a ningún sitio. Y las IA son un auténtico lujo para eso.
Les dices donde quieres el código, como quieres el código y aislas el ámbito que puede tocar. Y es un puto lujo.
A mí sí que me ha hecho mucho más productivo pero más que nada porque me ayudaba a empezar. Estaba pasando por una mala racha de depresión y me costaba muchísimo empezar a programar por las mañanas. Empecé a generar el código con Copilot y luego arreglándolo y gracias a eso me puse desbloquear.
Ahora tenemos Cursor y la verdad es que es mil veces mejor. Si se le explica la tarea lo hace bastante bien y si no rechazas lo que ha hecho y pruebas de nuevo.
Me pregunto un par de cosas, cual es el balance neto entre horas de desarrollo que eliminan los asistentes de código y las horas que hay que pasarse reparándolo y cuanto tiempo seguiran siendo necesarios este tipo de arreglos teniendo en cuenta que la tecnología sigue mejorando cada día.
#3 Depende.
En mi curro yo los uso para que me creen tests (que reviso) o me arreglen tests que están fallando por diferentes razones, y me ahorran bastante tiempo.
De vez en cuando también para que me implementen algo pequeño que yo no sé hacer de cabeza (yo que sé, algo que necesita una librería que no me apetece mirarme).

También los usamos para que hagan revisiones de código, y son cada vez mejores. No dicen muchas tonterías y suelen dejar comentarios muy útiles.

bisect también funciona muy bien para hacer diagnósticos complicados.

Obviamente no pueden sustituir a un humano, pero que un humano usando una IA hace mucho más trabajo que antes, sin ninguna duda.
#3 La vez que he visto esto medido, un programador que usa IA tarda un 18% más de lo que habría tardado sin IA. Sin embargo la percepción subjetiva es que ha ahorrado tiempo.

Pero no, la tecnología no sigue mejorando. La IA ha llegado a un punto de rendimientos decrecientes, y eso sin solucionar ninguno de los problemas existentes.

menéame