edición general
34 meneos
115 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
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
#13 Si, la IA es una estupenda herramienta de procrastinación..xD xD
#9 Es más, esto a medio plazo generará muchos puestos de trabajo en las empresas que no vayan directas a la quiebra
"¿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
#27, entonces es que no estás modularizando bien. Repito con una una modularización y unos buenos tests unitarios la IA es un boost de productividad increíble. Las ventanas de contexto son cada vez más grandes. Mi experiencia personal es que con la IA programo 4 veces más rápido y no solo eso, me ahorra tiempo respondiendo correos, leyendo artículos técnicos, haciendo búsquedas a Internet. Personalmente opino que los que dicen que no le están sabiendo sacarle partido a la IA tienen un gran desventaja competitiva.
#30 En eso estoy de acuerdo, pero es fundamental saber muy bien lo que se está haciendo

Yo soy más ingeniero de sistemas, y cuando programo (fui programador) es porque tengo que hacer un favor. Sí que he notado que hacer una aplicación web me sale mucho más rápido que cuando me dedicaba a eso... pero siempre y cuando revise bien qué pretende hacer la IA
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.
#28 En mi empresa la lógica de negocio es totalmente independiente al framework
En tu empresa y en todas. La logica de negocio no tiene nada que ver con el framework. Los framework no se ocupan de eso.

Una aplicación web tiene muchas partes, no solo es la lógica de negocio.

En las aplicaciones de escritorio los frameworks son menos útiles, salvo para la capa de presentación y aún asi se recurre a una serie de bibliotecas "estándares".

La IA sin librerías externas y sin…   » ver todo el comentario
#29 yo sinceramente, la veo una herramienta indispensable hoy en día y saberla utilizar reduce tu tiempo de desarrollo muchísimo.
Y luego que se adapta al interlocutor. Mira como nos expresamos jijijiji es verídico ehh no es trola. Es mi puto pc  media
#34 No he dicho que no
Con el vibe coding han hecho un prototipo y ahora el programador hará el producto de verdad.
#21, no se si conoces la frase de "dime cual es su opinión y le mostraré un artículo científico que la apoye". Y más allá de las coñas y de que leí por encima un resumen de este artículo, sinceramente no me creo sus conclusiones. El tiempo irá poniendo las cosas en su sitio. Pero no me creo en absoluto que alguien usando la IA para programar sea más lento que quien lo hace a modo tradicional.
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