- Las herramientas de IA han elevado la productividad de desarrollo y la capacidad de los equipos, pero la calidad y estabilidad del software no han mejorado en la misma medida, así que los usuarios ya esperan una peor experiencia después de cada actualización
- La autenticación repetida con FaceID en apps bancarias, Slack robando el foco, el fallo al solicitar una garantía de LG y errores en el infotainment del auto muestran cómo los bugs cotidianos interfieren con las finanzas, el trabajo, la atención al cliente y la conducción
- A diferencia del pasado, se han ido acumulando nuevas abstracciones, frameworks de frontend y complejidad de infraestructura, y junto con estándares más altos de experiencia de usuario los sistemas se vuelven cada vez más frágiles
- Incluso con modelos recientes y presupuesto suficiente de tokens, mejorar la estabilidad difícilmente destaca en los KPI o en las presentaciones, así que las empresas priorizan nuevas funciones y rediseños por encima de corregir bugs
- Mientras las empresas acumulan deuda de IA, los desarrolladores independientes pueden intentar crear software que antes era difícil de construir, y el rechazo a macOS y Windows podría extenderse a la mejora del software de uso diario
La experiencia de usuario sigue empeorando incluso en la era de la IA
- En medio del boom de la IA, la gente gasta tokens en exceso para asegurar valor de mercado antes de que todo se automatice
- La mejora del rendimiento de los modelos, los despidos continuos de programadores y la predicción de que para fin de año la IA escribirá el 100% del código alimentan la ansiedad
- La era de los agentes promete mayor productividad y calidad
- Las nuevas herramientas ya cambiaron la forma de crear y usar software
- Han aumentado las entregas que la dirección exige a los equipos, y es posible que la capacidad promedio de los equipos de software también haya subido a otro nivel
- Sin embargo, muchos productos reales ni siquiera logran garantizar una estabilidad básica
- Las apps bancarias exigen en promedio tres inicios de sesión con FaceID antes de mostrar la pantalla de verificación de 3D Secure
- Slack para macOS se abre tarde y le quita el foco a Ghostty, enviando a un chat grupal el comando
git pullque se estaba escribiendo en la terminal - La solicitud de garantía de un refrigerador LG falló en el paso final de envío de un formulario de varias etapas con innumerables campos, y solo fue posible detectar el error revisando la consola de JavaScript
- El sistema de infotainment del auto se reiniciaba cada vez que se conducía después de una actualización, desaparecía el sonido de las direccionales o se abría la radio en lugar de Google Maps, y además la entrada en pantalla tenía retrasos de 1 a 2 segundos
- Los fallos del auto van más allá de una simple molestia de UX y hasta reducen la concentración al conducir
- El PM del equipo que rediseñó el OS del auto celebró el resultado en LinkedIn, pero los usuarios reales siguieron batallando con el producto
- Es probable que esos equipos usen los modelos más recientes y un amplio presupuesto de tokens, y los LLM también pueden rendir muy bien en la corrección de bugs si se les da la oportunidad
Cómo la complejidad y los KPI desplazan la calidad
- El software siempre ha tenido bugs, y la nostalgia por la época de macOS Snow Leopard como si hubiera sido completamente estable mezcla algo de memoria selectiva
- Si el software del pasado era mejor, la razón principal es que era mucho más simple que el de ahora
- Después se añadieron nuevas abstracciones, frameworks de frontend y más complejidad de infraestructura
- Los estándares de experiencia de usuario siguieron subiendo, pero el sistema completo se volvió aún más frágil
- Las actualizaciones de macOS y de las apps que dependen de él se han convertido más en motivo de preocupación que de expectativa, y los usuarios primero asumen que la nueva versión podría ser peor que la anterior
- El problema no es tanto la IA en sí, sino dónde se prioriza su uso
- La infraestructura de GPU ha dado capacidades muy poderosas a los desarrolladores, pero no se está usando lo suficiente para crear mejor software
- Las empresas de software llevan mucho tiempo moviéndose en función de los KPI, y las mejoras de estabilidad pueden no reflejarse directamente en las métricas
- Un plan de pasar todo un trimestre sin nuevas funciones ni rediseños para enfocarse solo en corregir bugs difícilmente luce bien en una presentación
- Mientras estas prioridades no cambien, el deterioro de la calidad del software también seguirá siendo inevitable
Una oportunidad abierta para los desarrolladores independientes
- Mientras las empresas caen colectivamente en deuda de IA, los desarrolladores independientes ganan la oportunidad de crear software que antes estaba fuera de su alcance
- Las expectativas sobre Android Auto de los autos o el sitio web de LG son bajas, pero la frustración acumulada con su estado actual puede convertirse en un motor para mejorar el software de uso diario
- Ya está surgiendo un movimiento de rechazo frente a la situación actual de macOS y Windows
- Hay esperanza de que esta corriente se extienda a todo el stack de software
1 comentarios
Comentarios de Hacker News
Antes uno actualizaba con ilusión por ver qué función nueva llegaba gratis, e incluso buscaba los cambios de Fedora Workstation 45, pero ahora las actualizaciones del teléfono, la TV, el auto y los sistemas operativos que no son Linux primero dan miedo
Preocupa que vuelvan a agregar funciones no deseadas y conexiones externas; macOS, por ejemplo, ya desde hace mucho quitó esa expectativa al hacerte buscar un borde transparente diminuto para redimensionar ventanas
Windows 11 parecía usar patrones oscuros como volver a recomendar funciones de conexión no deseadas o funciones de IA después de una actualización de seguridad
Salvo los videojuegos, me molestan casi todas las actualizaciones de software, y hasta en Dead By Daylight consuela un poco que la incompetencia de Behaviour se quede dentro del juego
El software privativo ya no se hace para el usuario, pero parte del FOSS todavía sí pone al usuario primero
En cambio, distribuyen el “entorno conectado” mediante paquetes Store/AppX que se actualizan automáticamente, y al reiniciar tras un parche ejecutan OOBE para volver a recomendar o activar funciones
Técnicamente no está atado a la actualización de seguridad, pero sigue siendo un patrón oscuro que ignora al usuario
La combinación de estas herramientas con la cultura de Silicon Valley de “muévete rápido y rompe cosas” elevó las expectativas de la gerencia sobre la producción de los equipos, y cargar con esa expectativa es lo más doloroso
El software puede hacerse rápido, pero obtener confianza en que es correcto requiere más tiempo
Con generación de código por IA, un ingeniero experimentado quizá pueda hacer en una hora algo que antes tomaba una semana, pero eso no reduce el tiempo de verificación de exactitud
Muchos desarrolladores solo toman la ventaja de la velocidad de generación e ignoran el costo de confirmar estabilidad, rendimiento y ausencia de fallas, aunque la caída de calidad en el software de consumo ya venía desde antes de la IA
El efecto varía mucho según la tarea, no escala de forma lineal en proyectos de largo plazo y a veces la IA incluso causa más retraso
Si ignoras la calidad puedes ir rapidísimo, pero incluso sin IA también se avanza mucho más rápido si no te importa la calidad
Por mucho que se desarrolle, un resultado que haya funcionado bien 3 meses en campo es más confiable, así que hay que lanzar temprano y seguido
La calidad del software siempre ha dependido de los incentivos del mercado, y la IA no crea por sí sola motivación para hacer software robusto
El mercado recompensa elegir productos integrales de Microsoft en vez de apps que no se rompan con cada actualización o combinaciones de varias soluciones independientes
Antes simplemente no se podía hacer eso por falta de potencia de cómputo y conocimiento, y ahora la industria parece haber encontrado la condición mínima para que el software apenas se mantenga en pie y el límite de pequeñas molestias que el usuario tolera
Solo se hace software completo y correcto cuando el riesgo de responsabilidad legal por defectos es alto
El Wayland de KDE Plasma tiene una configuración global para controlar qué ventanas pueden robar el foco, y funciona muy bien
Cada vez que uso una Mac de trabajo o una PC con Windows extraño esta función; la documentación está en “Focus stealing prevention”: https://docs.kde.org/trunk_kf6/en/kwin/kcontrol/windowbehavi...
Se siente como si Windows 7 hubiera seguido mejorando lentamente y hubiera sumado un grado útil de terminación
NixOS tiene un problema viejo donde la carga de librerías es n² y los programas GUI arrancan lento, pero incluso en una mini PC N100 todo se ejecuta en alrededor de 1 segundo y también mueve sin problemas un monitor 4K 240Hz HDR
Sobre todo, la computadora hace exactamente lo que se le ordena
Si el usuario espera y luego hace otra entrada, eso podría ser una señal de que ya no quiere darle el foco a esa app, pero da la impresión de ser un diseño que solo asume la situación optimista donde la app abre de inmediato
En los teclados táctiles las palabras sugeridas cambian justo antes de que el dedo toque la pantalla, y en iOS Liquid Glass o en apps web inestables hasta se mueven los botones
También sobran los pop-ups y los intentos de interacción como “¿Te gusta esta app?”
El robo de foco en Windows ya era un problema en 1995, y estos cambios repentinos repetidos cada 100 ms siguen estimulando la respuesta de sobresalto muscular y el sistema límbico hasta el punto de terminar temblando horas después
Hay que parar con los estímulos tipo tragamonedas y las métricas de interacción que buscan más clics, y permitir que la gente se concentre en su trabajo
Mientras el usuario está escribiendo o interactuando con la UI, debería ser predeterminado un debounce contra robo de foco para que ninguna otra app pueda tomar el foco bajo ninguna circunstancia
Aunque se usen pop-ups, sonidos o íconos parpadeando, no se debería permitir que una app ajena a lo que estás haciendo intercepte la entrada
Ni siquiera casos como Cisco AnyConnect, que exige una excepción porque ya se conectó después de pulsar el botón de conexión; así como no se tolera que una app de terminal robe
STDIN, tampoco debería permitirse en una GUIPuede ser un bug, pero si el usuario hizo clic en otra ventana antes de que terminara de abrirse la app, podría ser más bien una función apropiada
Como en X11, se puede evitar dar foco a una ventana nueva, pero quizá no sea el comportamiento que quiere la mayoría de los usuarios
El problema nunca fue el acto de escribir código, sino el proceso de construir algo con cuidado y rigor
El desarrollo de software avanzó durante mucho tiempo acumulando hábitos, salvaguardas y estructuras probadas, pero ahora basta con describir el problema y los resultados generados demasiado rápido no se revisan bien, al punto de que ni se sabe qué se terminó desplegando
Igual que los muebles artesanales se convirtieron en productos de fábrica donde ya nadie sabe quién hizo qué parte y duran menos, el software también llegó a una etapa de ensamblaje y despliegue sin comprensión
La mala calidad se irá acumulando, pero también podría ser el inicio de un ciclo en el que volvamos a pensar seriamente cómo hacer bien las cosas
Si no se va a revisar el código, dejarle código a la IA no es especialmente peor que ejecutar
PIPoNPM installsin revisar nadaEl software sigue empeorando porque la premisa misma de que codificar ya está resuelto es falsa
Codificar ha sido barato desde hace mucho tiempo y las empresas lo tercerizaron con la mano de obra más barata, pero la capacidad de identificar problemas y diseñar soluciones es otra cosa
El código es más deuda que activo, así que solo debería escribirse el mínimo necesario para resolver el problema real, y para eso hacen falta ingenieros
Si después de revisar la salida de la IA y corregir errores el tiempo termina siendo parecido al de escribirlo uno mismo, entonces no ayuda mucho en el trabajo
Estoy de acuerdo en que el software está empeorando, pero no se puede culpar solo a la IA
Los fallos al transmitir TV por streaming, los errores 500 en el navegador y las pantallas azules en pantallas táctiles públicas ya existían desde antes
Además de que la cantidad de programadores creció exponencialmente y la mitad tiene apenas unos pocos años de experiencia, practicar solo algoritmos de un solo hilo no basta para lidiar con sistemas distribuidos, CQRS, event sourcing, auditabilidad e idempotencia
También, si responsables de producto no técnicos (PO) controlan el ciclo de vida y hacen que solo se implemente la ruta feliz del MVP, los bugs y una futura reescritura quedan garantizados
Los lenguajes se volvieron más amigables para principiantes, pasando de C++ a Java, JavaScript y Python, pero el trabajo se volvió más complejo con sistemas distribuidos entre empresas, operación 24/7, millones de usuarios, seguridad y aprendizaje automático
Mientras venden como “noticia emocionante” los ascensos ejecutivos y la integración de departamentos, desaparece la continuidad para mejorar el producto
No hace falta aplicar Agile de forma literal y tonta; tanto en infraestructura como en apps para usuarios, se pueden planear las funciones que harán falta en 3, 6 y 12 meses basándose en productos previos, competidores y la experiencia del equipo
Igual que al seguir un GPS ves la ruta completa y los siguientes tres pasos, Agile no significa que solo piensas en el siguiente paso cuando acabas el actual
Si una máquina fabrica camas 150% más rápido pero tiene una tasa de defectos del 70%, al mismo tiempo aumentan los productos defectuosos, desaparece la experiencia de la carpintería y cae la motivación y utilidad de los artesanos
Aunque algún día la máquina mejore, mientras tanto muchísima gente tendrá que dormir en camas horribles
Un LLM no puede leer y entender toda una base de código de una sola vez para luego tomar decisiones a partir de ese entendimiento
La parte difícil de programar no es una función o una clase, sino cómo interactúan dentro de un sistema enorme, y la escala del software es fundamentalmente mayor que la ventana de contexto de un LLM
Aunque la ventana de contexto crezca, eso no significa que acumule entendimiento como una persona, así que no se puede decir que la IA haya resuelto la programación
En proyectos nuevos sí es útil, pero hacer software nuevo rápido ya era más fácil que trabajar sobre código viejo