The 8-Bit Kickboxing Kid — Fullstack Developer

PRESENTACIÓN

QUIÉN SOY
Soy Tom Senior, y soy software developer. Lo de Senior no es porque sea senior developer, sino porque mi padre también era Senior de apellido, de ahí que yo sea Tom Senior y no, por ejemplo, Tom Junior. Sin embargo, mi padre también se llamaba Tom, así que realmente soy Tom Senior Junior, pero no porque sea junior developer, sino porque me llamo igual que mi padre.
Soy un apasionado del kickboxing, pero sobre todo soy un apasionado de la tecnología, la informática, la retroinformática, y el Commodore 64.
También me gusta mucho el cine, y me considero cinéfilo. Sólo veo películas que traten de la condición humana y que me hagan pensar.
Y también soy freelancer, nómada digital, proactivo, y adicto al trabajo.

MIS ORÍGENES
Mi padre era marine americano destinado en la base de Rota, en Cádiz, y mi madre es española de Algatocín. A mis tres años de edad nos mudamos a California al terminar mi padre su servicio en Rota, y no regresé a España hasta pasados quince años.

DÓNDE ESTUDIÉ
Al regresar a España fui directo a Madrid y estudié en la Pollitécnica, donde obtuve el mejor expediente de mi promoción y seis matrículas de honor. Y tengo ya más de cuarenta años y todavía no me canso de decirlo.

Mi ceremonia de graduación. Momento de la entrega de matrículas.
No es IA, se parecen entre ellos porque son hermanos los seis. Es lo que tiene ser un país de nepotistas y enchufados... Ssshhhh, calladito.

MI PRIMER TRABAJO
Después de graduarme no encontraba trabajo en España, cosa rara porque en España siempre ha habido mucho trabajo y las empresas son muy generosas y se preocupan por la gente. Así que volví a Estados Unidos y estuve nueve años trabajando para una consultora de Palo Alto. Participé en un proyecto de alto valor tecnológico para una alta entidad financiera de alto nombre y prestigio. Debido a lo mucho que un proyecto como este podía aportarme a mí y a lo poco que podía aportar yo, mi contratación suponía una situación de desequilibrio, una circunstancia en la que yo salía demasiado beneficiado y que era totalmente injusta para la entidad, así que acordamos que empezaría trabajando sin cobrar hasta demostrar mi valía. Hay pocas cosas en esta vida más gratificantes que trabajar gratis para un banco, sólo por el placer de aprender. Yo, es que soy proactivo y adicto al trabajo. Gracias, Robert Kiyosaki (er quillo). Y pa cenar, gachas de harina.

REGRESO A ESPAÑA
En California conocí a una colombiana que me robó el corazón. Yo, a ella, le robé el bolso. Y le gorroneé todo lo que pude. Es la consecuencia irremediable de no tener ni un centavo. Nos hicimos novios, y después de un tiempo juntos decidimos venir a España.
Tras haber vivido en varias ciudades de Estados Unidos y de España, actualmente me considero un nómada digital y un desarrollador freelance. Sí, me han dicho muchas veces "¡ea!, pues ya hemos terminado, y no te quejes, que te vamos a pagar el día entero". Pero paso la mayor parte del tiempo en Marbella. Aquí he trabajado ya para tres empresas distintas y creo haber encontrado el lugar ideal para pasar el resto de mi vida. Creo que encajo bien con el ambiente que he encontrado en esta ciudad, porque hay muchos empresarios y gente de bien, personas que se preocupan por los demás y generan bienestar y riqueza para todos.

Mis compis de la oficina de Marbella.
No tenemos futbolín ni fruta fresca, pero tenemos a Roxanne y la llave del cuarto de contadores.
♫♫ Roooooxanne, you don't have to put on the red light... ♫♫
CURRICULUM VITAE
Formación
Universidad Pollitécnica de Madrid
Experiencia profesional
TechNova Consulting - Global National Bank · Palo Alto, California, EE.UU.
- Desarrollo de aplicaciones bancarias internas
- Diseño e implementación de nuevas funcionalidades para la plataforma de banca corporativa.
- Desarrollo de módulos para la gestión de cuentas, transferencias y autorizaciones.
- Corrección de incidencias detectadas por usuarios y equipos de negocio.
- Evolución funcional de aplicaciones existentes.
TecnologíasJava · Spring · Spring Boot · Maven · JPA / Hibernate · Oracle · Database · Git
- Desarrollo Frontend
- Implementación de nuevas pantallas para aplicaciones internas.
- Desarrollo de formularios complejos con validaciones.
- Adaptación de interfaces para distintos tamaños de pantalla.
- Integración con APIs REST desarrolladas por otros equipos.
TecnologíasHTML5 · CSS3 · JavaScript · Bootstrap
- Integración entre sistemas
- Desarrollo de servicios REST consumidos por aplicaciones internas.
- Integración con sistemas de autenticación corporativos.
- Consumo de servicios de terceros mediante APIs.
- Serialización y transformación de datos JSON.
TecnologíasSpring MVC · REST · JSON · JWT · Swagger
- Mantenimiento y mejora del rendimiento
- Análisis y resolución de incidencias de producción.
- Optimización de consultas SQL.
- Refactorización de componentes heredados.
- Reducción de tiempos de respuesta de operaciones críticas.
TecnologíasOracle · SQL · PL/SQL · Hibernate · VisualVM
- Calidad del software
- Desarrollo de pruebas unitarias.
- Revisión de código mediante Pull Requests.
- Aplicación de estándares de codificación.
- Corrección de vulnerabilidades detectadas durante auditorías.
TecnologíasJUnit · Mockito · SonarQube · Checkstyle · GitHub
- Integración continua y despliegue
- Automatización de compilaciones.
- Configuración de pipelines de integración continua.
- Despliegues en entornos de desarrollo, pruebas y preproducción.
- Monitorización de ejecuciones y resolución de errores de despliegue.
TecnologíasJenkins · Maven · Docker · Kubernetes · Nexus
- Colaboración con equipos multidisciplinares
- Participación en reuniones de planificación.
- Refinamiento de historias de usuario junto con analistas funcionales.
- Coordinación con arquitectos y administradores de bases de datos.
- Soporte técnico a equipos de QA durante las pruebas funcionales.
TecnologíasScrum · Jira · Confluence · Agile
- Seguridad y cumplimiento normativo
- Implementación de controles de autorización.
- Protección frente a vulnerabilidades OWASP.
- Gestión segura de credenciales y secretos.
- Adecuación de aplicaciones a las políticas internas del banco.
TecnologíasSpring Security · OAuth2 · JWT · Vault
Ayuntamiento de Tetulcias · Tetulcias
- Técnico Auxiliar de Enchufamientos Varios, bajo supervisión del Técnico Cacique Superior de turno
- Enchufes de pared, con y sin toma de tierra.
- Enchufes de electrodomésticos, neveras y aires acondicionados pa estar fresquitos en el despacho.
- Amigas, familia y conocidos del Técnico Superior, con tecnología MenestraClever (el dinero público no es de nadie).
TecnologíasMenestraClever · NepoteFiel · ClassicSpain · Oracle · Git
Recauchutados Manolo · Madrid
- Desarrollo de aplicaciones internas
- Implementación de módulos para la gestión de pedidos y producción.
- Desarrollo de nuevas funcionalidades solicitadas por los distintos departamentos.
TecnologíasJava · Spring Boot · Maven · DB2 · Git
- Mantenimiento de aplicaciones
- Resolución de incidencias detectadas por los usuarios.
- Optimización de consultas SQL y mejora del rendimiento.
TecnologíasSQL · Hibernate · Jenkins · SonarQube
Cristalería Paquito · Valencia
- Arquitectura de microservicios
- Diseño de APIs REST para procesos logísticos.
- Coordinación técnica con el resto del equipo de desarrollo.
TecnologíasSpring Boot · Docker · Kubernetes · Redis · RabbitMQ · PostgreSQL
Русское дело - Ruskeye Diela - La Cosa Rusa SL · Marbella
- Departamento de optimización avanzada de aduanas
- Desarrollo de un sistema de gestión documental para el procesamiento automatizado de declaraciones y expedientes.
- Gestor documental con desaparición espontánea de documentación e inventario.
TecnologíasJava 21 · Spring Boot · Spring Batch · PostgreSQL · Kafka
- Reubicación involuntaria de mercancías
- Implementación de una plataforma de seguimiento de envíos y sincronización de inventarios en tiempo real.
- Diseño del modelo de persistencia de datos.
TecnologíasSpring Boot · Redis · RabbitMQ · Docker · Hibernate · JPA · PostgreSQL
- Importación de vehículos de 'bajo kilometraje'
- Desarrollo de un portal de gestión de vehículos, historial de mantenimiento y documentación de importación.
- Desarrollo de nuevas funcionalidades.
TecnologíasSpring Boot · MySQL · Hibernate · Apache POI
- Logística nocturna
- Optimización de procesos batch de planificación de rutas y distribución ejecutados durante la madrugada.
- Sistema altamente tolerante a registros policiales inesperados.
- Optimización de consultas SQL y mejora del rendimiento.
TecnologíasSpring Batch · Quartz Scheduler · DB2 · JMS
Matrioshka Capital SL · Marbella
- Dep. Resoluciones extrajudiciales de desacuerdos
- Desarrollo de un gestor de incidencias, mediaciones y flujo de aprobaciones entre particulares y empresas.
- Desarrollo de autorización basada en JWT.
TecnologíasSpring MVC · Spring Security · Camunda · Hibernate · Oracle
- Dep. Protección empresarial persuasiva
- Desarrollo de una aplicación de control de accesos, autorizaciones y registro de visitas.
- Migración de servicios SOAP a REST.
TecnologíasSpring Boot · Spring MVC · Spring Security· Keycloak · JWT · LDAP
- Auditorías SECA (Señores Enormes con Chándal Adidas)
- Implementación de una herramienta de auditoría interna con generación automática de informes y registro de actividad y visitas.
TecnologíasJava · JasperReports · ELK Stack (Elasticsearch, Logstash, Kibana) · Logback
- Servicios de convencimiento estratégico
- Desarrollo de un CRM para la gestión de clientes, seguimiento de negociaciones y planificación de visitas.
- Desarrollo de paneles de administración.
TecnologíasSpring Boot · PostgreSQL · Kafka · Angular
- Recuperación de activos especialmente perdidos
- Implementación de un sistema para localizar y gestionar activos corporativos mediante geolocalización y auditoría.
- Integración con APIs REST.
- Análisis de calidad del código.
TecnologíasJava · Elasticsearch · PostgreSQL + PostGIS · REST APIs · Angular · Fetch API · Axios · SonarQube
- Gestión de maletines
- Desarrollo de un sistema de trazabilidad de entregas con firma digital, códigos QR y registro de custodia.
TecnologíasJava · Spring Data JPA · Spring Security · Redis · OpenAPI
Chicas Checas - Check Chicks (Bohemian Velvet Entertainment Group) · Marbella
- Desarrollo de chat en directo y sistema de propinas
- Experiencia Interactiva. Plataforma de mensajería instantánea para transmisiones en directo. Gestión de propinas virtuales, mensajes privados y moderación de contenido.
TecnologíasSpring WebFlux (reactivo) · Socket.io · RabbitMQ · MongoDB · React Native (móvil)
- Optimización y pruebas
- Plataforma para probar diferentes thumbnails, títulos sugerentes y posiciones de botones de "Play". Descubrir qué imagen genera más clics.
- Alcancé todo un hito profesional al conseguir que el reproductor dejara de preguntar al usuario "¿Sigues ahí?" en el momento menos oportuno.
TecnologíasSpring Boot · Redis · Apache JMeter · React · Google Analytics API
- Gestión de Talento - Recursos Humanos
- CRM interno para gestión de perfiles de colaboradoras, contratos, pagos por escena, pluses por trabajos especiales, calendarios de grabación y verificación documental exhaustiva.
TecnologíasJavaFX (cliente de escritorio) · Spring Security · LDAP integration · JasperReports (contratación) · Angular Material
TECNOLOGÍAS Y CONOCIMIENTOS
Antes de leer esta sección, es importante que comprendas
que domino todas y cada una de las tecnologías que aparecen a continuación.
De principio a fin.
Absolutamente TODAS.
Tratándose de mí, y con la barba de geek que tengo, no podía ser de otra manera.
No las habría incluido si no fuese cierto.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

KOTLIN
Nivel: Alto
Cada vez que alguien presume de usar Kotlin, tarda exactamente treinta segundos en mencionar que Java ya no está a la altura. Curiosamente, luego despliega sobre la misma JVM, usa las mismas bibliotecas y cobra exactamente el mismo salario basura.

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

PYTHON
Nivel: Alto
Python es perfecto para escribir cualquier cosa rápidamente. También para que alguien convierta un script de veinte líneas en el corazón de la empresa. Pasado un tiempo, alguien pregunta: «¿por qué va todo tan lento?»

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

C++
Nivel: Alto
C++ te promete control absoluto del hardware. Y cumple. También controla tu tiempo libre... tu paciencia... y tus ganas de vivir cuando un error de memoria aparece dos semanas después de haber escrito el código.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

JAKARTA EE
Nivel: Alto
Jakarta EE no sigue vivo porque sea bonito. Sigue vivo porque apagarlo diez minutos costaría a un banco o a una empresa más dinero de lo que el consejo de administración se gasta en p. en un año.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

MICRONAUT
Nivel: Buenísimo
Elegí Micronaut porque odio desperdiciar recursos. Luego abrí Chrome y perdí toda autoridad moral.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

FLASK
Nivel: Alto
Elegimos Flask porque solo instalas lo que necesitas. Al cabo de un tiempo nuestra empresa aplicó la misma filosofía al equipo y decidió que tampoco necesitaba programadores.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

NEST JS
Nivel: Extraordinario
NestJS pone orden en JavaScript. Algunos desarrolladores llevan años intentando devolver el desorden por orgullo profesional.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

SYMFONY
Nivel: Magnífico
Un proyecto Symfony nuevo transmite paz. Un proyecto Symfony con diez años transmite historia. Uno con diez años y cinco consultoras transmite auténtico terror arqueológico.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

IBM DB2
Nivel: Meraviglioso
IBM DB2 tiene tanto historial que, cuando abro la documentación, encuentro referencias a tecnologías que ya estudian los arqueólogos. Y, aun así, sigue dando menos problemas que muchos proyectos nuevos.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MS SQL SERVER
Nivel: C1
Siempre confío en SQL Server. Si algo falla, abre SQL Server Management Studio, pulsa cinco veces en «Refresh» y mira muy serio la pantalla. El problema no desaparece, pero los demás creen que sabes exactamente lo que haces.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

CASSANDRA
Nivel: Superlativo
Cassandra presume de que ningún nodo es imprescindible. Después de configurar un clúster entero, descubrí que el único imprescindible era el compañero que entendía la configuración. Desde entonces nadie se atreve a darle vacaciones.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

REDIS
Nivel: Astonishing
Redis demuestra que la velocidad lo es todo. El problema llega cuando la RAM empieza a parecer un apartamento en el centro: demasiado pequeña para todas las cosas que hemos decidido guardar.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

H2 DATABASE
Nivel: Exquisito
«En mi ordenador funciona perfectamente». Claro, llevas tres meses probando contra H2. Luego llega Oracle a producción y descubre que vuestra relación era puramente platónica.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

TOMCAT
Nivel: Milagroso
—¿Usas Tomcat?
—Sí.
—¿Y no quieres algo más moderno?
—No. También sigo usando papel higiénico. Hay tecnologías tan buenas que no necesitan reinventarse cada seis meses para parecer inteligentes.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

WILDFLY
Nivel: Altísimo
Me encanta WildFly. Arrancarlo cada mañana cuenta como entrenamiento cardiovascular. Mientras carga, hago café, desayuno, reviso el correo y aún me sobra tiempo para arrepentirme.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

WEBLOGIC
Nivel: Supremo
WebLogic cuesta una fortuna, así que cuando consigo arrancarlo sin errores me siento obligado a comportarme como un consultor sénior. Si has desplegado en Tomcat... pues qué tierno. Ya crecerás.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

NETTY
Nivel: Altísimo
Netty mueve millones de conexiones con una elegancia insultante. Luego llega un compañero, mete un Thread.sleep() donde no debe y consigue que parezca PHP ejecutándose en un disquete. Cuando alguien presume de rendimiento y me habla de «miles» de conexiones simultáneas, automáticamente dejo de escuchar. Netty tampoco perdería el tiempo.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

RABBIT MQ
Nivel: Extraordinario
Me encanta RabbitMQ. Es el único conejo capaz de transportar millones de mensajes sin cagarse en la alfombra. Bastante más educado que el de mi vecino.

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

KAFKA
Nivel: Superior
Mi arquitectura tiene Kafka, eventos, particiones y replicación. El programa imprime «Hola, mundo». Pero lo hace con una escalabilidad que asusta.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

DOCKER
Nivel: Alto
Mi mayor habilidad como programador es escribir un Dockerfile de doscientas líneas para ejecutar un programa que antes arrancaba con un doble clic.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

HELM
Nivel: Timonel
Helm simplifica desplegar Kubernetes. Lo demuestra envolviendo treinta archivos YAML dentro de cuarenta plantillas. Cuando algo falla, rezas para que el mensaje de error tenga más de cuatro palabras.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

NEXUS
Nivel: Muy alto, demostrable
Nexus guarda todos nuestros artefactos. También conserva dependencias que nadie recuerda haber usado desde 2014.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

PODMAN
Nivel: Máximo
Cuando alguien pregunta por Docker, respondo Podman. No porque sea siempre mejor, sino porque me gusta ver cómo empieza otra discusión de dos horas.

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

APACHE HTTP SERVER
Nivel: Extraordinario
Mi servidor sigue usando Apache. Algunos lo llaman antiguo. Yo lo llamo «tecnología que sobrevive a las modas y a tres directores técnicos».

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

TRAEFIK PROXY
Nivel: Extraordinario
Traefik detecta servicios automáticamente. Es fantástico. Descubre microservicios que ni el equipo recordaba haber desplegado.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

LINKERD
Nivel: De fantasía pura
Elegimos Linkerd porque queríamos un service mesh ligero. Linkerd demuestra que, a veces, menos complejidad también cuenta como una funcionalidad.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

ETCD
Nivel: El jefe
Distributed /etc guarda la configuración crítica del clúster. Nadie piensa en él hasta que desaparece. Entonces descubres que Kubernetes, en realidad, era un castillo inflable sostenido por un fichero diminuto.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

MAVEN
Nivel: Erudito
Nada une más a un equipo que descubrir que el repositorio Maven acaba de dejar de responder cinco minutos antes del despliegue.

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

YARN
Nivel: Fetén
Hubo una época en la que decir «yo uso Yarn» te hacía parecer un iluminado. Entonces npm copió media idea de yarn, y encima apareció pnpm para arreglar a los dos. Ahora todos hablan de pnpm. El ego del desarrollador caduca sorprendentemente rápido, y donde dije digo...

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

APACHE CXF
Nivel: Muy alto
Apache CXF demuestra que SOAP sigue vivo. Igual que las cucarachas: puedes admirar su resistencia, pero no tienes por qué querer vivir con ellas.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

CHECKSTYLE
Nivel: Alto
Checkstyle encontró un espacio de más y decidió que el proyecto entero era indigno de compilar. El código funciona, pero la llave está dos columnas desplazada. Cuestión de prioridades.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

ERROR PRONE
Nivel: Alto
Error Prone señala un posible fallo que jamás ocurrirá. Ignoras el aviso. Seis meses después ocurre exactamente ese fallo. Desde entonces finges que siempre le hiciste caso y hasta le das las gracias.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

MOCKITO
Nivel: Superior
Si necesitas treinta mocks para probar un método, quizás el problema no sea Mockito. Quizás has diseñado una catedral para sumar dos números.

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

TESTNG
Nivel: Inimaginable
El proyecto tiene tres mil tests TestNG. Fallan dos. Buena suerte encontrando cuáles, porque el informe parece que lo ha escrito el becario con resaca y ganas de tocar los huevos.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

REST ASSURED
Nivel: Torero
REST Assured comprueba tu API sin piedad. Lo malo es que luego ya no puedes culpar al frontend. To lo bueno se acaba.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

PYTEST
Nivel: Magnífico
Pytest hace que escribir pruebas sea tan sencillo que ya no queda ninguna excusa. Habrá que inventar algunas nuevas.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

ELASTICSEARCH
Nivel: Altísimo
Elasticsearch encuentra cualquier cosa. Excepto el documento que necesitas cuando el cliente está presente en la reunión.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

GRAFANA
Nivel: Monstruo
Grafana convierte un desastre operativo en un conjunto de gráficas tan bonito que casi dan ganas de provocar otra caída. Mi jefe no entiende las métricas, pero adora Grafana. Es la herramienta ideal para que aquellos que realmente no aportan nada se entretengan y no molesten al artista.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

GRAFANA LOKI
Nivel: Bastante bueno
Loki prometía indexar menos para ahorrar costes. Pero tu equipo no es muy bueno con las etiquetas. Perfecto. Ahora ahorrar tiempo buscando un log concreto ya es otra historia. El error está ahí, escondido entre millones de líneas, disfrutando de su anonimato.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

JAEGER
Nivel: Senior
Gracias a Jaeger descubrí que una petición sencilla visitaba más servicios que yo de vacaciones.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

LIQUIBASE
Nivel: Erudito
Antes modificábamos tablas a mano. Ahora usamos Liquibase. El desastre tarda un poco más, pero queda mucho mejor documentado.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE FLINK
Nivel: Magician
Con Flink puedes reaccionar a un evento en milisegundos. La empresa responde al informe generado por Flink entre tres y cuatro meses después.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

HTML
Nivel: Fabuloso
Domino HTML desde que las etiquetas todavía tenían complejo de párrafo. Mis etiquetas están tan bien estructuradas que han venido a estudiarlas hasta de Zara. El navegador abre mis páginas y se pone firme por respeto.

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

TYPESCRIPT
Nivel: Admirable
TypeScript dejó de intimidarme hace mucho tiempo. Una vez corregí un tipo delante de todo el equipo y el Scrum Master se levantó, saltando como una loca, a aplaudirme. «¡Bravo! ¡¡bravooo!! ¡¡torerooo!!»

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

NEXT JS
Nivel: Brutal
Mi mayor logro con Next.js ha sido descubrir que borrar la carpeta .next soluciona más problemas de los que yo mismo genero. Desde entonces lo llamo «compilación incremental manual».

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

EMBER
Nivel: C1
Ember lleva tantos años funcionando que merece todo mi respeto. Mi experiencia con él consiste en haber leído toda la documentación antes de decidir usar React.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

SVELTE
Nivel: Impresionante
Svelte compila todo de maravilla. Mi aplicación sigue teniendo errores, pero al menos ahora se generan mucho más rápido.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

ASTRO
Nivel: Tremendo
Astro permite mezclar React, Vue, Svelte y otros frameworks en el mismo proyecto. Exactamente la flexibilidad que necesitas para que tu código sea inmantenible.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

IONIC
Nivel: Grandioso
¿Que no hay plugin para lo que quieres hacer? ¿Y a qué esperas pa ponerte a hacerlo tú mismo? No seas egoísta y dale al mundo algo gratis, las grandes corporaciones te lo agradecerán con una sesión de team building, una dinámica de grupo de 80 personas, o quizás una yincana que aburre a las ovejas.

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

ONSEN UI
Nivel: Extraordinario
¡Que alguien rompa ya la lápida de este nicho, que se están asfixiando los desarrolladores dentro!

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

RIOT JS
Nivel: Milagroso
Es fácil defender su uso cuando casi nadie en la reunión lo ha usado y puedes inventarte tranquilamente la mitad de las ventajas.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

SOLID JS
Nivel: Alto
Aseguro que SolidJS supera a React en rendimiento. Mi única prueba consiste en una calculadora que nunca llegó a producción, pero los benchmarks emocionales me dan toda la razón.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

LIT
Nivel: Alto
Llevo años diciendo que los Web Components son el futuro. Pero el futuro tiene la mala costumbre de llegar bastante más despacio que mis presentaciones de PowerPoint.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

ANGULAR MATERIAL
Nivel: Turing
Domino Angular Material hasta el último detalle. Cuando un componente no hace lo que espero, concluyo que el problema es filosófico, no técnico.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

NG-ZORRO
Nivel: Bueno
¿NG zorro? NG CHINORRO, que la mitad de las guías están en chino.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

ANT DESIGN
Nivel: Bueno
Trae tantos componentes que el proyecto parece terminado el primer día. El segundo descubres que quieres cambiar el aspecto de uno. El tercero ya aceptas que tu aplicación tendrá exactamente el mismo diseño que las otras veinte hechas con Ant Design.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

PRIMEREACT
Nivel: Extraordinario
Tiene componentes para todo. Ahora a ver cuál de las ciento cuarenta propiedades hay que tocar para mover un icono tres píxeles hacia la izquierda.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

RADIX UI
Nivel: Experto
Radix UI separa comportamiento y estilos. Después paso una semana intentando que un botón parezca un botón.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

PURE CSS
Nivel: Ferpecto
Elegí Pure.css porque cualquier framework más grande habría limitado mi talento. Lo poco que ocupa la librería deja espacio suficiente para mi genialidad.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

FOUNDATION
Nivel: Especial
Curva de aprendizaje regular, comunidad reducida, diseño predeterminado, sin personalización profunda. Vamos, más de lo mismo. Pero, ¿por qué no harán un framework que haga las cosas él solo? Ah, que eso decían también de la IA. Ya.

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

SPECTRE
Nivel: Absoluto
Spectre.css presume de ser ligero. Claro que pesa poco, cuando buena parte de lo que necesitas viene incluido en la categoría de «te lo haces tú mismo».

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

REDUX
Nivel: Alto
Este lo domino.

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

MOBX
Nivel: Alto
Ay, este no. ¿Dónde está el becario?

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

XSTATE
Nivel: Mago
XState convierte toda la aplicación en una máquina de estados. Es una idea brillante, siempre que el equipo también disponga de otra máquina capaz de entender el diagrama resultante.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

VUEX
Nivel: Sobrenatural
Vuex fue durante años la respuesta oficial para gestionar el estado en Vue. Hoy su principal función consiste en aparecer en proyectos heredados y recordar que el pasado nunca desaparece del todo.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

GSAP
Nivel: Abysmal
Me gusta GSAP porque me gusta mucho animarlo todo, especialmente las reuniones, cuando intento explicar por qué necesitábamos una librería de cien funciones para mover un botón veinte píxeles.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

LOTTIE
Nivel: Alto
Lottie permite llevar animaciones de los diseñadores directamente al navegador. También permite descubrir que el diseñador considera perfectamente razonable entregar un archivo de cuarenta megabytes para un icono sonriente.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

CHART JS
Nivel: Muy alto
Siempre digo que Chart.js resuelve el 95 % de las gráficas. Mi cliente, con una precisión admirable, siempre necesita exactamente el otro 5 por ciento.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

APEXCHARTS
Nivel: Extraordinario
Algunos instalan ApexCharts porque quieren impresionar al cliente. Después el cliente acaba creyendo que todas las gráficas complejas tardan cinco minutos y cuestan exactamente lo mismo.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

HIGHCHARTS
Nivel: Extraordinario
Nos pidieron que usáramos Highcharts porque hace gráficas espectaculares. Casi tan espectaculares como el cabreo del departamento financiero al descubrir el concepto de «licencia comercial» justo cuando el proyecto ya estaba terminado.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

FORMIK
Nivel: Alto
Dicho por muchos, era la solución definitiva para formularios React. Hasta que apareció React Hook Form, claro.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

VEST
Nivel: Extraordinario
Con Vest validas formularios como si escribieras pruebas. Bastante tengo con las pruebas que ya me da la vida como para convertir también las validaciones en una suite de tests.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

VITEST
Nivel: Alto
Instalamos Vitest porque queríamos ahorrar tiempo. El tiempo ahorrado fue íntegramente invertido posteriormente en pelearnos con la configuración. El universo mantiene siempre el equilibrio.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

TESTING LIBRARY
Nivel: Extraordinario
Testing Library dice que pruebes la aplicación como lo haría un usuario. El problema es que mis usuarios hacen auténticas barbaridades que ni el desarrollador más cabrón sería capaz de imaginar.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

VITE
Nivel: Alto
Algunos presumen de usar Vite porque «Webpack ya es historia». Cinco minutos después instalan siete plugins para que Vite termine comportándose sospechosamente parecido a Webpack.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

ROLLUP
Nivel: Extraordinario
Llevo años copiando el mismo archivo de configuración entre proyectos con una confianza francamente admirable.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

SWC
Nivel: Alto
Siempre recomiendo SWC porque reemplaza a Babel en muchos proyectos. Luego aparece una transformación extraña y Babel entra otra vez por la puerta como si nunca se hubiera marchado.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

RXJS
Nivel: Alto
Cuando veo siete pipe() seguidos, ya no sé si estoy programando o invocando demonios.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

DAYS JS
Nivel: Alto
Este lo uso mucho. De verdad.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

SOCKET IO
Nivel: Alto
Socket.IO hace que todo ocurra en tiempo real. Los bugs también. Antes había que recargar la página para romper la aplicación. Ahora revienta delante del cliente sin perder un segundo.

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

SWR
Nivel: Alto
SWR revalida automáticamente los datos. Es una función fantástica, aunque algunos compañeros todavía preguntan por qué la pantalla acaba de actualizarse «sin tocar nada».

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

PIXI JS
Nivel: Alto
PixiJS renderiza gráficos 2D con una velocidad espectacular. Mi aplicación también, salvo cuando empiezo a añadir efectos porque «queda más bonito».

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

FULLCALENDAR
Nivel: Alto
Este también lo uso mucho. De verdad.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

CODEMIRROR
Nivel: Medio
Instalé CodeMirror para que los usuarios editaran código cómodamente. Tres días después uno pidió autocompletado, otro depuración y otro un compilador. La próxima vez les instalo Visual Studio Code y que dejen de tocar los huevos.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

KOTLIN
Nivel: Alto
Cada vez que alguien presume de usar Kotlin, tarda exactamente treinta segundos en mencionar que Java ya no está a la altura. Curiosamente, luego despliega sobre la misma JVM, usa las mismas bibliotecas y cobra exactamente el mismo salario basura.

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

KOTLIN
Nivel: Alto
Cada vez que alguien presume de usar Kotlin, tarda exactamente treinta segundos en mencionar que Java ya no está a la altura. Curiosamente, luego despliega sobre la misma JVM, usa las mismas bibliotecas y cobra exactamente el mismo salario basura.

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

KOTLIN
Nivel: Alto
Cada vez que alguien presume de usar Kotlin, tarda exactamente treinta segundos en mencionar que Java ya no está a la altura. Curiosamente, luego despliega sobre la misma JVM, usa las mismas bibliotecas y cobra exactamente el mismo salario basura.

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

PYTHON
Nivel: Alto
Python es perfecto para escribir cualquier cosa rápidamente. También para que alguien convierta un script de veinte líneas en el corazón de la empresa. Pasado un tiempo, alguien pregunta: «¿por qué va todo tan lento?»

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

PYTHON
Nivel: Alto
Python es perfecto para escribir cualquier cosa rápidamente. También para que alguien convierta un script de veinte líneas en el corazón de la empresa. Pasado un tiempo, alguien pregunta: «¿por qué va todo tan lento?»

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

PYTHON
Nivel: Alto
Python es perfecto para escribir cualquier cosa rápidamente. También para que alguien convierta un script de veinte líneas en el corazón de la empresa. Pasado un tiempo, alguien pregunta: «¿por qué va todo tan lento?»

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

C++
Nivel: Alto
C++ te promete control absoluto del hardware. Y cumple. También controla tu tiempo libre... tu paciencia... y tus ganas de vivir cuando un error de memoria aparece dos semanas después de haber escrito el código.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

C++
Nivel: Alto
C++ te promete control absoluto del hardware. Y cumple. También controla tu tiempo libre... tu paciencia... y tus ganas de vivir cuando un error de memoria aparece dos semanas después de haber escrito el código.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

C++
Nivel: Alto
C++ te promete control absoluto del hardware. Y cumple. También controla tu tiempo libre... tu paciencia... y tus ganas de vivir cuando un error de memoria aparece dos semanas después de haber escrito el código.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

JAKARTA EE
Nivel: Alto
Jakarta EE no sigue vivo porque sea bonito. Sigue vivo porque apagarlo diez minutos costaría a un banco o a una empresa más dinero de lo que el consejo de administración se gasta en p. en un año.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

JAKARTA EE
Nivel: Alto
Jakarta EE no sigue vivo porque sea bonito. Sigue vivo porque apagarlo diez minutos costaría a un banco o a una empresa más dinero de lo que el consejo de administración se gasta en p. en un año.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

JAKARTA EE
Nivel: Alto
Jakarta EE no sigue vivo porque sea bonito. Sigue vivo porque apagarlo diez minutos costaría a un banco o a una empresa más dinero de lo que el consejo de administración se gasta en p. en un año.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

MICRONAUT
Nivel: Buenísimo
Elegí Micronaut porque odio desperdiciar recursos. Luego abrí Chrome y perdí toda autoridad moral.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

MICRONAUT
Nivel: Buenísimo
Elegí Micronaut porque odio desperdiciar recursos. Luego abrí Chrome y perdí toda autoridad moral.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

MICRONAUT
Nivel: Buenísimo
Elegí Micronaut porque odio desperdiciar recursos. Luego abrí Chrome y perdí toda autoridad moral.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

FLASK
Nivel: Alto
Elegimos Flask porque solo instalas lo que necesitas. Al cabo de un tiempo nuestra empresa aplicó la misma filosofía al equipo y decidió que tampoco necesitaba programadores.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

FLASK
Nivel: Alto
Elegimos Flask porque solo instalas lo que necesitas. Al cabo de un tiempo nuestra empresa aplicó la misma filosofía al equipo y decidió que tampoco necesitaba programadores.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

FLASK
Nivel: Alto
Elegimos Flask porque solo instalas lo que necesitas. Al cabo de un tiempo nuestra empresa aplicó la misma filosofía al equipo y decidió que tampoco necesitaba programadores.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

NEST JS
Nivel: Extraordinario
NestJS pone orden en JavaScript. Algunos desarrolladores llevan años intentando devolver el desorden por orgullo profesional.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

NEST JS
Nivel: Extraordinario
NestJS pone orden en JavaScript. Algunos desarrolladores llevan años intentando devolver el desorden por orgullo profesional.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

NEST JS
Nivel: Extraordinario
NestJS pone orden en JavaScript. Algunos desarrolladores llevan años intentando devolver el desorden por orgullo profesional.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

SYMFONY
Nivel: Magnífico
Un proyecto Symfony nuevo transmite paz. Un proyecto Symfony con diez años transmite historia. Uno con diez años y cinco consultoras transmite auténtico terror arqueológico.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

SYMFONY
Nivel: Magnífico
Un proyecto Symfony nuevo transmite paz. Un proyecto Symfony con diez años transmite historia. Uno con diez años y cinco consultoras transmite auténtico terror arqueológico.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

SYMFONY
Nivel: Magnífico
Un proyecto Symfony nuevo transmite paz. Un proyecto Symfony con diez años transmite historia. Uno con diez años y cinco consultoras transmite auténtico terror arqueológico.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

IBM DB2
Nivel: Meraviglioso
IBM DB2 tiene tanto historial que, cuando abro la documentación, encuentro referencias a tecnologías que ya estudian los arqueólogos. Y, aun así, sigue dando menos problemas que muchos proyectos nuevos.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

IBM DB2
Nivel: Meraviglioso
IBM DB2 tiene tanto historial que, cuando abro la documentación, encuentro referencias a tecnologías que ya estudian los arqueólogos. Y, aun así, sigue dando menos problemas que muchos proyectos nuevos.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

IBM DB2
Nivel: Meraviglioso
IBM DB2 tiene tanto historial que, cuando abro la documentación, encuentro referencias a tecnologías que ya estudian los arqueólogos. Y, aun así, sigue dando menos problemas que muchos proyectos nuevos.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MS SQL SERVER
Nivel: C1
Siempre confío en SQL Server. Si algo falla, abre SQL Server Management Studio, pulsa cinco veces en «Refresh» y mira muy serio la pantalla. El problema no desaparece, pero los demás creen que sabes exactamente lo que haces.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MS SQL SERVER
Nivel: C1
Siempre confío en SQL Server. Si algo falla, abre SQL Server Management Studio, pulsa cinco veces en «Refresh» y mira muy serio la pantalla. El problema no desaparece, pero los demás creen que sabes exactamente lo que haces.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MS SQL SERVER
Nivel: C1
Siempre confío en SQL Server. Si algo falla, abre SQL Server Management Studio, pulsa cinco veces en «Refresh» y mira muy serio la pantalla. El problema no desaparece, pero los demás creen que sabes exactamente lo que haces.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

CASSANDRA
Nivel: Superlativo
Cassandra presume de que ningún nodo es imprescindible. Después de configurar un clúster entero, descubrí que el único imprescindible era el compañero que entendía la configuración. Desde entonces nadie se atreve a darle vacaciones.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

CASSANDRA
Nivel: Superlativo
Cassandra presume de que ningún nodo es imprescindible. Después de configurar un clúster entero, descubrí que el único imprescindible era el compañero que entendía la configuración. Desde entonces nadie se atreve a darle vacaciones.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

CASSANDRA
Nivel: Superlativo
Cassandra presume de que ningún nodo es imprescindible. Después de configurar un clúster entero, descubrí que el único imprescindible era el compañero que entendía la configuración. Desde entonces nadie se atreve a darle vacaciones.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

REDIS
Nivel: Astonishing
Redis demuestra que la velocidad lo es todo. El problema llega cuando la RAM empieza a parecer un apartamento en el centro: demasiado pequeña para todas las cosas que hemos decidido guardar.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

REDIS
Nivel: Astonishing
Redis demuestra que la velocidad lo es todo. El problema llega cuando la RAM empieza a parecer un apartamento en el centro: demasiado pequeña para todas las cosas que hemos decidido guardar.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

REDIS
Nivel: Astonishing
Redis demuestra que la velocidad lo es todo. El problema llega cuando la RAM empieza a parecer un apartamento en el centro: demasiado pequeña para todas las cosas que hemos decidido guardar.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

H2 DATABASE
Nivel: Exquisito
«En mi ordenador funciona perfectamente». Claro, llevas tres meses probando contra H2. Luego llega Oracle a producción y descubre que vuestra relación era puramente platónica.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

H2 DATABASE
Nivel: Exquisito
«En mi ordenador funciona perfectamente». Claro, llevas tres meses probando contra H2. Luego llega Oracle a producción y descubre que vuestra relación era puramente platónica.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

H2 DATABASE
Nivel: Exquisito
«En mi ordenador funciona perfectamente». Claro, llevas tres meses probando contra H2. Luego llega Oracle a producción y descubre que vuestra relación era puramente platónica.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

TOMCAT
Nivel: Milagroso
—¿Usas Tomcat?
—Sí.
—¿Y no quieres algo más moderno?
—No. También sigo usando papel higiénico. Hay tecnologías tan buenas que no necesitan reinventarse cada seis meses para parecer inteligentes.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

TOMCAT
Nivel: Milagroso
—¿Usas Tomcat?
—Sí.
—¿Y no quieres algo más moderno?
—No. También sigo usando papel higiénico. Hay tecnologías tan buenas que no necesitan reinventarse cada seis meses para parecer inteligentes.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

TOMCAT
Nivel: Milagroso
—¿Usas Tomcat?
—Sí.
—¿Y no quieres algo más moderno?
—No. También sigo usando papel higiénico. Hay tecnologías tan buenas que no necesitan reinventarse cada seis meses para parecer inteligentes.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

WILDFLY
Nivel: Altísimo
Me encanta WildFly. Arrancarlo cada mañana cuenta como entrenamiento cardiovascular. Mientras carga, hago café, desayuno, reviso el correo y aún me sobra tiempo para arrepentirme.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

WILDFLY
Nivel: Altísimo
Me encanta WildFly. Arrancarlo cada mañana cuenta como entrenamiento cardiovascular. Mientras carga, hago café, desayuno, reviso el correo y aún me sobra tiempo para arrepentirme.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

WILDFLY
Nivel: Altísimo
Me encanta WildFly. Arrancarlo cada mañana cuenta como entrenamiento cardiovascular. Mientras carga, hago café, desayuno, reviso el correo y aún me sobra tiempo para arrepentirme.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

WEBLOGIC
Nivel: Supremo
WebLogic cuesta una fortuna, así que cuando consigo arrancarlo sin errores me siento obligado a comportarme como un consultor sénior. Si has desplegado en Tomcat... pues qué tierno. Ya crecerás.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

WEBLOGIC
Nivel: Supremo
WebLogic cuesta una fortuna, así que cuando consigo arrancarlo sin errores me siento obligado a comportarme como un consultor sénior. Si has desplegado en Tomcat... pues qué tierno. Ya crecerás.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

WEBLOGIC
Nivel: Supremo
WebLogic cuesta una fortuna, así que cuando consigo arrancarlo sin errores me siento obligado a comportarme como un consultor sénior. Si has desplegado en Tomcat... pues qué tierno. Ya crecerás.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

NETTY
Nivel: Altísimo
Netty mueve millones de conexiones con una elegancia insultante. Luego llega un compañero, mete un Thread.sleep() donde no debe y consigue que parezca PHP ejecutándose en un disquete. Cuando alguien presume de rendimiento y me habla de «miles» de conexiones simultáneas, automáticamente dejo de escuchar. Netty tampoco perdería el tiempo.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

NETTY
Nivel: Altísimo
Netty mueve millones de conexiones con una elegancia insultante. Luego llega un compañero, mete un Thread.sleep() donde no debe y consigue que parezca PHP ejecutándose en un disquete. Cuando alguien presume de rendimiento y me habla de «miles» de conexiones simultáneas, automáticamente dejo de escuchar. Netty tampoco perdería el tiempo.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

NETTY
Nivel: Altísimo
Netty mueve millones de conexiones con una elegancia insultante. Luego llega un compañero, mete un Thread.sleep() donde no debe y consigue que parezca PHP ejecutándose en un disquete. Cuando alguien presume de rendimiento y me habla de «miles» de conexiones simultáneas, automáticamente dejo de escuchar. Netty tampoco perdería el tiempo.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

RABBIT MQ
Nivel: Extraordinario
Me encanta RabbitMQ. Es el único conejo capaz de transportar millones de mensajes sin cagarse en la alfombra. Bastante más educado que el de mi vecino.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

RABBIT MQ
Nivel: Extraordinario
Me encanta RabbitMQ. Es el único conejo capaz de transportar millones de mensajes sin cagarse en la alfombra. Bastante más educado que el de mi vecino.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

RABBIT MQ
Nivel: Extraordinario
Me encanta RabbitMQ. Es el único conejo capaz de transportar millones de mensajes sin cagarse en la alfombra. Bastante más educado que el de mi vecino.

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

KAFKA
Nivel: Superior
Mi arquitectura tiene Kafka, eventos, particiones y replicación. El programa imprime «Hola, mundo». Pero lo hace con una escalabilidad que asusta.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

KAFKA
Nivel: Superior
Mi arquitectura tiene Kafka, eventos, particiones y replicación. El programa imprime «Hola, mundo». Pero lo hace con una escalabilidad que asusta.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

KAFKA
Nivel: Superior
Mi arquitectura tiene Kafka, eventos, particiones y replicación. El programa imprime «Hola, mundo». Pero lo hace con una escalabilidad que asusta.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

DOCKER
Nivel: Alto
Mi mayor habilidad como programador es escribir un Dockerfile de doscientas líneas para ejecutar un programa que antes arrancaba con un doble clic.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

DOCKER
Nivel: Alto
Mi mayor habilidad como programador es escribir un Dockerfile de doscientas líneas para ejecutar un programa que antes arrancaba con un doble clic.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

DOCKER
Nivel: Alto
Mi mayor habilidad como programador es escribir un Dockerfile de doscientas líneas para ejecutar un programa que antes arrancaba con un doble clic.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

HELM
Nivel: Timonel
Helm simplifica desplegar Kubernetes. Lo demuestra envolviendo treinta archivos YAML dentro de cuarenta plantillas. Cuando algo falla, rezas para que el mensaje de error tenga más de cuatro palabras.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

HELM
Nivel: Timonel
Helm simplifica desplegar Kubernetes. Lo demuestra envolviendo treinta archivos YAML dentro de cuarenta plantillas. Cuando algo falla, rezas para que el mensaje de error tenga más de cuatro palabras.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

HELM
Nivel: Timonel
Helm simplifica desplegar Kubernetes. Lo demuestra envolviendo treinta archivos YAML dentro de cuarenta plantillas. Cuando algo falla, rezas para que el mensaje de error tenga más de cuatro palabras.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

NEXUS
Nivel: Muy alto, demostrable
Nexus guarda todos nuestros artefactos. También conserva dependencias que nadie recuerda haber usado desde 2014.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

NEXUS
Nivel: Muy alto, demostrable
Nexus guarda todos nuestros artefactos. También conserva dependencias que nadie recuerda haber usado desde 2014.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

NEXUS
Nivel: Muy alto, demostrable
Nexus guarda todos nuestros artefactos. También conserva dependencias que nadie recuerda haber usado desde 2014.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

PODMAN
Nivel: Máximo
Cuando alguien pregunta por Docker, respondo Podman. No porque sea siempre mejor, sino porque me gusta ver cómo empieza otra discusión de dos horas.

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

PODMAN
Nivel: Máximo
Cuando alguien pregunta por Docker, respondo Podman. No porque sea siempre mejor, sino porque me gusta ver cómo empieza otra discusión de dos horas.

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

PODMAN
Nivel: Máximo
Cuando alguien pregunta por Docker, respondo Podman. No porque sea siempre mejor, sino porque me gusta ver cómo empieza otra discusión de dos horas.

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

APACHE HTTP SERVER
Nivel: Extraordinario
Mi servidor sigue usando Apache. Algunos lo llaman antiguo. Yo lo llamo «tecnología que sobrevive a las modas y a tres directores técnicos».

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

APACHE HTTP SERVER
Nivel: Extraordinario
Mi servidor sigue usando Apache. Algunos lo llaman antiguo. Yo lo llamo «tecnología que sobrevive a las modas y a tres directores técnicos».

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

APACHE HTTP SERVER
Nivel: Extraordinario
Mi servidor sigue usando Apache. Algunos lo llaman antiguo. Yo lo llamo «tecnología que sobrevive a las modas y a tres directores técnicos».

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

TRAEFIK PROXY
Nivel: Extraordinario
Traefik detecta servicios automáticamente. Es fantástico. Descubre microservicios que ni el equipo recordaba haber desplegado.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

TRAEFIK PROXY
Nivel: Extraordinario
Traefik detecta servicios automáticamente. Es fantástico. Descubre microservicios que ni el equipo recordaba haber desplegado.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

TRAEFIK PROXY
Nivel: Extraordinario
Traefik detecta servicios automáticamente. Es fantástico. Descubre microservicios que ni el equipo recordaba haber desplegado.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

LINKERD
Nivel: De fantasía pura
Elegimos Linkerd porque queríamos un service mesh ligero. Linkerd demuestra que, a veces, menos complejidad también cuenta como una funcionalidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

LINKERD
Nivel: De fantasía pura
Elegimos Linkerd porque queríamos un service mesh ligero. Linkerd demuestra que, a veces, menos complejidad también cuenta como una funcionalidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

LINKERD
Nivel: De fantasía pura
Elegimos Linkerd porque queríamos un service mesh ligero. Linkerd demuestra que, a veces, menos complejidad también cuenta como una funcionalidad.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

ETCD
Nivel: El jefe
Distributed /etc guarda la configuración crítica del clúster. Nadie piensa en él hasta que desaparece. Entonces descubres que Kubernetes, en realidad, era un castillo inflable sostenido por un fichero diminuto.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

ETCD
Nivel: El jefe
Distributed /etc guarda la configuración crítica del clúster. Nadie piensa en él hasta que desaparece. Entonces descubres que Kubernetes, en realidad, era un castillo inflable sostenido por un fichero diminuto.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

ETCD
Nivel: El jefe
Distributed /etc guarda la configuración crítica del clúster. Nadie piensa en él hasta que desaparece. Entonces descubres que Kubernetes, en realidad, era un castillo inflable sostenido por un fichero diminuto.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

MAVEN
Nivel: Erudito
Nada une más a un equipo que descubrir que el repositorio Maven acaba de dejar de responder cinco minutos antes del despliegue.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

MAVEN
Nivel: Erudito
Nada une más a un equipo que descubrir que el repositorio Maven acaba de dejar de responder cinco minutos antes del despliegue.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

MAVEN
Nivel: Erudito
Nada une más a un equipo que descubrir que el repositorio Maven acaba de dejar de responder cinco minutos antes del despliegue.

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

YARN
Nivel: Fetén
Hubo una época en la que decir «yo uso Yarn» te hacía parecer un iluminado. Entonces npm copió media idea de yarn, y encima apareció pnpm para arreglar a los dos. Ahora todos hablan de pnpm. El ego del desarrollador caduca sorprendentemente rápido, y donde dije digo...

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

YARN
Nivel: Fetén
Hubo una época en la que decir «yo uso Yarn» te hacía parecer un iluminado. Entonces npm copió media idea de yarn, y encima apareció pnpm para arreglar a los dos. Ahora todos hablan de pnpm. El ego del desarrollador caduca sorprendentemente rápido, y donde dije digo...

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

YARN
Nivel: Fetén
Hubo una época en la que decir «yo uso Yarn» te hacía parecer un iluminado. Entonces npm copió media idea de yarn, y encima apareció pnpm para arreglar a los dos. Ahora todos hablan de pnpm. El ego del desarrollador caduca sorprendentemente rápido, y donde dije digo...

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

APACHE CXF
Nivel: Muy alto
Apache CXF demuestra que SOAP sigue vivo. Igual que las cucarachas: puedes admirar su resistencia, pero no tienes por qué querer vivir con ellas.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

APACHE CXF
Nivel: Muy alto
Apache CXF demuestra que SOAP sigue vivo. Igual que las cucarachas: puedes admirar su resistencia, pero no tienes por qué querer vivir con ellas.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

APACHE CXF
Nivel: Muy alto
Apache CXF demuestra que SOAP sigue vivo. Igual que las cucarachas: puedes admirar su resistencia, pero no tienes por qué querer vivir con ellas.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

CHECKSTYLE
Nivel: Alto
Checkstyle encontró un espacio de más y decidió que el proyecto entero era indigno de compilar. El código funciona, pero la llave está dos columnas desplazada. Cuestión de prioridades.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

CHECKSTYLE
Nivel: Alto
Checkstyle encontró un espacio de más y decidió que el proyecto entero era indigno de compilar. El código funciona, pero la llave está dos columnas desplazada. Cuestión de prioridades.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

CHECKSTYLE
Nivel: Alto
Checkstyle encontró un espacio de más y decidió que el proyecto entero era indigno de compilar. El código funciona, pero la llave está dos columnas desplazada. Cuestión de prioridades.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

ERROR PRONE
Nivel: Alto
Error Prone señala un posible fallo que jamás ocurrirá. Ignoras el aviso. Seis meses después ocurre exactamente ese fallo. Desde entonces finges que siempre le hiciste caso y hasta le das las gracias.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

ERROR PRONE
Nivel: Alto
Error Prone señala un posible fallo que jamás ocurrirá. Ignoras el aviso. Seis meses después ocurre exactamente ese fallo. Desde entonces finges que siempre le hiciste caso y hasta le das las gracias.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

ERROR PRONE
Nivel: Alto
Error Prone señala un posible fallo que jamás ocurrirá. Ignoras el aviso. Seis meses después ocurre exactamente ese fallo. Desde entonces finges que siempre le hiciste caso y hasta le das las gracias.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

MOCKITO
Nivel: Superior
Si necesitas treinta mocks para probar un método, quizás el problema no sea Mockito. Quizás has diseñado una catedral para sumar dos números.

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

MOCKITO
Nivel: Superior
Si necesitas treinta mocks para probar un método, quizás el problema no sea Mockito. Quizás has diseñado una catedral para sumar dos números.

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

MOCKITO
Nivel: Superior
Si necesitas treinta mocks para probar un método, quizás el problema no sea Mockito. Quizás has diseñado una catedral para sumar dos números.

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

TESTNG
Nivel: Inimaginable
El proyecto tiene tres mil tests TestNG. Fallan dos. Buena suerte encontrando cuáles, porque el informe parece que lo ha escrito el becario con resaca y ganas de tocar los huevos.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

TESTNG
Nivel: Inimaginable
El proyecto tiene tres mil tests TestNG. Fallan dos. Buena suerte encontrando cuáles, porque el informe parece que lo ha escrito el becario con resaca y ganas de tocar los huevos.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

TESTNG
Nivel: Inimaginable
El proyecto tiene tres mil tests TestNG. Fallan dos. Buena suerte encontrando cuáles, porque el informe parece que lo ha escrito el becario con resaca y ganas de tocar los huevos.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

REST ASSURED
Nivel: Torero
REST Assured comprueba tu API sin piedad. Lo malo es que luego ya no puedes culpar al frontend. To lo bueno se acaba.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

REST ASSURED
Nivel: Torero
REST Assured comprueba tu API sin piedad. Lo malo es que luego ya no puedes culpar al frontend. To lo bueno se acaba.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

REST ASSURED
Nivel: Torero
REST Assured comprueba tu API sin piedad. Lo malo es que luego ya no puedes culpar al frontend. To lo bueno se acaba.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

PYTEST
Nivel: Magnífico
Pytest hace que escribir pruebas sea tan sencillo que ya no queda ninguna excusa. Habrá que inventar algunas nuevas.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

PYTEST
Nivel: Magnífico
Pytest hace que escribir pruebas sea tan sencillo que ya no queda ninguna excusa. Habrá que inventar algunas nuevas.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

PYTEST
Nivel: Magnífico
Pytest hace que escribir pruebas sea tan sencillo que ya no queda ninguna excusa. Habrá que inventar algunas nuevas.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

ELASTICSEARCH
Nivel: Altísimo
Elasticsearch encuentra cualquier cosa. Excepto el documento que necesitas cuando el cliente está presente en la reunión.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

ELASTICSEARCH
Nivel: Altísimo
Elasticsearch encuentra cualquier cosa. Excepto el documento que necesitas cuando el cliente está presente en la reunión.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

ELASTICSEARCH
Nivel: Altísimo
Elasticsearch encuentra cualquier cosa. Excepto el documento que necesitas cuando el cliente está presente en la reunión.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

GRAFANA
Nivel: Monstruo
Grafana convierte un desastre operativo en un conjunto de gráficas tan bonito que casi dan ganas de provocar otra caída. Mi jefe no entiende las métricas, pero adora Grafana. Es la herramienta ideal para que aquellos que realmente no aportan nada se entretengan y no molesten al artista.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

GRAFANA
Nivel: Monstruo
Grafana convierte un desastre operativo en un conjunto de gráficas tan bonito que casi dan ganas de provocar otra caída. Mi jefe no entiende las métricas, pero adora Grafana. Es la herramienta ideal para que aquellos que realmente no aportan nada se entretengan y no molesten al artista.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

GRAFANA
Nivel: Monstruo
Grafana convierte un desastre operativo en un conjunto de gráficas tan bonito que casi dan ganas de provocar otra caída. Mi jefe no entiende las métricas, pero adora Grafana. Es la herramienta ideal para que aquellos que realmente no aportan nada se entretengan y no molesten al artista.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

GRAFANA LOKI
Nivel: Bastante bueno
Loki prometía indexar menos para ahorrar costes. Pero tu equipo no es muy bueno con las etiquetas. Perfecto. Ahora ahorrar tiempo buscando un log concreto ya es otra historia. El error está ahí, escondido entre millones de líneas, disfrutando de su anonimato.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

GRAFANA LOKI
Nivel: Bastante bueno
Loki prometía indexar menos para ahorrar costes. Pero tu equipo no es muy bueno con las etiquetas. Perfecto. Ahora ahorrar tiempo buscando un log concreto ya es otra historia. El error está ahí, escondido entre millones de líneas, disfrutando de su anonimato.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

GRAFANA LOKI
Nivel: Bastante bueno
Loki prometía indexar menos para ahorrar costes. Pero tu equipo no es muy bueno con las etiquetas. Perfecto. Ahora ahorrar tiempo buscando un log concreto ya es otra historia. El error está ahí, escondido entre millones de líneas, disfrutando de su anonimato.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

JAEGER
Nivel: Senior
Gracias a Jaeger descubrí que una petición sencilla visitaba más servicios que yo de vacaciones.

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

JAEGER
Nivel: Senior
Gracias a Jaeger descubrí que una petición sencilla visitaba más servicios que yo de vacaciones.

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

JAEGER
Nivel: Senior
Gracias a Jaeger descubrí que una petición sencilla visitaba más servicios que yo de vacaciones.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

LIQUIBASE
Nivel: Erudito
Antes modificábamos tablas a mano. Ahora usamos Liquibase. El desastre tarda un poco más, pero queda mucho mejor documentado.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

LIQUIBASE
Nivel: Erudito
Antes modificábamos tablas a mano. Ahora usamos Liquibase. El desastre tarda un poco más, pero queda mucho mejor documentado.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

LIQUIBASE
Nivel: Erudito
Antes modificábamos tablas a mano. Ahora usamos Liquibase. El desastre tarda un poco más, pero queda mucho mejor documentado.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE FLINK
Nivel: Magician
Con Flink puedes reaccionar a un evento en milisegundos. La empresa responde al informe generado por Flink entre tres y cuatro meses después.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE FLINK
Nivel: Magician
Con Flink puedes reaccionar a un evento en milisegundos. La empresa responde al informe generado por Flink entre tres y cuatro meses después.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE FLINK
Nivel: Magician
Con Flink puedes reaccionar a un evento en milisegundos. La empresa responde al informe generado por Flink entre tres y cuatro meses después.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

HTML
Nivel: Fabuloso
Domino HTML desde que las etiquetas todavía tenían complejo de párrafo. Mis etiquetas están tan bien estructuradas que han venido a estudiarlas hasta de Zara. El navegador abre mis páginas y se pone firme por respeto.

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

HTML
Nivel: Fabuloso
Domino HTML desde que las etiquetas todavía tenían complejo de párrafo. Mis etiquetas están tan bien estructuradas que han venido a estudiarlas hasta de Zara. El navegador abre mis páginas y se pone firme por respeto.

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

HTML
Nivel: Fabuloso
Domino HTML desde que las etiquetas todavía tenían complejo de párrafo. Mis etiquetas están tan bien estructuradas que han venido a estudiarlas hasta de Zara. El navegador abre mis páginas y se pone firme por respeto.

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

TYPESCRIPT
Nivel: Admirable
TypeScript dejó de intimidarme hace mucho tiempo. Una vez corregí un tipo delante de todo el equipo y el Scrum Master se levantó, saltando como una loca, a aplaudirme. «¡Bravo! ¡¡bravooo!! ¡¡torerooo!!»

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

TYPESCRIPT
Nivel: Admirable
TypeScript dejó de intimidarme hace mucho tiempo. Una vez corregí un tipo delante de todo el equipo y el Scrum Master se levantó, saltando como una loca, a aplaudirme. «¡Bravo! ¡¡bravooo!! ¡¡torerooo!!»

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

TYPESCRIPT
Nivel: Admirable
TypeScript dejó de intimidarme hace mucho tiempo. Una vez corregí un tipo delante de todo el equipo y el Scrum Master se levantó, saltando como una loca, a aplaudirme. «¡Bravo! ¡¡bravooo!! ¡¡torerooo!!»

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

NEXT JS
Nivel: Brutal
Mi mayor logro con Next.js ha sido descubrir que borrar la carpeta .next soluciona más problemas de los que yo mismo genero. Desde entonces lo llamo «compilación incremental manual».

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

NEXT JS
Nivel: Brutal
Mi mayor logro con Next.js ha sido descubrir que borrar la carpeta .next soluciona más problemas de los que yo mismo genero. Desde entonces lo llamo «compilación incremental manual».

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

NEXT JS
Nivel: Brutal
Mi mayor logro con Next.js ha sido descubrir que borrar la carpeta .next soluciona más problemas de los que yo mismo genero. Desde entonces lo llamo «compilación incremental manual».

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

EMBER
Nivel: C1
Ember lleva tantos años funcionando que merece todo mi respeto. Mi experiencia con él consiste en haber leído toda la documentación antes de decidir usar React.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

EMBER
Nivel: C1
Ember lleva tantos años funcionando que merece todo mi respeto. Mi experiencia con él consiste en haber leído toda la documentación antes de decidir usar React.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

EMBER
Nivel: C1
Ember lleva tantos años funcionando que merece todo mi respeto. Mi experiencia con él consiste en haber leído toda la documentación antes de decidir usar React.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

SVELTE
Nivel: Impresionante
Svelte compila todo de maravilla. Mi aplicación sigue teniendo errores, pero al menos ahora se generan mucho más rápido.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

SVELTE
Nivel: Impresionante
Svelte compila todo de maravilla. Mi aplicación sigue teniendo errores, pero al menos ahora se generan mucho más rápido.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

SVELTE
Nivel: Impresionante
Svelte compila todo de maravilla. Mi aplicación sigue teniendo errores, pero al menos ahora se generan mucho más rápido.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

ASTRO
Nivel: Tremendo
Astro permite mezclar React, Vue, Svelte y otros frameworks en el mismo proyecto. Exactamente la flexibilidad que necesitas para que tu código sea inmantenible.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

ASTRO
Nivel: Tremendo
Astro permite mezclar React, Vue, Svelte y otros frameworks en el mismo proyecto. Exactamente la flexibilidad que necesitas para que tu código sea inmantenible.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

ASTRO
Nivel: Tremendo
Astro permite mezclar React, Vue, Svelte y otros frameworks en el mismo proyecto. Exactamente la flexibilidad que necesitas para que tu código sea inmantenible.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

IONIC
Nivel: Grandioso
¿Que no hay plugin para lo que quieres hacer? ¿Y a qué esperas pa ponerte a hacerlo tú mismo? No seas egoísta y dale al mundo algo gratis, las grandes corporaciones te lo agradecerán con una sesión de team building, una dinámica de grupo de 80 personas, o quizás una yincana que aburre a las ovejas.

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

IONIC
Nivel: Grandioso
¿Que no hay plugin para lo que quieres hacer? ¿Y a qué esperas pa ponerte a hacerlo tú mismo? No seas egoísta y dale al mundo algo gratis, las grandes corporaciones te lo agradecerán con una sesión de team building, una dinámica de grupo de 80 personas, o quizás una yincana que aburre a las ovejas.

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

IONIC
Nivel: Grandioso
¿Que no hay plugin para lo que quieres hacer? ¿Y a qué esperas pa ponerte a hacerlo tú mismo? No seas egoísta y dale al mundo algo gratis, las grandes corporaciones te lo agradecerán con una sesión de team building, una dinámica de grupo de 80 personas, o quizás una yincana que aburre a las ovejas.

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

ONSEN UI
Nivel: Extraordinario
¡Que alguien rompa ya la lápida de este nicho, que se están asfixiando los desarrolladores dentro!

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

ONSEN UI
Nivel: Extraordinario
¡Que alguien rompa ya la lápida de este nicho, que se están asfixiando los desarrolladores dentro!

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

ONSEN UI
Nivel: Extraordinario
¡Que alguien rompa ya la lápida de este nicho, que se están asfixiando los desarrolladores dentro!

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

RIOT JS
Nivel: Milagroso
Es fácil defender su uso cuando casi nadie en la reunión lo ha usado y puedes inventarte tranquilamente la mitad de las ventajas.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

RIOT JS
Nivel: Milagroso
Es fácil defender su uso cuando casi nadie en la reunión lo ha usado y puedes inventarte tranquilamente la mitad de las ventajas.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

RIOT JS
Nivel: Milagroso
Es fácil defender su uso cuando casi nadie en la reunión lo ha usado y puedes inventarte tranquilamente la mitad de las ventajas.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

SOLID JS
Nivel: Alto
Aseguro que SolidJS supera a React en rendimiento. Mi única prueba consiste en una calculadora que nunca llegó a producción, pero los benchmarks emocionales me dan toda la razón.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

SOLID JS
Nivel: Alto
Aseguro que SolidJS supera a React en rendimiento. Mi única prueba consiste en una calculadora que nunca llegó a producción, pero los benchmarks emocionales me dan toda la razón.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

SOLID JS
Nivel: Alto
Aseguro que SolidJS supera a React en rendimiento. Mi única prueba consiste en una calculadora que nunca llegó a producción, pero los benchmarks emocionales me dan toda la razón.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

LIT
Nivel: Alto
Llevo años diciendo que los Web Components son el futuro. Pero el futuro tiene la mala costumbre de llegar bastante más despacio que mis presentaciones de PowerPoint.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

LIT
Nivel: Alto
Llevo años diciendo que los Web Components son el futuro. Pero el futuro tiene la mala costumbre de llegar bastante más despacio que mis presentaciones de PowerPoint.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

LIT
Nivel: Alto
Llevo años diciendo que los Web Components son el futuro. Pero el futuro tiene la mala costumbre de llegar bastante más despacio que mis presentaciones de PowerPoint.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

ANGULAR MATERIAL
Nivel: Turing
Domino Angular Material hasta el último detalle. Cuando un componente no hace lo que espero, concluyo que el problema es filosófico, no técnico.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

ANGULAR MATERIAL
Nivel: Turing
Domino Angular Material hasta el último detalle. Cuando un componente no hace lo que espero, concluyo que el problema es filosófico, no técnico.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

ANGULAR MATERIAL
Nivel: Turing
Domino Angular Material hasta el último detalle. Cuando un componente no hace lo que espero, concluyo que el problema es filosófico, no técnico.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

NG-ZORRO
Nivel: Bueno
¿NG zorro? NG CHINORRO, que la mitad de las guías están en chino.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

NG-ZORRO
Nivel: Bueno
¿NG zorro? NG CHINORRO, que la mitad de las guías están en chino.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

NG-ZORRO
Nivel: Bueno
¿NG zorro? NG CHINORRO, que la mitad de las guías están en chino.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

ANT DESIGN
Nivel: Bueno
Trae tantos componentes que el proyecto parece terminado el primer día. El segundo descubres que quieres cambiar el aspecto de uno. El tercero ya aceptas que tu aplicación tendrá exactamente el mismo diseño que las otras veinte hechas con Ant Design.

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

ANT DESIGN
Nivel: Bueno
Trae tantos componentes que el proyecto parece terminado el primer día. El segundo descubres que quieres cambiar el aspecto de uno. El tercero ya aceptas que tu aplicación tendrá exactamente el mismo diseño que las otras veinte hechas con Ant Design.

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

ANT DESIGN
Nivel: Bueno
Trae tantos componentes que el proyecto parece terminado el primer día. El segundo descubres que quieres cambiar el aspecto de uno. El tercero ya aceptas que tu aplicación tendrá exactamente el mismo diseño que las otras veinte hechas con Ant Design.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

PRIMEREACT
Nivel: Extraordinario
Tiene componentes para todo. Ahora a ver cuál de las ciento cuarenta propiedades hay que tocar para mover un icono tres píxeles hacia la izquierda.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

PRIMEREACT
Nivel: Extraordinario
Tiene componentes para todo. Ahora a ver cuál de las ciento cuarenta propiedades hay que tocar para mover un icono tres píxeles hacia la izquierda.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

PRIMEREACT
Nivel: Extraordinario
Tiene componentes para todo. Ahora a ver cuál de las ciento cuarenta propiedades hay que tocar para mover un icono tres píxeles hacia la izquierda.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

RADIX UI
Nivel: Experto
Radix UI separa comportamiento y estilos. Después paso una semana intentando que un botón parezca un botón.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

RADIX UI
Nivel: Experto
Radix UI separa comportamiento y estilos. Después paso una semana intentando que un botón parezca un botón.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

RADIX UI
Nivel: Experto
Radix UI separa comportamiento y estilos. Después paso una semana intentando que un botón parezca un botón.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

PURE CSS
Nivel: Ferpecto
Elegí Pure.css porque cualquier framework más grande habría limitado mi talento. Lo poco que ocupa la librería deja espacio suficiente para mi genialidad.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

PURE CSS
Nivel: Ferpecto
Elegí Pure.css porque cualquier framework más grande habría limitado mi talento. Lo poco que ocupa la librería deja espacio suficiente para mi genialidad.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

PURE CSS
Nivel: Ferpecto
Elegí Pure.css porque cualquier framework más grande habría limitado mi talento. Lo poco que ocupa la librería deja espacio suficiente para mi genialidad.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

FOUNDATION
Nivel: Especial
Curva de aprendizaje regular, comunidad reducida, diseño predeterminado, sin personalización profunda. Vamos, más de lo mismo. Pero, ¿por qué no harán un framework que haga las cosas él solo? Ah, que eso decían también de la IA. Ya.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

FOUNDATION
Nivel: Especial
Curva de aprendizaje regular, comunidad reducida, diseño predeterminado, sin personalización profunda. Vamos, más de lo mismo. Pero, ¿por qué no harán un framework que haga las cosas él solo? Ah, que eso decían también de la IA. Ya.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

FOUNDATION
Nivel: Especial
Curva de aprendizaje regular, comunidad reducida, diseño predeterminado, sin personalización profunda. Vamos, más de lo mismo. Pero, ¿por qué no harán un framework que haga las cosas él solo? Ah, que eso decían también de la IA. Ya.

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

SPECTRE
Nivel: Absoluto
Spectre.css presume de ser ligero. Claro que pesa poco, cuando buena parte de lo que necesitas viene incluido en la categoría de «te lo haces tú mismo».

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

SPECTRE
Nivel: Absoluto
Spectre.css presume de ser ligero. Claro que pesa poco, cuando buena parte de lo que necesitas viene incluido en la categoría de «te lo haces tú mismo».

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

SPECTRE
Nivel: Absoluto
Spectre.css presume de ser ligero. Claro que pesa poco, cuando buena parte de lo que necesitas viene incluido en la categoría de «te lo haces tú mismo».

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

REDUX
Nivel: Alto
Este lo domino.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

REDUX
Nivel: Alto
Este lo domino.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

REDUX
Nivel: Alto
Este lo domino.

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

MOBX
Nivel: Alto
Ay, este no. ¿Dónde está el becario?

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

MOBX
Nivel: Alto
Ay, este no. ¿Dónde está el becario?

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

MOBX
Nivel: Alto
Ay, este no. ¿Dónde está el becario?

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

XSTATE
Nivel: Mago
XState convierte toda la aplicación en una máquina de estados. Es una idea brillante, siempre que el equipo también disponga de otra máquina capaz de entender el diagrama resultante.

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

XSTATE
Nivel: Mago
XState convierte toda la aplicación en una máquina de estados. Es una idea brillante, siempre que el equipo también disponga de otra máquina capaz de entender el diagrama resultante.

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

XSTATE
Nivel: Mago
XState convierte toda la aplicación en una máquina de estados. Es una idea brillante, siempre que el equipo también disponga de otra máquina capaz de entender el diagrama resultante.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

VUEX
Nivel: Sobrenatural
Vuex fue durante años la respuesta oficial para gestionar el estado en Vue. Hoy su principal función consiste en aparecer en proyectos heredados y recordar que el pasado nunca desaparece del todo.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

VUEX
Nivel: Sobrenatural
Vuex fue durante años la respuesta oficial para gestionar el estado en Vue. Hoy su principal función consiste en aparecer en proyectos heredados y recordar que el pasado nunca desaparece del todo.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

VUEX
Nivel: Sobrenatural
Vuex fue durante años la respuesta oficial para gestionar el estado en Vue. Hoy su principal función consiste en aparecer en proyectos heredados y recordar que el pasado nunca desaparece del todo.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

GSAP
Nivel: Abysmal
Me gusta GSAP porque me gusta mucho animarlo todo, especialmente las reuniones, cuando intento explicar por qué necesitábamos una librería de cien funciones para mover un botón veinte píxeles.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

GSAP
Nivel: Abysmal
Me gusta GSAP porque me gusta mucho animarlo todo, especialmente las reuniones, cuando intento explicar por qué necesitábamos una librería de cien funciones para mover un botón veinte píxeles.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

GSAP
Nivel: Abysmal
Me gusta GSAP porque me gusta mucho animarlo todo, especialmente las reuniones, cuando intento explicar por qué necesitábamos una librería de cien funciones para mover un botón veinte píxeles.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

LOTTIE
Nivel: Alto
Lottie permite llevar animaciones de los diseñadores directamente al navegador. También permite descubrir que el diseñador considera perfectamente razonable entregar un archivo de cuarenta megabytes para un icono sonriente.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

LOTTIE
Nivel: Alto
Lottie permite llevar animaciones de los diseñadores directamente al navegador. También permite descubrir que el diseñador considera perfectamente razonable entregar un archivo de cuarenta megabytes para un icono sonriente.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

LOTTIE
Nivel: Alto
Lottie permite llevar animaciones de los diseñadores directamente al navegador. También permite descubrir que el diseñador considera perfectamente razonable entregar un archivo de cuarenta megabytes para un icono sonriente.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

CHART JS
Nivel: Muy alto
Siempre digo que Chart.js resuelve el 95 % de las gráficas. Mi cliente, con una precisión admirable, siempre necesita exactamente el otro 5 por ciento.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

CHART JS
Nivel: Muy alto
Siempre digo que Chart.js resuelve el 95 % de las gráficas. Mi cliente, con una precisión admirable, siempre necesita exactamente el otro 5 por ciento.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

CHART JS
Nivel: Muy alto
Siempre digo que Chart.js resuelve el 95 % de las gráficas. Mi cliente, con una precisión admirable, siempre necesita exactamente el otro 5 por ciento.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

APEXCHARTS
Nivel: Extraordinario
Algunos instalan ApexCharts porque quieren impresionar al cliente. Después el cliente acaba creyendo que todas las gráficas complejas tardan cinco minutos y cuestan exactamente lo mismo.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

APEXCHARTS
Nivel: Extraordinario
Algunos instalan ApexCharts porque quieren impresionar al cliente. Después el cliente acaba creyendo que todas las gráficas complejas tardan cinco minutos y cuestan exactamente lo mismo.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

APEXCHARTS
Nivel: Extraordinario
Algunos instalan ApexCharts porque quieren impresionar al cliente. Después el cliente acaba creyendo que todas las gráficas complejas tardan cinco minutos y cuestan exactamente lo mismo.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

HIGHCHARTS
Nivel: Extraordinario
Nos pidieron que usáramos Highcharts porque hace gráficas espectaculares. Casi tan espectaculares como el cabreo del departamento financiero al descubrir el concepto de «licencia comercial» justo cuando el proyecto ya estaba terminado.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

HIGHCHARTS
Nivel: Extraordinario
Nos pidieron que usáramos Highcharts porque hace gráficas espectaculares. Casi tan espectaculares como el cabreo del departamento financiero al descubrir el concepto de «licencia comercial» justo cuando el proyecto ya estaba terminado.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

HIGHCHARTS
Nivel: Extraordinario
Nos pidieron que usáramos Highcharts porque hace gráficas espectaculares. Casi tan espectaculares como el cabreo del departamento financiero al descubrir el concepto de «licencia comercial» justo cuando el proyecto ya estaba terminado.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

FORMIK
Nivel: Alto
Dicho por muchos, era la solución definitiva para formularios React. Hasta que apareció React Hook Form, claro.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

FORMIK
Nivel: Alto
Dicho por muchos, era la solución definitiva para formularios React. Hasta que apareció React Hook Form, claro.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

FORMIK
Nivel: Alto
Dicho por muchos, era la solución definitiva para formularios React. Hasta que apareció React Hook Form, claro.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

VEST
Nivel: Extraordinario
Con Vest validas formularios como si escribieras pruebas. Bastante tengo con las pruebas que ya me da la vida como para convertir también las validaciones en una suite de tests.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

VEST
Nivel: Extraordinario
Con Vest validas formularios como si escribieras pruebas. Bastante tengo con las pruebas que ya me da la vida como para convertir también las validaciones en una suite de tests.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

VEST
Nivel: Extraordinario
Con Vest validas formularios como si escribieras pruebas. Bastante tengo con las pruebas que ya me da la vida como para convertir también las validaciones en una suite de tests.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

VITEST
Nivel: Alto
Instalamos Vitest porque queríamos ahorrar tiempo. El tiempo ahorrado fue íntegramente invertido posteriormente en pelearnos con la configuración. El universo mantiene siempre el equilibrio.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

VITEST
Nivel: Alto
Instalamos Vitest porque queríamos ahorrar tiempo. El tiempo ahorrado fue íntegramente invertido posteriormente en pelearnos con la configuración. El universo mantiene siempre el equilibrio.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

VITEST
Nivel: Alto
Instalamos Vitest porque queríamos ahorrar tiempo. El tiempo ahorrado fue íntegramente invertido posteriormente en pelearnos con la configuración. El universo mantiene siempre el equilibrio.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

TESTING LIBRARY
Nivel: Extraordinario
Testing Library dice que pruebes la aplicación como lo haría un usuario. El problema es que mis usuarios hacen auténticas barbaridades que ni el desarrollador más cabrón sería capaz de imaginar.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

TESTING LIBRARY
Nivel: Extraordinario
Testing Library dice que pruebes la aplicación como lo haría un usuario. El problema es que mis usuarios hacen auténticas barbaridades que ni el desarrollador más cabrón sería capaz de imaginar.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

TESTING LIBRARY
Nivel: Extraordinario
Testing Library dice que pruebes la aplicación como lo haría un usuario. El problema es que mis usuarios hacen auténticas barbaridades que ni el desarrollador más cabrón sería capaz de imaginar.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

VITE
Nivel: Alto
Algunos presumen de usar Vite porque «Webpack ya es historia». Cinco minutos después instalan siete plugins para que Vite termine comportándose sospechosamente parecido a Webpack.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

VITE
Nivel: Alto
Algunos presumen de usar Vite porque «Webpack ya es historia». Cinco minutos después instalan siete plugins para que Vite termine comportándose sospechosamente parecido a Webpack.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

VITE
Nivel: Alto
Algunos presumen de usar Vite porque «Webpack ya es historia». Cinco minutos después instalan siete plugins para que Vite termine comportándose sospechosamente parecido a Webpack.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

ROLLUP
Nivel: Extraordinario
Llevo años copiando el mismo archivo de configuración entre proyectos con una confianza francamente admirable.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

ROLLUP
Nivel: Extraordinario
Llevo años copiando el mismo archivo de configuración entre proyectos con una confianza francamente admirable.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

ROLLUP
Nivel: Extraordinario
Llevo años copiando el mismo archivo de configuración entre proyectos con una confianza francamente admirable.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

SWC
Nivel: Alto
Siempre recomiendo SWC porque reemplaza a Babel en muchos proyectos. Luego aparece una transformación extraña y Babel entra otra vez por la puerta como si nunca se hubiera marchado.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

SWC
Nivel: Alto
Siempre recomiendo SWC porque reemplaza a Babel en muchos proyectos. Luego aparece una transformación extraña y Babel entra otra vez por la puerta como si nunca se hubiera marchado.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

SWC
Nivel: Alto
Siempre recomiendo SWC porque reemplaza a Babel en muchos proyectos. Luego aparece una transformación extraña y Babel entra otra vez por la puerta como si nunca se hubiera marchado.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

RXJS
Nivel: Alto
Cuando veo siete pipe() seguidos, ya no sé si estoy programando o invocando demonios.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

RXJS
Nivel: Alto
Cuando veo siete pipe() seguidos, ya no sé si estoy programando o invocando demonios.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

RXJS
Nivel: Alto
Cuando veo siete pipe() seguidos, ya no sé si estoy programando o invocando demonios.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

DAYS JS
Nivel: Alto
Este lo uso mucho. De verdad.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

DAYS JS
Nivel: Alto
Este lo uso mucho. De verdad.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

DAYS JS
Nivel: Alto
Este lo uso mucho. De verdad.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

SOCKET IO
Nivel: Alto
Socket.IO hace que todo ocurra en tiempo real. Los bugs también. Antes había que recargar la página para romper la aplicación. Ahora revienta delante del cliente sin perder un segundo.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

SOCKET IO
Nivel: Alto
Socket.IO hace que todo ocurra en tiempo real. Los bugs también. Antes había que recargar la página para romper la aplicación. Ahora revienta delante del cliente sin perder un segundo.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

SOCKET IO
Nivel: Alto
Socket.IO hace que todo ocurra en tiempo real. Los bugs también. Antes había que recargar la página para romper la aplicación. Ahora revienta delante del cliente sin perder un segundo.

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

SWR
Nivel: Alto
SWR revalida automáticamente los datos. Es una función fantástica, aunque algunos compañeros todavía preguntan por qué la pantalla acaba de actualizarse «sin tocar nada».

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

SWR
Nivel: Alto
SWR revalida automáticamente los datos. Es una función fantástica, aunque algunos compañeros todavía preguntan por qué la pantalla acaba de actualizarse «sin tocar nada».

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

SWR
Nivel: Alto
SWR revalida automáticamente los datos. Es una función fantástica, aunque algunos compañeros todavía preguntan por qué la pantalla acaba de actualizarse «sin tocar nada».

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

PIXI JS
Nivel: Alto
PixiJS renderiza gráficos 2D con una velocidad espectacular. Mi aplicación también, salvo cuando empiezo a añadir efectos porque «queda más bonito».

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

PIXI JS
Nivel: Alto
PixiJS renderiza gráficos 2D con una velocidad espectacular. Mi aplicación también, salvo cuando empiezo a añadir efectos porque «queda más bonito».

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

PIXI JS
Nivel: Alto
PixiJS renderiza gráficos 2D con una velocidad espectacular. Mi aplicación también, salvo cuando empiezo a añadir efectos porque «queda más bonito».

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

FULLCALENDAR
Nivel: Alto
Este también lo uso mucho. De verdad.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

FULLCALENDAR
Nivel: Alto
Este también lo uso mucho. De verdad.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

FULLCALENDAR
Nivel: Alto
Este también lo uso mucho. De verdad.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

CODEMIRROR
Nivel: Medio
Instalé CodeMirror para que los usuarios editaran código cómodamente. Tres días después uno pidió autocompletado, otro depuración y otro un compilador. La próxima vez les instalo Visual Studio Code y que dejen de tocar los huevos.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

CODEMIRROR
Nivel: Medio
Instalé CodeMirror para que los usuarios editaran código cómodamente. Tres días después uno pidió autocompletado, otro depuración y otro un compilador. La próxima vez les instalo Visual Studio Code y que dejen de tocar los huevos.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

CODEMIRROR
Nivel: Medio
Instalé CodeMirror para que los usuarios editaran código cómodamente. Tres días después uno pidió autocompletado, otro depuración y otro un compilador. La próxima vez les instalo Visual Studio Code y que dejen de tocar los huevos.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

KOTLIN
Nivel: Alto
Cada vez que alguien presume de usar Kotlin, tarda exactamente treinta segundos en mencionar que Java ya no está a la altura. Curiosamente, luego despliega sobre la misma JVM, usa las mismas bibliotecas y cobra exactamente el mismo salario basura.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

JAVA
Nivel: Experto
Soy un mago con Java, posiblemente el número 3, o quizás el 4, de todo el planeta. Domino las versiones 8, 17, 21 y 32. Aún recuerdo cuando, siendo yo niño, James Goslin me pedía consejo. Qué tiempos aquellos.

SCALA
Nivel: Alto
Scala quería reunir la programación orientada a objetos y la funcional. Lo consiguió tan bien que ahora cada desarrollador parece escribir su propio idioma y todos aseguran que su estilo es el verdadero Scala idiomático.

KOTLIN
Nivel: Alto
Cada vez que alguien presume de usar Kotlin, tarda exactamente treinta segundos en mencionar que Java ya no está a la altura. Curiosamente, luego despliega sobre la misma JVM, usa las mismas bibliotecas y cobra exactamente el mismo salario basura.

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

PYTHON
Nivel: Alto
Python es perfecto para escribir cualquier cosa rápidamente. También para que alguien convierta un script de veinte líneas en el corazón de la empresa. Pasado un tiempo, alguien pregunta: «¿por qué va todo tan lento?»

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

GO
Nivel: Alto
Go es sencillo. Como si faltara la mitad del lenguaje, o al menos es esa sensación.

GROOVY
Nivel: Alto
Relájate un poco con Groovy. Escribe menos código que con Java sintiéndote un genio. Y crea tu propio dialecto para fastidiar a los demás y que nadie entienda nada, al fin y al cabo los demás también lo hacen.

PYTHON
Nivel: Alto
Python es perfecto para escribir cualquier cosa rápidamente. También para que alguien convierta un script de veinte líneas en el corazón de la empresa. Pasado un tiempo, alguien pregunta: «¿por qué va todo tan lento?»

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

C++
Nivel: Alto
C++ te promete control absoluto del hardware. Y cumple. También controla tu tiempo libre... tu paciencia... y tus ganas de vivir cuando un error de memoria aparece dos semanas después de haber escrito el código.

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

RUST
Nivel: Alto
Rust no te deja cometer errores de memoria. Tampoco te deja compilar hasta que demuestres ante un tribunal que cada referencia tiene motivos legales para existir. Después de acabar una compilación lloras de la emoción.

C
Nivel: Alto
Dicen que programar en C te hace mejor ingeniero. Es verdad. Después de pelearte con punteros, cualquier lenguaje moderno parece un juguete. Y quienes usan recolector de basura son unos MEDIOOCREESS MORTAALEESS JOJOJOJOJO.

C++
Nivel: Alto
C++ te promete control absoluto del hardware. Y cumple. También controla tu tiempo libre... tu paciencia... y tus ganas de vivir cuando un error de memoria aparece dos semanas después de haber escrito el código.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

JAKARTA EE
Nivel: Alto
Jakarta EE no sigue vivo porque sea bonito. Sigue vivo porque apagarlo diez minutos costaría a un banco o a una empresa más dinero de lo que el consejo de administración se gasta en p. en un año.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

PHP
Nivel: Alto
Cada pocos años alguien anuncia que PHP ha muerto. PHP responde desplegando otro millón de páginas web mientras los adeptos del resto de lenguajes siguen discutiendo cuál será el framework de moda el próximo trimestre.

NODE JS
Nivel: Alto
Nada transmite más optimismo que instalar mil doscientas dependencias para imprimir «Hola, mundo». Luego una de ellas desaparece de internet y el proyecto entero entra en crisis existencial. Pero eh, es un sistema muy dinámico.

JAKARTA EE
Nivel: Alto
Jakarta EE no sigue vivo porque sea bonito. Sigue vivo porque apagarlo diez minutos costaría a un banco o a una empresa más dinero de lo que el consejo de administración se gasta en p. en un año.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

MICRONAUT
Nivel: Buenísimo
Elegí Micronaut porque odio desperdiciar recursos. Luego abrí Chrome y perdí toda autoridad moral.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

SPRING
Nivel: Alto
Soy muy bueno con Spring. Mis beans germinan y florecen solos, mis inyecciones de dependencia vienen con café incluido y hasta los @Autowired me saludan por mi nombre. Spring Boot me pidió que le enseñara a arrancar.

QUARKUS
Nivel: Alto
Arranca en tan poco tiempo que al leer el log de inicio te da la sensación de estar leyendo un spoiler.

MICRONAUT
Nivel: Buenísimo
Elegí Micronaut porque odio desperdiciar recursos. Luego abrí Chrome y perdí toda autoridad moral.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

FLASK
Nivel: Alto
Elegimos Flask porque solo instalas lo que necesitas. Al cabo de un tiempo nuestra empresa aplicó la misma filosofía al equipo y decidió que tampoco necesitaba programadores.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

NODE JS
Nivel: Muy bueno
Dropwizard tiene fama de sencillo. Es verdad. Lo complicado es convencer al resto del equipo de que no necesitan instalar otros cuarenta frameworks encima.

DJANGO
Nivel: Erudito
Django es tan completo que algunos lo llaman monolítico. Los mismos que construyen un microservicio con dieciséis librerías obligatorias, que después ni arranca.

FLASK
Nivel: Alto
Elegimos Flask porque solo instalas lo que necesitas. Al cabo de un tiempo nuestra empresa aplicó la misma filosofía al equipo y decidió que tampoco necesitaba programadores.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

NEST JS
Nivel: Extraordinario
NestJS pone orden en JavaScript. Algunos desarrolladores llevan años intentando devolver el desorden por orgullo profesional.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

FAST API
Nivel: Estupendo
FastAPI genera documentación automáticamente. Ahora los clientes saben exactamente qué endpoint devuelve errores. Teniendo en cuenta que la mitad de las empresas se dedican a estafar a la otra mitad, ¿esto es bueno o malo?

EXPRESS JS
Nivel: Bueno
Express.js es tan minimalista que el primer trabajo consiste en instalar todo lo que no trae. La sencillez también puede ser agotadora.

NEST JS
Nivel: Extraordinario
NestJS pone orden en JavaScript. Algunos desarrolladores llevan años intentando devolver el desorden por orgullo profesional.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

SYMFONY
Nivel: Magnífico
Un proyecto Symfony nuevo transmite paz. Un proyecto Symfony con diez años transmite historia. Uno con diez años y cinco consultoras transmite auténtico terror arqueológico.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

KOA
Nivel: Muy alto
Koa es muy limpio. Tan limpio que el primer día echas de menos la mitad de las herramientas y el segundo ya las estás instalando otra vez.

LARAVEL
Nivel: Bueno
Con Laravel hemos podido automatizar muchas tareas repetitivas. La dirección ha celebrado el ahorro. Los empleados hemos empezado a actualizar el currículum con el mismo entusiasmo.

SYMFONY
Nivel: Magnífico
Un proyecto Symfony nuevo transmite paz. Un proyecto Symfony con diez años transmite historia. Uno con diez años y cinco consultoras transmite auténtico terror arqueológico.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

IBM DB2
Nivel: Meraviglioso
IBM DB2 tiene tanto historial que, cuando abro la documentación, encuentro referencias a tecnologías que ya estudian los arqueólogos. Y, aun así, sigue dando menos problemas que muchos proyectos nuevos.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

POSTGRESQL
Nivel: Extraordinario
Hay quien dice que PostgreSQL quiere ser una base de datos relacional y una documental al mismo tiempo. Yo lo llamo ambición. Si yo hiciera tantas cosas bien a la vez, también me volvería un poco chulo.

ORACLE DATABASE
Nivel: Excepcional
Una vez me invitaron a dar una charla sobre bases de datos y acabé explicando, durante cuarenta minutos, por qué una clave foránea es mucho más estable que la mayoría de los matrimonios. Hubo dos divorcios durante el descanso. No puedo demostrar que fuese culpa mía, pero tampoco voy a negarlo.

IBM DB2
Nivel: Meraviglioso
IBM DB2 tiene tanto historial que, cuando abro la documentación, encuentro referencias a tecnologías que ya estudian los arqueólogos. Y, aun así, sigue dando menos problemas que muchos proyectos nuevos.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MS SQL SERVER
Nivel: C1
Siempre confío en SQL Server. Si algo falla, abre SQL Server Management Studio, pulsa cinco veces en «Refresh» y mira muy serio la pantalla. El problema no desaparece, pero los demás creen que sabes exactamente lo que haces.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MYSQL
Nivel: Abrumador
Me encanta MySQL. Es como ese compañero que siempre dice: «Tranquilo, esto funciona». Y funciona... hasta que el cliente decide multiplicar el número de usuarios por cien un viernes a las seis de la tarde.

MARIADB
Nivel: Fenómeno
Un día alguien dijo que MariaDB era igual que MySQL. Se hizo un silencio incómodo. Desde entonces, en las reuniones evitamos hablar de política, religión y motores de bases de datos derivados.

MS SQL SERVER
Nivel: C1
Siempre confío en SQL Server. Si algo falla, abre SQL Server Management Studio, pulsa cinco veces en «Refresh» y mira muy serio la pantalla. El problema no desaparece, pero los demás creen que sabes exactamente lo que haces.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

CASSANDRA
Nivel: Superlativo
Cassandra presume de que ningún nodo es imprescindible. Después de configurar un clúster entero, descubrí que el único imprescindible era el compañero que entendía la configuración. Desde entonces nadie se atreve a darle vacaciones.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

MONGODB
Nivel: Fantástico
Repite conmigo: las tablas son para los débiles. Recuerdo una vez que un compañero buscaba un documento y me dijo: «Esto no puede estar bien organizado». Le respondí: «Claro que no, ¡es MongoDB!». Nos reímos los dos una barbaridad. Aunque él todavía está buscando el documento.

COUCHDB
Nivel: Fenomenal
Mi favorita. La domino sin levantarme del sofá. Cuando alguien me pregunta dónde está el esquema, le miro fijamente unos segundos y cambio de tema. Una vez resolví una incidencia relacionada con esta base, pero luego me di cuenta de que la incidencia era que me había quedado dormido.

CASSANDRA
Nivel: Superlativo
Cassandra presume de que ningún nodo es imprescindible. Después de configurar un clúster entero, descubrí que el único imprescindible era el compañero que entendía la configuración. Desde entonces nadie se atreve a darle vacaciones.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

REDIS
Nivel: Astonishing
Redis demuestra que la velocidad lo es todo. El problema llega cuando la RAM empieza a parecer un apartamento en el centro: demasiado pequeña para todas las cosas que hemos decidido guardar.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

IGNITE
Nivel: Bueno
Apache Ignite puede ser base de datos, caché, motor SQL y plataforma distribuida. Después de leer la documentación, la única duda que quedaba era qué problema intentaba resolver antes de resolverlos todos.

HAZELCAST
Nivel: Extraordinario
Hazelcast siempre aparece en las reuniones con la promesa de repartir los datos entre todos los servidores. Curiosamente, repartir la documentación entre los desarrolladores nunca resulta tan sencillo.

REDIS
Nivel: Astonishing
Redis demuestra que la velocidad lo es todo. El problema llega cuando la RAM empieza a parecer un apartamento en el centro: demasiado pequeña para todas las cosas que hemos decidido guardar.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

H2 DATABASE
Nivel: Exquisito
«En mi ordenador funciona perfectamente». Claro, llevas tres meses probando contra H2. Luego llega Oracle a producción y descubre que vuestra relación era puramente platónica.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

MEMCACHED
Nivel: De otro mundo
Memcached hace milagros con el rendimiento. Esto queda demostrado en el mismo momento en que alguien reinicia el servidor y descubre que la estrategia de persistencia se apoyaba principalmente en tener mucha fe.

VOLTDB
Nivel: Sublime
VoltDB procesa transacciones a una velocidad increíble. La única operación realmente lenta consiste en convencer al cliente de que necesita una base de datos capaz de procesar millones por segundo.

H2 DATABASE
Nivel: Exquisito
«En mi ordenador funciona perfectamente». Claro, llevas tres meses probando contra H2. Luego llega Oracle a producción y descubre que vuestra relación era puramente platónica.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

TOMCAT
Nivel: Milagroso
—¿Usas Tomcat?
—Sí.
—¿Y no quieres algo más moderno?
—No. También sigo usando papel higiénico. Hay tecnologías tan buenas que no necesitan reinventarse cada seis meses para parecer inteligentes.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

SQLALCHEMY
Nivel: Perturbador
SQLAlchemy genera consultas estupendas. El director financiero sigue convencido de que el verdadero cuello de botella era comprar servidores con más de cuatro gigas de RAM.

MINIO
Nivel: Asombroso
MinIO es Amazon S3 sin la factura mensual. Una frase capaz de emocionar a cualquier director financiero casi tanto como un despido masivo.

TOMCAT
Nivel: Milagroso
—¿Usas Tomcat?
—Sí.
—¿Y no quieres algo más moderno?
—No. También sigo usando papel higiénico. Hay tecnologías tan buenas que no necesitan reinventarse cada seis meses para parecer inteligentes.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

WILDFLY
Nivel: Altísimo
Me encanta WildFly. Arrancarlo cada mañana cuenta como entrenamiento cardiovascular. Mientras carga, hago café, desayuno, reviso el correo y aún me sobra tiempo para arrepentirme.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

JETTY
Nivel: Alto
Jetty presume de ser ligero. Tan ligero que, cuando lo arrancas, te preguntas si de verdad habrá arrancado o se habrá ido educadamente y sin hacer ruido para no molestar.

UNDERTOW
Nivel: Muy alto
Undertow va tan rápido que algunos desarrolladores creen que no hace nada. No, simplemente está ocupado trabajando mientras tu framework favorito sigue generando clases inútiles.

WILDFLY
Nivel: Altísimo
Me encanta WildFly. Arrancarlo cada mañana cuenta como entrenamiento cardiovascular. Mientras carga, hago café, desayuno, reviso el correo y aún me sobra tiempo para arrepentirme.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

WEBLOGIC
Nivel: Supremo
WebLogic cuesta una fortuna, así que cuando consigo arrancarlo sin errores me siento obligado a comportarme como un consultor sénior. Si has desplegado en Tomcat... pues qué tierno. Ya crecerás.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

GLASSFISH
Nivel: Te doy un revolcón
GlassFish es ese ex que jura haber cambiado. Le das otra oportunidad, sonríe, funciona dos días... y enseguida recuerdas exactamente por qué rompiste la relación.

PAYARA
Nivel: Alto
Payara es GlassFish después de ir al gimnasio, dejar las drogas y encontrar un trabajo estable. La familia está orgullosa, aunque todavía arrastra algún trauma de juventud.

WEBLOGIC
Nivel: Supremo
WebLogic cuesta una fortuna, así que cuando consigo arrancarlo sin errores me siento obligado a comportarme como un consultor sénior. Si has desplegado en Tomcat... pues qué tierno. Ya crecerás.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

NETTY
Nivel: Altísimo
Netty mueve millones de conexiones con una elegancia insultante. Luego llega un compañero, mete un Thread.sleep() donde no debe y consigue que parezca PHP ejecutándose en un disquete. Cuando alguien presume de rendimiento y me habla de «miles» de conexiones simultáneas, automáticamente dejo de escuchar. Netty tampoco perdería el tiempo.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

WEBSPHERE
Nivel: Alto
Cuando alguien dice que Kubernetes lo resuelve todo, le enseño una instalación histórica de WebSphere. Si sobrevive a esa experiencia, entonces hablamos de alta disponibilidad.

JBOSS EAP
Nivel: Alto
Si nunca has actualizado JBoss EAP en producción con medio banco pendiente, no me expliques lo que significa vivir bajo presión. Cambiar el fondo de VS Code no cuenta.

NETTY
Nivel: Altísimo
Netty mueve millones de conexiones con una elegancia insultante. Luego llega un compañero, mete un Thread.sleep() donde no debe y consigue que parezca PHP ejecutándose en un disquete. Cuando alguien presume de rendimiento y me habla de «miles» de conexiones simultáneas, automáticamente dejo de escuchar. Netty tampoco perdería el tiempo.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

RABBIT MQ
Nivel: Extraordinario
Me encanta RabbitMQ. Es el único conejo capaz de transportar millones de mensajes sin cagarse en la alfombra. Bastante más educado que el de mi vecino.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

GUNICORN
Nivel: You're simply the best
Desplegar con Gunicorn es fácil. Convencer al equipo de que reiniciar el servidor no arregla el código basura ya requiere bastante más infraestructura.

HYPERCORN
Nivel: Ensordecedor
Me encanta la gente que instalan Hypercorn esperando multiplicar el rendimiento y luego mantienen exactamente el mismo código de mierda que hace cinco llamadas síncronas para obtener un JSON.

RABBIT MQ
Nivel: Extraordinario
Me encanta RabbitMQ. Es el único conejo capaz de transportar millones de mensajes sin cagarse en la alfombra. Bastante más educado que el de mi vecino.

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

KAFKA
Nivel: Superior
Mi arquitectura tiene Kafka, eventos, particiones y replicación. El programa imprime «Hola, mundo». Pero lo hace con una escalabilidad que asusta.

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

ACTIVE MQ
Nivel: Extraordinario
Mi jefe quería sustituir ActiveMQ por algo moderno. Le pregunté si también quería cambiar el ascensor por una tirolina. Desde entonces no hablamos de arquitectura.

APACHE PULSAR
Nivel: Maravilloso
Pulsar puede mover millones de mensajes. Ahora solo necesitas conseguir que tu equipo sea capaz de mover alguna tarea al estado «terminada».

KAFKA
Nivel: Superior
Mi arquitectura tiene Kafka, eventos, particiones y replicación. El programa imprime «Hola, mundo». Pero lo hace con una escalabilidad que asusta.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

DOCKER
Nivel: Alto
Mi mayor habilidad como programador es escribir un Dockerfile de doscientas líneas para ejecutar un programa que antes arrancaba con un doble clic.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

NATS
Nivel: Top
Elegimos NATS porque queríamos simplicidad. El arquitecto estuvo tres semanas intentando complicarlo.

CELERY
Nivel: Muy bueno, hablado y escrito
Desde que la empresa descubrió Celery y decidió que todo podía hacerse «en segundo plano», las subidas salariales han estado en cola ya cinco años.

DOCKER
Nivel: Alto
Mi mayor habilidad como programador es escribir un Dockerfile de doscientas líneas para ejecutar un programa que antes arrancaba con un doble clic.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

HELM
Nivel: Timonel
Helm simplifica desplegar Kubernetes. Lo demuestra envolviendo treinta archivos YAML dentro de cuarenta plantillas. Cuando algo falla, rezas para que el mensaje de error tenga más de cuatro palabras.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

DOCKER COMPOSE
Nivel: Beaucoup
Con Docker Compose levantas quince servicios con un comando. También puedes tirar quince servicios con otro. Puedes entretenerte descubriendo cuál de todos los servicios es el causante.

KUBERNETES
Nivel: Er mejón
Mi aplicación necesita un servidor. Mi arquitecto propone Kubernetes. Es como comprarte un aeropuerto porque tu primo te pidió que le llevaras al pueblo.

HELM
Nivel: Timonel
Helm simplifica desplegar Kubernetes. Lo demuestra envolviendo treinta archivos YAML dentro de cuarenta plantillas. Cuando algo falla, rezas para que el mensaje de error tenga más de cuatro palabras.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

NEXUS
Nivel: Muy alto, demostrable
Nexus guarda todos nuestros artefactos. También conserva dependencias que nadie recuerda haber usado desde 2014.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

OPENSHIFT
Nivel: Increíble
OpenShift es Kubernetes con cinturón, tirantes y vigilancia parental. Todo está protegido... especialmente de ti. Si consigues permisos para hacer algo, probablemente ya no recuerdes por qué querías hacerlo.

JENKINS
Nivel: Mayordomo
Algunos dicen que Jenkins tiene demasiados plugins. Pero es que yo no quiero un servidor de integración continua, yo quiero a Frankenstein con interfaz web.

NEXUS
Nivel: Muy alto, demostrable
Nexus guarda todos nuestros artefactos. También conserva dependencias que nadie recuerda haber usado desde 2014.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

PODMAN
Nivel: Máximo
Cuando alguien pregunta por Docker, respondo Podman. No porque sea siempre mejor, sino porque me gusta ver cómo empieza otra discusión de dos horas.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

JFROG
Nivel: Anfibio
Artifactory almacena todos los binarios. El nuestro pesa medio terabyte. Nuestro proyecto pesa veinte megas. La nostalgia ocupa muchísimo espacio.

HARBOR
Nivel: Alto
Harbor guarda todas tus imágenes Docker. Suele tener más imágenes antiguas que el álbum de fotos de tu abuela.

PODMAN
Nivel: Máximo
Cuando alguien pregunta por Docker, respondo Podman. No porque sea siempre mejor, sino porque me gusta ver cómo empieza otra discusión de dos horas.

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

APACHE HTTP SERVER
Nivel: Extraordinario
Mi servidor sigue usando Apache. Algunos lo llaman antiguo. Yo lo llamo «tecnología que sobrevive a las modas y a tres directores técnicos».

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

CONTAINERD
Nivel: Máximo
La mayoría habla de Docker. Los que conocen Containerd suelen hacerlo con esa sonrisa de superioridad reservada para quien acaba de descubrir cómo funciona realmente el truco.

APACHE CAMEL
Nivel: Triple joroba
Mi integración con Apache Camel funciona. Nadie sabe por qué, así que hemos decidido no tocar absolutamente nada.

APACHE HTTP SERVER
Nivel: Extraordinario
Mi servidor sigue usando Apache. Algunos lo llaman antiguo. Yo lo llamo «tecnología que sobrevive a las modas y a tres directores técnicos».

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

TRAEFIK PROXY
Nivel: Extraordinario
Traefik detecta servicios automáticamente. Es fantástico. Descubre microservicios que ni el equipo recordaba haber desplegado.

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

NGINX
Nivel: Milagroso
Nginx sirve miles de peticiones por segundo. Tu aplicación responde una cada cinco segundos. Al menos uno de los dos está haciendo bien su trabajo.

HAPROXY
Nivel: Alto
HAProxy reparte la carga entre todos los servidores. Qué detalle. Así ninguno se siente discriminado cuando tu código los tumba simultáneamente.

TRAEFIK PROXY
Nivel: Extraordinario
Traefik detecta servicios automáticamente. Es fantástico. Descubre microservicios que ni el equipo recordaba haber desplegado.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

LINKERD
Nivel: De fantasía pura
Elegimos Linkerd porque queríamos un service mesh ligero. Linkerd demuestra que, a veces, menos complejidad también cuenta como una funcionalidad.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

ENVOY
Nivel: Alto
Envoy sabe exactamente a qué servicio enviar cada petición. Ojalá Recursos Humanos tuviera la misma habilidad.

ISTIO
Nivel: Alto
Instalamos Istio para simplificar la infraestructura. Fue tan efectivo que ahora necesitamos tres ingenieros solo para entender Istio.

LINKERD
Nivel: De fantasía pura
Elegimos Linkerd porque queríamos un service mesh ligero. Linkerd demuestra que, a veces, menos complejidad también cuenta como una funcionalidad.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

ETCD
Nivel: El jefe
Distributed /etc guarda la configuración crítica del clúster. Nadie piensa en él hasta que desaparece. Entonces descubres que Kubernetes, en realidad, era un castillo inflable sostenido por un fichero diminuto.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

HASHICORP CONSUL
Nivel: Alto
Consul descubre automáticamente los servicios. Mi compañero sigue preguntándome dónde está la API. Hay límites para cualquier tecnología.

ZOOKEEPER
Nivel: Encargado
Cada vez que alguien pregunta para qué sirve ZooKeeper, un administrador suspira profundamente y abre otra documentación de Kafka.

ETCD
Nivel: El jefe
Distributed /etc guarda la configuración crítica del clúster. Nadie piensa en él hasta que desaparece. Entonces descubres que Kubernetes, en realidad, era un castillo inflable sostenido por un fichero diminuto.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

MAVEN
Nivel: Erudito
Nada une más a un equipo que descubrir que el repositorio Maven acaba de dejar de responder cinco minutos antes del despliegue.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

KONG
Nivel: Gran simio
Con Kong controlas todas tus APIs. Ahora solo necesitas explicarle a ese compañero tan empático, que parece pensar que su código es mejor que el de los demás, que deje de tocar los huevos cambiando las APIs a capricho y sin previo aviso solo porque, según él, ha tenido que optimizarlas porque tú las habías hecho mal y él es el que sabe hacerlas bien. Amén.

APACHE APISIX
Nivel: Erudito
Algunos cambian de API Gateway cada dos años buscando más rendimiento. Es curioso que, año tras año, sigan devolviendo el mismo JSON de veinte megas para una lista con tres clientes.

MAVEN
Nivel: Erudito
Nada une más a un equipo que descubrir que el repositorio Maven acaba de dejar de responder cinco minutos antes del despliegue.

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

YARN
Nivel: Fetén
Hubo una época en la que decir «yo uso Yarn» te hacía parecer un iluminado. Entonces npm copió media idea de yarn, y encima apareció pnpm para arreglar a los dos. Ahora todos hablan de pnpm. El ego del desarrollador caduca sorprendentemente rápido, y donde dije digo...

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

GRADLE
Nivel: No words to describe
Gradle descarga Internet entero, genera cachés místicas y ejecuta tareas con nombres que parecen hechizos. Cambias una línea y recompila el universo. Debe de tener alguna explicación científica.

NPM
Nivel: Fenomenal
Cuando veo un node_modules de dos gigas entiendo perfectamente por qué algunos desarrolladores creen que comprar más RAM es una estrategia de arquitectura.

YARN
Nivel: Fetén
Hubo una época en la que decir «yo uso Yarn» te hacía parecer un iluminado. Entonces npm copió media idea de yarn, y encima apareció pnpm para arreglar a los dos. Ahora todos hablan de pnpm. El ego del desarrollador caduca sorprendentemente rápido, y donde dije digo...

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

APACHE CXF
Nivel: Muy alto
Apache CXF demuestra que SOAP sigue vivo. Igual que las cucarachas: puedes admirar su resistencia, pero no tienes por qué querer vivir con ellas.

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

PNPM
Nivel: Perita
Los usuarios de npm dicen que pnpm es raro. Curioso. Para mí lo raro era descargar quinientas copias idénticas de la misma librería y llamarlo diseño.

POETRY
Nivel: Joer, el mejor
Poetry hace que gestionar entornos virtuales sea mucho más limpio. Lástima que no pueda gestionar también toda la mierda que el desarrollador mantiene en el proyecto.

APACHE CXF
Nivel: Muy alto
Apache CXF demuestra que SOAP sigue vivo. Igual que las cucarachas: puedes admirar su resistencia, pero no tienes por qué querer vivir con ellas.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

CHECKSTYLE
Nivel: Alto
Checkstyle encontró un espacio de más y decidió que el proyecto entero era indigno de compilar. El código funciona, pero la llave está dos columnas desplazada. Cuestión de prioridades.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

KEYCLOAK
Nivel: Mago
Mi aplicación tiene autenticación robusta gracias a Keycloak. El usuario sigue usando «123456» como contraseña. Tampoco se puede hacer magia.

HASHICORP VAULT
Nivel: Alto
Vault guarda todos los secretos. Menos el de quién dejó la contraseña de producción escrita en un Post-it.

CHECKSTYLE
Nivel: Alto
Checkstyle encontró un espacio de más y decidió que el proyecto entero era indigno de compilar. El código funciona, pero la llave está dos columnas desplazada. Cuestión de prioridades.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

ERROR PRONE
Nivel: Alto
Error Prone señala un posible fallo que jamás ocurrirá. Ignoras el aviso. Seis meses después ocurre exactamente ese fallo. Desde entonces finges que siempre le hiciste caso y hasta le das las gracias.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

PMD
Nivel: Alto
PMD encuentra métodos demasiado largos justo después de que pasaras dos días escribiéndolos.

SPOTBUGS
Nivel: Spooky
SpotBugs detecta errores potenciales con una puntería admirable. También consigue que sospeches de código que lleva funcionando diez años. Nada fortalece tanto la paranoia de un desarrollador como un falso positivo elegante.

ERROR PRONE
Nivel: Alto
Error Prone señala un posible fallo que jamás ocurrirá. Ignoras el aviso. Seis meses después ocurre exactamente ese fallo. Desde entonces finges que siempre le hiciste caso y hasta le das las gracias.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

MOCKITO
Nivel: Superior
Si necesitas treinta mocks para probar un método, quizás el problema no sea Mockito. Quizás has diseñado una catedral para sumar dos números.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

SONARQUBE
Nivel: Alto
Ayer le pasamos el Sonar al proyecto después de algún tiempo sin hacerlo. Descubrió errores de tres empleados jubilados. El puñetero guarda más rencor que mi ex.

JUNIT
Nivel: Superior
Escribir código sin JUnit es como hacer puenting sin revisar la cuerda. Puede salir bien... hasta que deja de salir.

MOCKITO
Nivel: Superior
Si necesitas treinta mocks para probar un método, quizás el problema no sea Mockito. Quizás has diseñado una catedral para sumar dos números.

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

TESTNG
Nivel: Inimaginable
El proyecto tiene tres mil tests TestNG. Fallan dos. Buena suerte encontrando cuáles, porque el informe parece que lo ha escrito el becario con resaca y ganas de tocar los huevos.

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

JMETER
Nivel: Técnico Superior
JMeter lleva veinte años teniendo la misma pinta. Es una estrategia brillante: cuando alguien abre la interfaz ya está suficientemente estresado para hacer pruebas de carga de forma completamente natural.

CUCUMBER
Nivel: Extraordinario
Escribimos las pruebas en lenguaje natural para que las entendiera todo el mundo. Ahora ni los analistas entienden los escenarios, ni los desarrolladores saben qué demonios está validando ese «Dado que el usuario existe».

TESTNG
Nivel: Inimaginable
El proyecto tiene tres mil tests TestNG. Fallan dos. Buena suerte encontrando cuáles, porque el informe parece que lo ha escrito el becario con resaca y ganas de tocar los huevos.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

REST ASSURED
Nivel: Torero
REST Assured comprueba tu API sin piedad. Lo malo es que luego ya no puedes culpar al frontend. To lo bueno se acaba.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

ARQUILLIAN
Nivel: El máquina
Cuando un junior pregunta por qué usamos Arquillian, los sénior se quedan mirando al infinito. Al cabo de un rato, alguien responde: «Porque ya estaba».

WIREMOCK
Nivel: Excepcional
Cuando alguien dice «eso solo falla en producción», sonrío y saco WireMock. Después el silencio suele durar bastante más que la discusión.

REST ASSURED
Nivel: Torero
REST Assured comprueba tu API sin piedad. Lo malo es que luego ya no puedes culpar al frontend. To lo bueno se acaba.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

PYTEST
Nivel: Magnífico
Pytest hace que escribir pruebas sea tan sencillo que ya no queda ninguna excusa. Habrá que inventar algunas nuevas.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

KARATE
Nivel: Señor Miyagui
Karate acerca negocio y desarrollo, y hasta el gestor del proyecto entiende los escenarios. Estupendo. Ahora ya puede meter la nariz hasta el fondo otro más que no tiene ni puta idea del código.

GATLING
Nivel: Ametralladora
Gatling genera miles de usuarios simultáneos. Tu aplicación aguanta cinco. El informe: precioso, lleno de gráficas. La reunión: inolvidable.

PYTEST
Nivel: Magnífico
Pytest hace que escribir pruebas sea tan sencillo que ya no queda ninguna excusa. Habrá que inventar algunas nuevas.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

ELASTICSEARCH
Nivel: Altísimo
Elasticsearch encuentra cualquier cosa. Excepto el documento que necesitas cuando el cliente está presente en la reunión.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

OPENAPI
Nivel: Fabuloso
Gracias a OpenAPI, frontend y backend hablan el mismo idioma. Luego llega el cliente con un Excel y consigue que ninguno de los dos lo entienda.

SWAGGER
Nivel: Alto
Hay equipos que mantienen Swagger perfectamente actualizado. Otros lo usan como literatura fantástica: cualquier parecido con la API real es pura coincidencia.

ELASTICSEARCH
Nivel: Altísimo
Elasticsearch encuentra cualquier cosa. Excepto el documento que necesitas cuando el cliente está presente en la reunión.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

GRAFANA
Nivel: Monstruo
Grafana convierte un desastre operativo en un conjunto de gráficas tan bonito que casi dan ganas de provocar otra caída. Mi jefe no entiende las métricas, pero adora Grafana. Es la herramienta ideal para que aquellos que realmente no aportan nada se entretengan y no molesten al artista.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

OPENSEARCH
Nivel: Más alto
Antes usábamos Elasticsearch. Ahora OpenSearch. Las búsquedas son iguales, pero las discusiones de postureo en LinkedIn son muchísimo más largas.

PROMETHEUS
Nivel: Más alto todavía
Prometheus no arregla problemas. Se limita a avisarte con una precisión humillante de que los tienes.

GRAFANA
Nivel: Monstruo
Grafana convierte un desastre operativo en un conjunto de gráficas tan bonito que casi dan ganas de provocar otra caída. Mi jefe no entiende las métricas, pero adora Grafana. Es la herramienta ideal para que aquellos que realmente no aportan nada se entretengan y no molesten al artista.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

GRAFANA LOKI
Nivel: Bastante bueno
Loki prometía indexar menos para ahorrar costes. Pero tu equipo no es muy bueno con las etiquetas. Perfecto. Ahora ahorrar tiempo buscando un log concreto ya es otra historia. El error está ahí, escondido entre millones de líneas, disfrutando de su anonimato.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

FLUENTBIT
Nivel: Experto
Fluent Bit consume pocos recursos. Tan pocos que parece pedir perdón cada vez que procesa un log. Luego descubres que olvidaste una etiqueta y llevas una semana enviando los registros al limbo.

FLUENTD
Nivel: Bueno
Fluentd puede transformar cualquier log en cualquier formato. Después de trescientas líneas de configuración ya ni recuerdas cuál era el formato original. Pero queda profesional decir que es un pipeline de observabilidad.

GRAFANA LOKI
Nivel: Bastante bueno
Loki prometía indexar menos para ahorrar costes. Pero tu equipo no es muy bueno con las etiquetas. Perfecto. Ahora ahorrar tiempo buscando un log concreto ya es otra historia. El error está ahí, escondido entre millones de líneas, disfrutando de su anonimato.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

JAEGER
Nivel: Senior
Gracias a Jaeger descubrí que una petición sencilla visitaba más servicios que yo de vacaciones.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

LOGSTASH
Nivel: Un poquito menos bueno
Gracias a Logstash, ahora ya tienes todos los errores centralizados. Qué cómodo resulta contemplar el desastre desde un único panel, ¿verdad?

KIBANA
Nivel: Buenísimo
Kibana demuestra una verdad universal: si el error aparece en un dashboard con filtros y colores, parece muchísimo más profesional.

JAEGER
Nivel: Senior
Gracias a Jaeger descubrí que una petición sencilla visitaba más servicios que yo de vacaciones.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

LIQUIBASE
Nivel: Erudito
Antes modificábamos tablas a mano. Ahora usamos Liquibase. El desastre tarda un poco más, pero queda mucho mejor documentado.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

ZIPKIN
Nivel: Senior
Zipkin dibuja el recorrido de cada petición. Es como Google Maps, pero todas las rutas terminan en un timeout.

OPEN TELEMETRY
Nivel: Sapiens
OpenTelemetry recopila trazas, métricas y logs. Luego necesitas media plataforma adicional para entenderlas. Has instrumentado hasta la tostadora, pero el bug sigue escondido exactamente donde estaba antes.

LIQUIBASE
Nivel: Erudito
Antes modificábamos tablas a mano. Ahora usamos Liquibase. El desastre tarda un poco más, pero queda mucho mejor documentado.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE FLINK
Nivel: Magician
Con Flink puedes reaccionar a un evento en milisegundos. La empresa responde al informe generado por Flink entre tres y cuatro meses después.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE HADOOP
Nivel: Sabio
Hay directivos que creen que instalar Hadoop convierte automáticamente los datos en inteligencia. Si fuera tan fácil, Excel habría conquistado el mundo hace veinte años. Yo por mi parte, cuando alguien presume de tener un clúster Hadoop gigantesco, siempre pregunto lo mismo: «¿Y exactamente qué problema está resolviendo?». El silencio suele procesarse bastante rápido.

APACHE SPARK
Nivel: Brujería pura
Spark procesa terabytes en minutos. Luego llega un analista con un SELECT * y consigue que todo el clúster se plantee seriamente su propósito en la vida.

APACHE FLINK
Nivel: Magician
Con Flink puedes reaccionar a un evento en milisegundos. La empresa responde al informe generado por Flink entre tres y cuatro meses después.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

HTML
Nivel: Fabuloso
Domino HTML desde que las etiquetas todavía tenían complejo de párrafo. Mis etiquetas están tan bien estructuradas que han venido a estudiarlas hasta de Zara. El navegador abre mis páginas y se pone firme por respeto.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

APACHE STORM
Nivel: Extraordinario
Storm mueve millones de eventos por segundo. El proyecto sigue parado porque falta una firma.

APACHE BEAM
Nivel: De la hostia
Hay quien instala Apache Beam porque necesita portabilidad. Luego despliega siempre en el mismo sitio. Pero queda muy elegante decir que la arquitectura está preparada para el futuro.

HTML
Nivel: Fabuloso
Domino HTML desde que las etiquetas todavía tenían complejo de párrafo. Mis etiquetas están tan bien estructuradas que han venido a estudiarlas hasta de Zara. El navegador abre mis páginas y se pone firme por respeto.

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

TYPESCRIPT
Nivel: Admirable
TypeScript dejó de intimidarme hace mucho tiempo. Una vez corregí un tipo delante de todo el equipo y el Scrum Master se levantó, saltando como una loca, a aplaudirme. «¡Bravo! ¡¡bravooo!! ¡¡torerooo!!»

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

CSS
Nivel: Extraordinario
Auténtica brujería visual: mis flex, grid y media queries obedecen sin discutir. He conseguido que Internet Explorer casi parezca un navegador moderno. Mis estilos tienen más capas que una cebolla con doctorado.

JAVASCRIPT
Nivel: Sorprendente
Manejo JavaScript con tanta soltura que el this me entiende perfectamente, las promesas se cumplen y los callbacks vuelven puntuales. Mis funciones son tan elegantes que hasta los bugs piden convertirse en funcionalidades.

TYPESCRIPT
Nivel: Admirable
TypeScript dejó de intimidarme hace mucho tiempo. Una vez corregí un tipo delante de todo el equipo y el Scrum Master se levantó, saltando como una loca, a aplaudirme. «¡Bravo! ¡¡bravooo!! ¡¡torerooo!!»

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

NEXT JS
Nivel: Brutal
Mi mayor logro con Next.js ha sido descubrir que borrar la carpeta .next soluciona más problemas de los que yo mismo genero. Desde entonces lo llamo «compilación incremental manual».

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

ANGULAS
Nivel: Chupadedos
Con Angulas me manejo tan bien que, cuando entré en mi última empresa, los arquitectos empezaron a tomar apuntes, y al tercer día ya me ponían apodos. Pero cariñosos. Realmente es una cuestión de respeto profesional. «El de la barba», «el comensal», «el señor que vino a comer», «el arguiñano»... ¡Mmm! Con mucho ajito.

REACT
Nivel: Experto
React no supone problema. Me preocupa tan poco que, cuando alguien presume delante de mí de saber cómo funciona el useEffect, le doy una palmadita en el hombro y le digo: «Ya llegarás». Algunos se enfadan. Otros me piden que les firme el portátil.

NEXT JS
Nivel: Brutal
Mi mayor logro con Next.js ha sido descubrir que borrar la carpeta .next soluciona más problemas de los que yo mismo genero. Desde entonces lo llamo «compilación incremental manual».

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

EMBER
Nivel: C1
Ember lleva tantos años funcionando que merece todo mi respeto. Mi experiencia con él consiste en haber leído toda la documentación antes de decidir usar React.

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

NUXT JS
Nivel: Fantástico
Siempre digo que Nuxt.js es claramente superior a Next.js. Nunca he terminado un proyecto con ninguno de los dos, así que mi opinión es completamente imparcial.

VUE
Nivel: Alto
Mi conocimiento de Vue es muy profundo, como si lo hubiese hecho yo mismo, y por eso lo defiendo con auténtica pasión. Cada vez que alguien pregunta por qué, cambio de tema y empiezo a hablar de lo limpio que queda un v-for.

EMBER
Nivel: C1
Ember lleva tantos años funcionando que merece todo mi respeto. Mi experiencia con él consiste en haber leído toda la documentación antes de decidir usar React.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

SVELTE
Nivel: Impresionante
Svelte compila todo de maravilla. Mi aplicación sigue teniendo errores, pero al menos ahora se generan mucho más rápido.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

GATSBY
Nivel: C2
Siempre recomiendo Gatsby para cualquier proyecto. Luego el cliente menciona contenido dinámico y empiezo a explicar por qué, en realidad, Next.js también tiene mucho potencial.

AURELIA
Nivel: Asombroso
Estoy convencido de que Aurelia es el futuro del desarrollo web. El único problema que me surge es encontrar otro desarrollador con quien debatirlo.

SVELTE
Nivel: Impresionante
Svelte compila todo de maravilla. Mi aplicación sigue teniendo errores, pero al menos ahora se generan mucho más rápido.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

ASTRO
Nivel: Tremendo
Astro permite mezclar React, Vue, Svelte y otros frameworks en el mismo proyecto. Exactamente la flexibilidad que necesitas para que tu código sea inmantenible.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

SVELTEKIT
Nivel: Indiscutible
SvelteKit hace muchas cosas de manera automática. Mi aplicación también. Uno de estos días conseguiré que SvelteKit y mi aplicación coincidan en estas cosas.

BACKBONE JS
Nivel: Grande
Conozco Backbone.js desde sus mejores tiempos. Esto hace que suela evitar explicar cuándo fueron exactamente esos mejores tiempos.

ASTRO
Nivel: Tremendo
Astro permite mezclar React, Vue, Svelte y otros frameworks en el mismo proyecto. Exactamente la flexibilidad que necesitas para que tu código sea inmantenible.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

IONIC
Nivel: Grandioso
¿Que no hay plugin para lo que quieres hacer? ¿Y a qué esperas pa ponerte a hacerlo tú mismo? No seas egoísta y dale al mundo algo gratis, las grandes corporaciones te lo agradecerán con una sesión de team building, una dinámica de grupo de 80 personas, o quizás una yincana que aburre a las ovejas.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

FRAMEWORK7
Nivel: Bueno
Otro framework de nicho. Lo inventó un ruso que se llama Vladimir nosequé, y por lo visto es el único que lo mantiene.

FRESH
Nivel: Bueno
Muchos frameworks envían al navegador un gran paquete con Javascript. Fresh, sin embargo, empieza por enviar «cero» Javascript, y envía solo HTML. Para eso igual te sirve tu abuela con una pistola etiquetadora.

IONIC
Nivel: Grandioso
¿Que no hay plugin para lo que quieres hacer? ¿Y a qué esperas pa ponerte a hacerlo tú mismo? No seas egoísta y dale al mundo algo gratis, las grandes corporaciones te lo agradecerán con una sesión de team building, una dinámica de grupo de 80 personas, o quizás una yincana que aburre a las ovejas.

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

ONSEN UI
Nivel: Extraordinario
¡Que alguien rompa ya la lápida de este nicho, que se están asfixiando los desarrolladores dentro!

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

MARKO
Nivel: De diez
Optimizado para renderizado de páginas del lado del servidor. ¿Para qué vas a usar un sitio estático normal de toda la vida, cuando puedes liarla más poniendo al servidor a hacer cosas que no necesita realmente hacer?

MITHRIL JS
Nivel: MATRÍCULA DE HONOOORRRRR
Madre del amor hermoso. ¿Alguien sabe qué coño es esto? ¿Los Juegos Semiolímpicos, o quizás alguna marca china de coches?

ONSEN UI
Nivel: Extraordinario
¡Que alguien rompa ya la lápida de este nicho, que se están asfixiando los desarrolladores dentro!

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

RIOT JS
Nivel: Milagroso
Es fácil defender su uso cuando casi nadie en la reunión lo ha usado y puedes inventarte tranquilamente la mitad de las ventajas.

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

QWIK
Nivel: Alto
«Con lo grande que es su comunidad, la gran cantidad de paquetes que tiene, y lo fácil que es de aprender y de depurar, es una de mis primeras opciones»... y entonces me desperté.

REMIX
Nivel: Fabuloso
El sitio web es super chulo. Cuando sepa algo más ya lo cuento.

RIOT JS
Nivel: Milagroso
Es fácil defender su uso cuando casi nadie en la reunión lo ha usado y puedes inventarte tranquilamente la mitad de las ventajas.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

SOLID JS
Nivel: Alto
Aseguro que SolidJS supera a React en rendimiento. Mi única prueba consiste en una calculadora que nunca llegó a producción, pero los benchmarks emocionales me dan toda la razón.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

STENCIL
Nivel: Asombroso
Cuando digo que utilizo Stencil, muchos asienten con respeto. Sospecho que ninguno sabe exactamente qué hace, pero tampoco pienso estropear un momento tan bonito.

ALPINE JS
Nivel: Genial
Alpine.js prometía sustituir todo mi JavaScript. Lo consiguió durante tres días. Al cuarto ya había escrito seiscientas líneas intentando evitar escribir JavaScript.

SOLID JS
Nivel: Alto
Aseguro que SolidJS supera a React en rendimiento. Mi única prueba consiste en una calculadora que nunca llegó a producción, pero los benchmarks emocionales me dan toda la razón.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

LIT
Nivel: Alto
Llevo años diciendo que los Web Components son el futuro. Pero el futuro tiene la mala costumbre de llegar bastante más despacio que mis presentaciones de PowerPoint.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

INFERNO
Nivel: Alto
Elegí Inferno porque quería la máxima velocidad. Después descubrí que el cuello de botella seguía siendo el mismo de siempre: el humano escribiendo código.

KNOCKOUT
Nivel: Alto
Siempre digo que Knockout.js estaba muy adelantado a su época. Es una frase fantástica que me evita tener que explicar por qué sigo utilizándolo.

LIT
Nivel: Alto
Llevo años diciendo que los Web Components son el futuro. Pero el futuro tiene la mala costumbre de llegar bastante más despacio que mis presentaciones de PowerPoint.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

ANGULAR MATERIAL
Nivel: Turing
Domino Angular Material hasta el último detalle. Cuando un componente no hace lo que espero, concluyo que el problema es filosófico, no técnico.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

PREACT
Nivel: Nobel
Preact demuestra que React tiene demasiado código. Mi aplicación también tiene demasiado código, pero ha sido el becario, que lo han dejado tocar.

HYPERAPP
Nivel: Oscar
Que Hyperapp sea minimalista no implica necesariamente que tu repositorio también vaya a acabar siéndolo.

ANGULAR MATERIAL
Nivel: Turing
Domino Angular Material hasta el último detalle. Cuando un componente no hace lo que espero, concluyo que el problema es filosófico, no técnico.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

NG-ZORRO
Nivel: Bueno
¿NG zorro? NG CHINORRO, que la mitad de las guías están en chino.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

CLARITY
Nivel: Bueno
Hay quien dice que tiene un estilo visual rígido y unos componentes de estilo un tanto corporativo o administrativo. Añádase una pizca de positividad tóxica, otra de postureo, un poco de teatro y el cincuenta por ciento de perfiles falsos, y ya tienes la próxima web comercial de Linkedin.

KENDO UI
Nivel: Alto
Es de pago y el código está ofuscado, así que no le toques los huevos a ver si te va a meter una hostia con el sable de bambú.

NG-ZORRO
Nivel: Bueno
¿NG zorro? NG CHINORRO, que la mitad de las guías están en chino.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

ANT DESIGN
Nivel: Bueno
Trae tantos componentes que el proyecto parece terminado el primer día. El segundo descubres que quieres cambiar el aspecto de uno. El tercero ya aceptas que tu aplicación tendrá exactamente el mismo diseño que las otras veinte hechas con Ant Design.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

PRIMENG
Nivel: Mejor
Los frecuentes cambios en el CSS y en los temas rompen el código y obligan a reestructurarlo con frecuencia. Vamos, que dan unas ganas de actualizar...

MATERIAL UI
Nivel: Bueno pero no tanto
Material UI tiene cientos de componentes. Yo utilizo siempre los mismos cuatro, pero con una seguridad que hace pensar que el resto son completamente innecesarios.

ANT DESIGN
Nivel: Bueno
Trae tantos componentes que el proyecto parece terminado el primer día. El segundo descubres que quieres cambiar el aspecto de uno. El tercero ya aceptas que tu aplicación tendrá exactamente el mismo diseño que las otras veinte hechas con Ant Design.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

PRIMEREACT
Nivel: Extraordinario
Tiene componentes para todo. Ahora a ver cuál de las ciento cuarenta propiedades hay que tocar para mover un icono tres píxeles hacia la izquierda.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

HEADLESS UI
Nivel: Medalla de oro
Libertad absoluta para diseñar cualquier interfaz. Definimos a continuación «libertad»: pasar tres días escribiendo el CSS que cualquier otra librería ya traía de serie.

MANTINE
Nivel: Sublime
Componentes, formularios, hooks, y media aplicación resuelta. Funciona tan bien que el arquitecto empezó a sospechar. Ahora el mayor esfuerzo consiste en convencerlo de que no hace falta cambiar otra vez de librería.

PRIMEREACT
Nivel: Extraordinario
Tiene componentes para todo. Ahora a ver cuál de las ciento cuarenta propiedades hay que tocar para mover un icono tres píxeles hacia la izquierda.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

RADIX UI
Nivel: Experto
Radix UI separa comportamiento y estilos. Después paso una semana intentando que un botón parezca un botón.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

REACT BOOTSTRAP
Nivel: Maestro
Crea interfaces con aspecto muy moderno. Como del 2018. Teniendo en cuenta que el universo tiene 13800 millones de años... sí, es moderno... contemporáneo, vaya.

SHADCN/UI
Nivel: Bueno
Todo el mundo dice que con shadcn/ui eres dueño de tus componentes. Es verdad. También eres dueño de actualizarlos, corregirlos, mantenerlos y explicar al becario por qué ahora hay quinientos archivos copiados dentro del proyecto.

RADIX UI
Nivel: Experto
Radix UI separa comportamiento y estilos. Después paso una semana intentando que un botón parezca un botón.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

PURE CSS
Nivel: Ferpecto
Elegí Pure.css porque cualquier framework más grande habría limitado mi talento. Lo poco que ocupa la librería deja espacio suficiente para mi genialidad.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

CHAKRA
Nivel: Experto
Chakra UI busca equilibrio entre diseño y productividad. Perdí los dos después de una semana entera intentando personalizar el tema.

TAILWIND CSS
Nivel: Perfecto
Tailwind CSS funciona tan bien porque lo utilizo yo. Las miles de clases que incluye ayudan, pero todos sabemos quién aporta el verdadero rendimiento.

PURE CSS
Nivel: Ferpecto
Elegí Pure.css porque cualquier framework más grande habría limitado mi talento. Lo poco que ocupa la librería deja espacio suficiente para mi genialidad.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

FOUNDATION
Nivel: Especial
Curva de aprendizaje regular, comunidad reducida, diseño predeterminado, sin personalización profunda. Vamos, más de lo mismo. Pero, ¿por qué no harán un framework que haga las cosas él solo? Ah, que eso decían también de la IA. Ya.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

BULMA
Nivel: Maestro Muten Roi
Puse «Bulma» en el currículum y me contrataron por el framework, pero tengo que reconocer que sigo esperando que me asignen un proyecto con Son Goku.

BOOTSTRAP
Nivel: Extraordinario
Crea una interfaz profesional en diez minutos. Después, arréglatelas para que el cliente no te enseñe otras cinco páginas idénticas preguntando si también las has desarrollado todas tú.

FOUNDATION
Nivel: Especial
Curva de aprendizaje regular, comunidad reducida, diseño predeterminado, sin personalización profunda. Vamos, más de lo mismo. Pero, ¿por qué no harán un framework que haga las cosas él solo? Ah, que eso decían también de la IA. Ya.

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

SPECTRE
Nivel: Absoluto
Spectre.css presume de ser ligero. Claro que pesa poco, cuando buena parte de lo que necesitas viene incluido en la categoría de «te lo haces tú mismo».

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

MATERIALIZE CSS
Nivel: Especialista
Elegí Materialize CSS porque quería seguir Material Design. Lo hice tan bien que mi aplicación parecía una captura de pantalla de Android de hace ocho años.

UIKIT
Nivel: Total
UIkit tiene componentes elegantes y una comunidad discreta. Tan discreta que, cuando busco una solución en Internet, Google insiste en enseñarme respuestas de Bootstrap como si quisiera ayudarme a tomar mejores decisiones.

SPECTRE
Nivel: Absoluto
Spectre.css presume de ser ligero. Claro que pesa poco, cuando buena parte de lo que necesitas viene incluido en la categoría de «te lo haces tú mismo».

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

REDUX
Nivel: Alto
Este lo domino.

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

PICO CSS
Nivel: Abrumador
Pico.css promete que el HTML semántico ya queda bonito sin apenas escribir clases. Es fantástico, siempre que tus clientes compartan exactamente el mismo concepto de «bonito» que los autores de Pico.css.

TACHYONS CSS
Nivel: Alto
Tachyons asegura que las clases pequeñas hacen el desarrollo más rápido. Puede ser. Mi HTML terminó pareciendo la contraseña del router: pa3 mt2 f5 w-100 flex justify-between items-center, pero con muchísimo menos significado.

REDUX
Nivel: Alto
Este lo domino.

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

MOBX
Nivel: Alto
Ay, este no. ¿Dónde está el becario?

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

REDUX TOOLKIT
Nivel: Alto
Este también.

ZUSTAND
Nivel: Alto
Este, ni te cuento.

MOBX
Nivel: Alto
Ay, este no. ¿Dónde está el becario?

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

XSTATE
Nivel: Mago
XState convierte toda la aplicación en una máquina de estados. Es una idea brillante, siempre que el equipo también disponga de otra máquina capaz de entender el diagrama resultante.

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

RECOIL
Nivel: Dominio total
Recoil parecía el futuro del estado global en React. Después dejó de evolucionar al ritmo esperado y ahora cada reunión empieza con la misma pregunta: «¿Seguimos con Recoil o fingimos que nunca ocurrió?»

JOTAI
Nivel: Extraordinario
Jotai divide el estado en pequeños átomos. Mi proyecto acabó teniendo tantos que el verdadero experimento de física consistía en descubrir cuál provocaba la reacción en cadena.

XSTATE
Nivel: Mago
XState convierte toda la aplicación en una máquina de estados. Es una idea brillante, siempre que el equipo también disponga de otra máquina capaz de entender el diagrama resultante.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

VUEX
Nivel: Sobrenatural
Vuex fue durante años la respuesta oficial para gestionar el estado en Vue. Hoy su principal función consiste en aparecer en proyectos heredados y recordar que el pasado nunca desaparece del todo.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

NGRX
Nivel: Extraordinario
NgRx ofrece un flujo de datos impecable. También ofrece suficientes acciones, reducers, efectos y selectores para que cambiar el texto de un botón parezca una migración bancaria.

PINIA
Nivel: Brujo
Pinia llegó para simplificar Vuex. Los desarrolladores de Vue la recibieron con entusiasmo. Los tutoriales de Vuex recibieron una jubilación anticipada bastante merecida.

VUEX
Nivel: Sobrenatural
Vuex fue durante años la respuesta oficial para gestionar el estado en Vue. Hoy su principal función consiste en aparecer en proyectos heredados y recordar que el pasado nunca desaparece del todo.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

GSAP
Nivel: Abysmal
Me gusta GSAP porque me gusta mucho animarlo todo, especialmente las reuniones, cuando intento explicar por qué necesitábamos una librería de cien funciones para mover un botón veinte píxeles.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

AKITA
Nivel: Bueno
Akita tiene una arquitectura muy elegante y bien organizada. El único inconveniente es explicar en cada incorporación por qué usamos Akita cuando el resto del mercado decidió aprender otra cosa.

FRAMER MOTION
Nivel: Extraordinario
Siempre añado animaciones con Framer Motion para mejorar la experiencia de usuario. La mayor parte de mi talento lo aplico en aumentar la duración de las animaciones hasta que parezcan deliberadamente elegantes. Si el usuario acaba mareado intentando cerrar un diálogo, considero que la experiencia ha sido inolvidable.

GSAP
Nivel: Abysmal
Me gusta GSAP porque me gusta mucho animarlo todo, especialmente las reuniones, cuando intento explicar por qué necesitábamos una librería de cien funciones para mover un botón veinte píxeles.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

LOTTIE
Nivel: Alto
Lottie permite llevar animaciones de los diseñadores directamente al navegador. También permite descubrir que el diseñador considera perfectamente razonable entregar un archivo de cuarenta megabytes para un icono sonriente.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

MOTION ONE
Nivel: Especial
Motion One es simplicidad. Lo curioso es que he acabado dedicando más tiempo a comprobar la compatibilidad de los navegadores que a crear las animaciones.

ANIME JS
Nivel: Alto
Me dijeron «usa Anime.js, verás qué elegante». Terminé con tantos efectos que los usuarios necesitan unos segundos para distinguir si la página está cargando o saludando.

LOTTIE
Nivel: Alto
Lottie permite llevar animaciones de los diseñadores directamente al navegador. También permite descubrir que el diseñador considera perfectamente razonable entregar un archivo de cuarenta megabytes para un icono sonriente.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

CHART JS
Nivel: Muy alto
Siempre digo que Chart.js resuelve el 95 % de las gráficas. Mi cliente, con una precisión admirable, siempre necesita exactamente el otro 5 por ciento.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

REACT-SPRING
Nivel: Muy alto
React Spring utiliza física real para mover componentes. Todo rebota, oscila, y tarda una eternidad en quedarse quieto.

AOS
Nivel: Muy alto
AOS convierte cualquier web en una colección de apariciones espectaculares. Perfecto para esconder a un maquetador mediocre.

CHART JS
Nivel: Muy alto
Siempre digo que Chart.js resuelve el 95 % de las gráficas. Mi cliente, con una precisión admirable, siempre necesita exactamente el otro 5 por ciento.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

APEXCHARTS
Nivel: Extraordinario
Algunos instalan ApexCharts porque quieren impresionar al cliente. Después el cliente acaba creyendo que todas las gráficas complejas tardan cinco minutos y cuestan exactamente lo mismo.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

D3JS
Nivel: Dominio completo
¿Querías control total sobre las gráficas de datos? Ahora cada eje, cada etiqueta y cada línea dependen exclusivamente de tu capacidad para soportar el dolor.

ECHARTS
Nivel: Cinturón negro
ECharts puede hacer cualquier tipo de gráfica. Mi único límite sigue siendo descubrir en qué nivel del objeto JSON escondieron esa opción concreta.

APEXCHARTS
Nivel: Extraordinario
Algunos instalan ApexCharts porque quieren impresionar al cliente. Después el cliente acaba creyendo que todas las gráficas complejas tardan cinco minutos y cuestan exactamente lo mismo.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

HIGHCHARTS
Nivel: Extraordinario
Nos pidieron que usáramos Highcharts porque hace gráficas espectaculares. Casi tan espectaculares como el cabreo del departamento financiero al descubrir el concepto de «licencia comercial» justo cuando el proyecto ya estaba terminado.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

RECHARTS
Nivel: Alto
Elegimos Recharts para escribir menos código. Y lo conseguimos. Pero ahora, todo el código que ahorramos ha terminado convertido en componentes auxiliares con nombres cada vez más desesperados.

VICTORY
Nivel: Extraordinario
Victory facilita mucho las gráficas estadísticas. Pero explicar al cliente por qué la gráfica no puede parecerse exactamente al Excel que envió sigue siendo completamente manual.

HIGHCHARTS
Nivel: Extraordinario
Nos pidieron que usáramos Highcharts porque hace gráficas espectaculares. Casi tan espectaculares como el cabreo del departamento financiero al descubrir el concepto de «licencia comercial» justo cuando el proyecto ya estaba terminado.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

FORMIK
Nivel: Alto
Dicho por muchos, era la solución definitiva para formularios React. Hasta que apareció React Hook Form, claro.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

NIVO
Nivel: Alto
Algunos dominan Nivo y lo ponen en el currículum porque queda muy moderno. Mi verdadera especialidad consiste en buscar ejemplos en GitHub a una velocidad francamente profesional.

REACT HOOK FORM
Nivel: Extraordinario
Hace formularios rapidísimos. El cuello de botella siguen siendo las formas completamente innovadoras que el usuario continuamente encuentra para escribir mal su dirección de correo.

FORMIK
Nivel: Alto
Dicho por muchos, era la solución definitiva para formularios React. Hasta que apareció React Hook Form, claro.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

VEST
Nivel: Extraordinario
Con Vest validas formularios como si escribieras pruebas. Bastante tengo con las pruebas que ya me da la vida como para convertir también las validaciones en una suite de tests.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

ZOD
Nivel: Alto
Empecé a usar Zod porque quería que los errores aparecieran en tiempo de desarrollo. Ahora aparecen en tiempo de desarrollo, de pruebas, de producción, y en mis pesadillas.

YUP
Nivel: Extraordinario
Yup fue durante años la reina de las validaciones. Hoy cada nuevo proyecto parece mirarla con la misma expresión con la que uno encuentra un CD-ROM en un cajón.

VEST
Nivel: Extraordinario
Con Vest validas formularios como si escribieras pruebas. Bastante tengo con las pruebas que ya me da la vida como para convertir también las validaciones en una suite de tests.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

VITEST
Nivel: Alto
Instalamos Vitest porque queríamos ahorrar tiempo. El tiempo ahorrado fue íntegramente invertido posteriormente en pelearnos con la configuración. El universo mantiene siempre el equilibrio.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

JEST
Nivel: Alto
Jest ejecuta miles de pruebas en segundos. Mi especialidad consiste en romperlas todas con un cambio de una sola línea y decir que «seguro que ya estaban fallando antes».

CARNE MECHÁ
Nivel: Chupadedos
Recomendable un despliegue en slices no demasiado finas, siempre en frío. Esta es la única tecnología en la que los usuarios piden repetir después de una incidencia.

VITEST
Nivel: Alto
Instalamos Vitest porque queríamos ahorrar tiempo. El tiempo ahorrado fue íntegramente invertido posteriormente en pelearnos con la configuración. El universo mantiene siempre el equilibrio.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

TESTING LIBRARY
Nivel: Extraordinario
Testing Library dice que pruebes la aplicación como lo haría un usuario. El problema es que mis usuarios hacen auténticas barbaridades que ni el desarrollador más cabrón sería capaz de imaginar.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

CYPRESS
Nivel: Extraordinario
Siempre alardeo de tener cobertura E2E. Lo que no cuento es que media suite depende de pulsar botones exactamente en el orden en que los alinearon los planetas el día que escribí las pruebas.

PLAYWRIGHT
Nivel: Alto
Playwright ejecuta pruebas en todos los navegadores. Tu equipo también consigue que fallen en todos con una consistencia que delata un talento difícil de igualar.

TESTING LIBRARY
Nivel: Extraordinario
Testing Library dice que pruebes la aplicación como lo haría un usuario. El problema es que mis usuarios hacen auténticas barbaridades que ni el desarrollador más cabrón sería capaz de imaginar.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

VITE
Nivel: Alto
Algunos presumen de usar Vite porque «Webpack ya es historia». Cinco minutos después instalan siete plugins para que Vite termine comportándose sospechosamente parecido a Webpack.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

JASMINE
Nivel: Alto
Conozco Jasmine desde hace tantos años que algunos tests ya tienen más antigüedad que los desarrolladores que intentan entenderlos. Y, sinceramente, ninguno de los dos está envejeciendo especialmente bien.

KARMA
Nivel: Extraordinario
Karma fue durante años el compañero inseparable de Angular. Su especialidad consistía en tardar una eternidad en arrancar para luego decirte que habías olvidado un punto y coma. Cada vez que alguien propone volver a usar Karma, algún portátil comienza a hiperventilar como un reactor, y no sé si es coincidencia o un mecanismo de autodefensa del propio hardware.

VITE
Nivel: Alto
Algunos presumen de usar Vite porque «Webpack ya es historia». Cinco minutos después instalan siete plugins para que Vite termine comportándose sospechosamente parecido a Webpack.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

ROLLUP
Nivel: Extraordinario
Llevo años copiando el mismo archivo de configuración entre proyectos con una confianza francamente admirable.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

WEBPACK
Nivel: Extraordinario
Siempre digo que entiendo Webpack. Lo suficiente como para copiar una configuración de Internet, cambiar dos rutas y rezar para que siga compilando el lunes.

PARCEL
Nivel: Alto
Elegí Parcel porque quería olvidarme del bundler. Lo conseguí hasta que el proyecto dejó de ser pequeño y el bundler decidió acordarse de mí.

ROLLUP
Nivel: Extraordinario
Llevo años copiando el mismo archivo de configuración entre proyectos con una confianza francamente admirable.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

SWC
Nivel: Alto
Siempre recomiendo SWC porque reemplaza a Babel en muchos proyectos. Luego aparece una transformación extraña y Babel entra otra vez por la puerta como si nunca se hubiera marchado.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

TURBOPACK
Nivel: Alto
Cada nueva versión de Turbopack promete más rendimiento. Yo actualizo inmediatamente, no porque lo necesite, sino porque me encanta participar involuntariamente en experimentos tecnológicos.

ESBUILD
Nivel: Alto
Esbuild compila tan rápido que ya no tengo excusa para levantarme a por café mientras espero. Es un golpe durísimo para mi productividad cafetera.

SWC
Nivel: Alto
Siempre recomiendo SWC porque reemplaza a Babel en muchos proyectos. Luego aparece una transformación extraña y Babel entra otra vez por la puerta como si nunca se hubiera marchado.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

RXJS
Nivel: Alto
Cuando veo siete pipe() seguidos, ya no sé si estoy programando o invocando demonios.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

BABEL
Nivel: Alto
Cada vez que alguien anuncia que Babel ya no hace falta, aparece un proyecto heredado dispuesto a recordarnos que las despedidas nunca fueron sencillas.

AXIOS
Nivel: Alto
Axios simplifica las peticiones HTTP. Después mi equipo se encarga de volver a complicarlas con tres interceptores, dos transformadores y un compañero dando la lata con que todo debería ir con fetch.

RXJS
Nivel: Alto
Cuando veo siete pipe() seguidos, ya no sé si estoy programando o invocando demonios.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

DAYS JS
Nivel: Alto
Este lo uso mucho. De verdad.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

LODASH
Nivel: Alto
Siempre digo que JavaScript moderno ya no necesita Lodash. Cinco minutos después estoy buscando cómo se llamaba exactamente la función que usaba hace diez años.

DATE-FNS
Nivel: Alto
Hay quien cambia a date-fns para escapar de Moment.js. Y tres semanas después sigue buscando cómo sumar dos puñeteros meses sin leer veinte ejemplos distintos. Al menos el paquete pesa poco.

DAYS JS
Nivel: Alto
Este lo uso mucho. De verdad.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

SOCKET IO
Nivel: Alto
Socket.IO hace que todo ocurra en tiempo real. Los bugs también. Antes había que recargar la página para romper la aplicación. Ahora revienta delante del cliente sin perder un segundo.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

PAPAS ALIÑÁS
Nivel: Chupadedos
Nuestro arquitecto dice que un buen código siempre es sencillo y nunca cambia. Lleva treinta años usando Papas Aliñás 1.0 y llama «ingredientes innecesarios» a cualquier mejora.

MOMENT JS
Nivel: Alto
Moment.js fue un gigante. Ahora cada vez que aparece en un proyecto heredado, todos lo miramos igual que a una cafetera del año 2004: funciona, pero da un poco de miedo tocarla.

SOCKET IO
Nivel: Alto
Socket.IO hace que todo ocurra en tiempo real. Los bugs también. Antes había que recargar la página para romper la aplicación. Ahora revienta delante del cliente sin perder un segundo.

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

SWR
Nivel: Alto
SWR revalida automáticamente los datos. Es una función fantástica, aunque algunos compañeros todavía preguntan por qué la pantalla acaba de actualizarse «sin tocar nada».

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

APOLLO CLIENT
Nivel: Alto
Apollo Client prometía resolver GraphQL elegantemente. Lo único elegante fue la cara del arquitecto cuando vio que necesitábamos un máster para entender la caché.

TANSTACK QUERY
Nivel: Alto
React Query evita escribir mucho código repetitivo. El tiempo ahorrado suele invertirse en discutir si todavía se llama React Query o si hay que decir TanStack Query.

SWR
Nivel: Alto
SWR revalida automáticamente los datos. Es una función fantástica, aunque algunos compañeros todavía preguntan por qué la pantalla acaba de actualizarse «sin tocar nada».

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

PIXI JS
Nivel: Alto
PixiJS renderiza gráficos 2D con una velocidad espectacular. Mi aplicación también, salvo cuando empiezo a añadir efectos porque «queda más bonito».

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

THREE JS
Nivel: Alto
Three.js permite crear mundos tridimensionales increíbles. Yo sigo celebrándolo cuando consigo que la cámara apunte en la dirección correcta al primer intento.

BABYLON JS
Nivel: Alto
Babylon.js ofrece herramientas impresionantes para gráficos 3D. Mi mayor logro sigue siendo convencer a los demás de que ese objeto flotando boca abajo era una decisión artística.

PIXI JS
Nivel: Alto
PixiJS renderiza gráficos 2D con una velocidad espectacular. Mi aplicación también, salvo cuando empiezo a añadir efectos porque «queda más bonito».

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

FULLCALENDAR
Nivel: Alto
Este también lo uso mucho. De verdad.

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

LEAFLET
Nivel: Alto
Leaflet hace muy fácil mostrar mapas. Lo difícil empieza cuando el cliente descubre que también quiere rutas, capas, geolocalización y un botón que «haga algo inteligente».

OPENLAYERS
Nivel: Alto
OpenLayers puede resolver prácticamente cualquier necesidad cartográfica. Encontrar la opción adecuada entre todas las disponibles ya es en sí parte del propio proyecto.

FULLCALENDAR
Nivel: Alto
Este también lo uso mucho. De verdad.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

CODEMIRROR
Nivel: Medio
Instalé CodeMirror para que los usuarios editaran código cómodamente. Tres días después uno pidió autocompletado, otro depuración y otro un compilador. La próxima vez les instalo Visual Studio Code y que dejen de tocar los huevos.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

AG GRID
Nivel: Alto
AG Grid es tan potente que, cuando el cliente pide una tabla, tú ya sospechas que acabará queriendo Excel entero funcionando dentro del navegador. Y, por desgracia, casi siempre aciertas.

HANDSONTABLE
Nivel: Alto
Handsontable convierte una web en una hoja de cálculo. En cuanto el cliente descubre eso, deja de pedir una aplicación y empieza a exigir que repliques Excel. Sin el presupuesto de Microsoft, claro.

CODEMIRROR
Nivel: Medio
Instalé CodeMirror para que los usuarios editaran código cómodamente. Tres días después uno pidió autocompletado, otro depuración y otro un compilador. La próxima vez les instalo Visual Studio Code y que dejen de tocar los huevos.
- También domino las siguientes categorías:
- Arquitecturas y patrones: microservicios, hexagonal, CQSR, SPQR e INRI.
- Estándares y protocolos de seguridad como JWT y OAuth.
- La mayoría de los IDEs habidos y por haber, Eclipse, IntelliJ, etc.
- Agile, Scrum, toda la retórica corporativa y el parchís.
- Herramientas auxiliares como Postman, Jira, Teams, Excel, etc, ya sean online o de escritorio, y en general cualquier aplicación para retrasados o Recursos Humanos, incluyendo ofimática y similares.
- Habilidades blandas (soft skills, siempre atento a no herir sensibilidades).
- Acrónimos y palabrejas en inglés para parecer sofisticado, y postureo de Linkedin a tutiplén.
- Mención aparte merece mi dominio de la IA, ML, NL, NLP, LLM, SLM, GenAI, RAG, RL, RLHF, RLAIF, PEFT, LoRA, MoE, MCP, MLOps, LLMOps, CV, ASR, TTL, y por supuesto VLM.
- Soy especialista en inteligencia artificial, aprendizaje automático y agentes autónomos. Mi mayor logro profesional ha sido entrenar un modelo capaz de sustituir al Scrum Master. En estos momentos nuestra IA está organizando una reunión para decidir si necesitamos otra reunión para determinar si la IA puede sustituir al Scrum Master o si necesitamos otro Scrum Master nuevo que supervise a la IA que sustituye al antiguo Scrum Master. El nuevo Scrum Master, por su parte, ha solicitado otra reunión para decidir si la reunión convocada por la IA debe ser supervisada por él o por otra IA especializada en supervisar a Scrum Masters que supervisan a otras IAs. La dirección ha creado un comité para analizar si este sistema puede considerarse Agile y el comité ha solicitado una reunión con el Scrum Master para decidir si debe solicitar una segunda reunión al comité. Mientras tanto, la IA ha propuesto automatizar todo el proceso, pero para aprobar la automatización necesitamos una reunión en la que decidamos quién debe convocar la reunión que decidirá quién tiene autoridad para aprobar la automatización, es decir, si la IA, el Scrum Master antiguo, el Scrum Master nuevo, la segunda IA que podría supervisar la reunión convocada por la primera IA, la dirección, el comité, o bien la puta madre que los parió a todos.
- Después de seis meses, nadie sabe qué está ocurriendo exactamente, pero nos ha quedado en el Jira un tablero moníííssimo.
PROYECTOS PERSONALES

¿Alguna vez has notado que ciertos animalitos han hecho una visita nocturna a tu patio o terraza y han marcado su territorio? A mí me pasaba lo mismo, y mi perro es demasiado flojo como para hacer nada, así que diseñé el Espantador de Mininos. Cuenta con sensores de pelo, de orines, y de ronroneo, y produce toda una variedad de sonidos ahuyentadores e incluso agarra gatos por la cola, mediante procedimiento electromecánico a base de relés que saqué de mi antiguo Seat Ibiza, pa zamarrearlos a gusto. Y sólo he necesitado 20 placas de prototipo de las grandes y algunos componentes. Lo más útil que he hecho en mi vida. La próxima vez intentaré hacer algo incluso más novedoso, ir más allá, hacer algo que nadie ha hecho nunca: un arduino pa regar las plantas.

¿Alguna vez has notado que ciertos animalitos han hecho una visita nocturna a tu patio o terraza y han marcado su territorio? A mí me pasaba lo mismo, y mi perro es demasiado flojo como para hacer nada, así que diseñé el Espantador de Mininos. Cuenta con sensores de pelo, de orines, y de ronroneo, y produce toda una variedad de sonidos ahuyentadores e incluso agarra gatos por la cola, mediante procedimiento electromecánico a base de relés que saqué de mi antiguo Seat Ibiza, pa zamarrearlos a gusto. Y sólo he necesitado 20 placas de prototipo de las grandes y algunos componentes. Lo más útil que he hecho en mi vida. La próxima vez intentaré hacer algo incluso más novedoso, ir más allá, hacer algo que nadie ha hecho nunca: un arduino pa regar las plantas.

ESPANTADOR DE MININOS
¿Quién se va a presentar voluntario pa probarlo? ¿Ehh? ¿Quién? ¿Quién?
Venga, a ver si encuentras a Wally.

A mí los que hacen videojuegos indie en 3D con Unity me parecen entrañables. Cuatro años aprendiendo shaders, físicas, iluminación y animaciones, para terminar haciendo un muñequito calvo que corre en círculos por un escenario del tamaño de un Mercadona, mientras una textura atraviesa una pared y el único enemigo del juego es una caja que no debería estar ahí.
No tengo nada contra Unity. El problema es que cada vez que veo un juego 3D hecho con Unity parece que estoy viendo el mismo proyecto de prácticas con distinto título: "corre hasta el otro extremo del escenario, esquiva a dos gilipollas y contempla cómo una roca atraviesa el suelo". La cosa más ambiciosa que puedes hacer parece ser poner un personaje a correr perseguido por tres enemigos con la inteligencia artificial de una tostadora desenchufada. Da igual el género: terror, acción, RPG, ciencia ficción... siempre acabas en un descampado minúsculo con un señor corriendo, tres enemigos con problemas cognitivos y alguna pared que decide dejar de existir. Y cinco años después siguen siendo exactamente eso: tu primer proyecto 3D, pero ahora el muñeco tiene sombras dinámicas y puedes ver cómo se le deforma la cara al girar demasiado rápido.
Yo no soy tan patético ni mediocre. A mí me gusta otra cosa...

A mí los que dicen que hacen videojuegos indie y 3D con Unity me parecen entrañables. Cuatro años aprendiendo shaders, físicas, iluminación y animaciones, para terminar haciendo un muñequito calvo que corre en círculos por un escenario del tamaño de un Mercadona, mientras una textura atraviesa una pared y el único enemigo del juego es una caja que no debería estar ahí.
No tengo nada contra Unity, y sé que algunos juegos indie son auténticas obras maestras. El problema es que cada vez que veo un juego 3D hecho con Unity parece que estoy viendo el mismo proyecto de prácticas con distinto título: "corre hasta el otro extremo del escenario, esquiva a dos gilipollas con la inteligencia de una tostadora y contempla cómo una roca atraviesa el suelo". La cosa más ambiciosa que puedes hacer parece ser poner un personaje a correr perseguido por tres enemigos con problemas cognitivos. Da igual el género: terror, acción, RPG, ciencia ficción... siempre acabas en un descampado minúsculo con un señor corriendo. Y cinco años después de empezar el muñeco ya tiene sombras dinámicas y puedes ver cómo se le deforma la cara al girar demasiado rápido.
Yo no soy tan patético ni mediocre. A mí me gusta otra cosa...

Se trata de un proyecto aún no finalizado, un videojuego de tipo matamarcianos en el que el jugador controla una navecita que se desplaza a izquierda y derecha por la parte baja de la pantalla y dispara hacia arriba a una formación de invasores alienígenas organizada en varias filas y columnas. Todos los alienígenas se mueven al mismo tiempo siguiendo un patrón: avanzan horizontalmente hacia un lado, al llegar al borde de la pantalla descienden una fila, cambian de dirección y repiten el proceso, de manera que cada vez están un poco más cerca de la navecita.
Llevo 7 años con esto y creo que pronto lo tendré listo. El mundo aún no ha visto nada igual. Creo que lo llamaré "Space Aliens" o "Martian invaders".

Se trata de un proyecto aún no finalizado, un videojuego de tipo matamarcianos en el que el jugador controla una navecita que se desplaza a izquierda y derecha por la parte baja de la pantalla y dispara hacia arriba a una formación de invasores alienígenas organizada en varias filas y columnas. Todos los alienígenas se mueven al mismo tiempo siguiendo un patrón: avanzan horizontalmente hacia un lado, al llegar al borde de la pantalla descienden una fila, cambian de dirección y repiten el proceso, de manera que cada vez están un poco más cerca de la navecita.
Llevo 7 años con esto y creo que pronto lo tendré listo. El mundo aún no ha visto nada igual. Creo que lo llamaré "Space Aliens" o "Martian invaders".

Es innegable que crear videojuegos como en los años 80 no tiene ninguna utilidad práctica.
Mientras otras personas aprenden tecnologías modernas, desarrollan inteligencia artificial o construyen aplicaciones capaces de gestionar millones de usuarios, tú puedes dedicar tres semanas a ahorrar exactamente dos bytes de memoria. Convertir un puñado de registros del procesador en una nave espacial formada por ocho píxeles requiere la imaginación suficiente para convencer al cerebro de que aquello realmente parece una nave espacial. Hay quien medita en la montaña, y otros buscan el equilibrio interior intentando descubrir por qué una rutina que ayer funcionaba hoy se bloquea porque un salto condicional aterriza exactamente un byte por delante o por detrás de donde debía.
Sí, es una inutilidad.
Pero yo no soy un simple programador. YO soy un artista.

Es innegable que crear videojuegos como en los años 80 no tiene ninguna utilidad práctica.
Mientras otras personas aprenden tecnologías modernas, desarrollan inteligencia artificial o construyen aplicaciones capaces de gestionar millones de usuarios, tú puedes dedicar tres semanas a ahorrar exactamente dos bytes de memoria. Convertir un puñado de registros del procesador en una nave espacial formada por ocho píxeles requiere la imaginación suficiente para convencer al cerebro de que aquello realmente parece una nave espacial. Y hay quien medita en la montaña, y otros buscan el equilibrio interior intentando descubrir por qué una rutina que ayer funcionaba hoy se bloquea porque un salto condicional aterriza exactamente un byte por delante o por detrás de donde debía.
Sí, es una inutilidad.
Pero yo no soy un simple programador. YO soy un artista.

Programar para un sistema de 8 bits es como escuchar un clásico de Pink Floyd en vinilo. Yo soy un sibarita de la programación, y por eso sé que no hay ninguna experiencia más enriquecedora y placentera para un buen programador que escribir código en Basic, Ensamblador, o incluso código máquina directamente para un Commodore 64 del año de la pera, dígito a dígito, con cuidado, esmero, cariño y mucha paciencia, saboreando todos sus matices, sus detalles, su complejidad y dinamismo. Bueno, dinamismo más bien poco. El Commodore es ese vino viejo que no nos podemos permitir. Yo soy el sumiller que descorchará esa botella para ti.

Programar para un sistema de 8 bits es como escuchar un clásico de Pink Floyd en vinilo. Yo soy un sibarita de la programación, y por eso sé que no hay ninguna experiencia más enriquecedora y placentera para un buen programador que escribir código en Basic, Ensamblador, o incluso código máquina directamente para un Commodore 64 del año de la pera, dígito a dígito, con cuidado, esmero, cariño y mucha paciencia, saboreando todos sus matices, sus detalles, su complejidad y dinamismo. Bueno, dinamismo más bien poco. El Commodore es ese vino viejo que a menudo no nos podemos permitir. Yo soy el sumiller que descorchará esa botella para ti.

EL ÚNICO TECLADO QUE NECESITAS
Ni gamer, ni inalámbrico, ni hostias. Esto es lo mejor para programar. Lo que no haga IBM...
ACERCA DE MÍ
MI FAMILIA


Mi mamá. De joven fue futbolista.

Mi culombiana con su papito chulo. Tendríais que verla por detrás.

Mi perro Capone esperando que le echen cerveza. Me lo dieron de cachorrito, fue un regalo del CEO de Matrioshka Capital. Le encanta pasear por Puerto Banús, no sé por qué.
AFICIÓN POR EL KICKBOXING


Roundhouse kick en combate con Big Mike "The Meat Grinder", en 2010.

Mi combate con Rude Boy Bartolo. Ahí le curé la sordera.

Directo de derecha que recibe de mí Rex Hunter. Por llamarme canijo.
AFICIÓN POR EL CINE
MIS PELIS FAVORITAS

Lo que más valoro en una película es su capacidad para explorar la dimensión humana de la existencia. Me atraen especialmente las obras que sitúan al ser humano en el centro de su relato y que se interesan por comprender qué nos define como personas. Más que la acción, el espectáculo o la complejidad argumental, busco historias que profundicen en la condición humana y que examinen, con sensibilidad e inteligencia, las motivaciones, contradicciones, virtudes y debilidades que conforman nuestra naturaleza.
Disfruto de las películas que indagan en la psicología de sus personajes y que presentan conflictos emocionales, morales o existenciales capaces de revelar aspectos esenciales de la experiencia humana. Me interesa el cine que reflexiona sobre cuestiones universales como el amor, la amistad, la pérdida, la esperanza, el miedo, la culpa, el sacrificio, la identidad, la compasión, la ambición o el sentido de la vida. En definitiva, me atraen aquellas historias que utilizan a sus personajes como un medio para comprender mejor a las personas y las múltiples facetas de la humanidad.
Considero especialmente valiosas las obras que presentan personajes complejos, creíbles y profundamente humanos, alejados de estereotipos simplistas y dotados de contradicciones, matices y evolución. Me interesa observar cómo reaccionan ante circunstancias difíciles, cómo toman decisiones, cómo cambian con el tiempo y cómo afrontan sus conflictos internos y sus relaciones con los demás.
En última instancia, el tipo de cine que más me interesa es aquel que, más allá del entretenimiento, constituye una reflexión sobre la naturaleza humana. Películas que invitan a comprender mejor quiénes somos, cómo pensamos, qué sentimos y por qué actuamos como lo hacemos; obras que exploran la riqueza psicológica y emocional del ser humano y que, de una forma u otra, contribuyen a ampliar nuestra comprensión de la condición humana.

Larga vida y prosperidad, Señora Spock.
Hay pocas películas como esta. Es que lo tiene todo: malos malotes, disparos láser, muñecos de goma o generados por ordenador, naves espaciales que hacen ruido que se propaga por el vacío, robots concebidos por una lavadora y una boya marina, robots de oro...
El que la hizo, se hizo de oro: "Primero hago una a ver qué tal sale. Si gano pasta, hago dos más. Y al cabo de un tiempo, si todo el mundo se acuerda de ella, digo que en realidad yo tenía en mente hacer nueve, y me forro, y me forro, y me forro, y me paso a todo el mundo por el... Y cuando ya esté quemada del todo, se la vendo a una gran corporación del entretenimiento familiar, y me sigo forrando."
Jugada maestra. Una joya del merchandising.

Larga vida y prosperidad, Señora Spock.
Hay pocas películas como esta. Es que lo tiene todo: malos malotes, disparos láser, muñecos de goma o generados por ordenador, naves espaciales que hacen ruido que se propaga por el vacío, robots concebidos por una lavadora y una boya marina, robots de oro...
El que la hizo, se hizo de oro: "Primero hago una a ver qué tal sale. Si gano pasta, hago dos más. Y al cabo de un tiempo, si todo el mundo se acuerda de ella, digo que en realidad yo tenía en mente hacer nueve, y me forro, y me forro, y me forro, y me paso a todo el mundo por el... Y cuando ya esté quemada del todo, se la vendo a una gran corporación del entretenimiento familiar, y me sigo forrando."
Jugada maestra. Una joya del merchandising.
Me atraen especialmente las películas que invitan a la reflexión y que continúan resonando en mi mente mucho después de haber terminado. Valoro aquellas obras que no se limitan a ofrecer un entretenimiento pasajero, sino que plantean preguntas, despiertan inquietudes intelectuales o emocionales y estimulan una reflexión profunda sobre los temas que abordan.
Disfruto del cine que desafía al espectador, que evita ofrecer respuestas simples o conclusiones cerradas y que deja espacio para la interpretación personal. Me interesan las películas que obligan a reconsiderar ideas preconcebidas, que presentan dilemas morales, filosóficos o existenciales y que invitan a analizar el comportamiento humano, la sociedad o la realidad desde perspectivas diferentes.
Aprecio especialmente las historias con múltiples niveles de lectura, capaces de revelar nuevos matices en cada visionado. Me resulta muy satisfactorio cuando una película permite descubrir significados, simbolismos o conexiones que no eran evidentes en un primer momento y que enriquecen progresivamente la experiencia.
En definitiva, considero especialmente valiosas aquellas películas que no terminan cuando aparecen los créditos, sino que permanecen en el pensamiento del espectador, generando preguntas, fomentando el debate y ofreciendo una experiencia intelectual y emocional que trasciende el mero acto de ver una historia.

Sin duda, la mejor comedia de los últimos treinta años.
La película empieza con Fredo (Alfredo, un hobbit italiano) de camino a su casa, cuando de repente se encuentra con alguien que va vestido de mago:
—Fredo, los orcos han averiguado dónde guardas el chocolate, tienes que marcharte cuanto antes.
—¿Tú estás loco o qué? Vaya momento pa tener otra alucinación. Mira, hace dos meses que no pillo... quiero decir, que no pillo una tarde libre, me voy a mi casa a ponerme hasta el culo, que me están esperando un par de colegas y me han dicho que han estado en Rivendel y se han traído material del bueno.
El resto es historia.

Sin duda, la mejor comedia de los últimos treinta años.
La película empieza con Fredo (Alfredo, un hobbit italiano) de camino a su casa, cuando de repente se encuentra con alguien que va vestido de mago:
—Fredo, los orcos han averiguado dónde guardas el chocolate, tienes que marcharte cuanto antes o vendrán a por él.
—¿Tú estás loco o qué? Vaya momento pa tener otra alucinación. Mira, hace dos meses que no pillo... quiero decir, que no pillo una tarde libre, me voy a mi casa a ponerme hasta el culo, que me están esperando un par de colegas y me han dicho que han estado en Rivendel y se han traído material del bueno.
El resto es historia.
También me atraen las películas de tono serio y enfoque realista, aquellas que buscan representar el mundo con verosimilitud y que abordan cuestiones relevantes desde una perspectiva madura. Valoro las obras que encuentran su interés en la propia realidad, sin necesidad de recurrir a elementos fantásticos, artificios espectaculares o planteamientos excesivamente idealizados.
Me gustan las películas que tratan problemas auténticos y reconocibles, relacionados con la vida cotidiana, las relaciones personales, el trabajo, la economía, la política, la justicia, la historia o los grandes desafíos sociales que afectan a las personas y a las sociedades. Me interesa especialmente cuando estas cuestiones se presentan con rigor, profundidad y sensibilidad, evitando simplificaciones o enfoques superficiales.
Prefiero historias dirigidas a un público adulto, tanto por la complejidad de los temas que desarrollan como por la forma en que los abordan. Aprecio las películas que confían en la capacidad del espectador para comprender situaciones complejas, interpretar matices y enfrentarse a conflictos morales, sociales o psicológicos sin necesidad de convertirlos en un mero espectáculo.
No significa que rechace por completo la ficción o la imaginación, sino que encuentro un mayor interés en aquellas obras que permanecen ancladas en la realidad y que utilizan el cine como una herramienta para observar, comprender y reflexionar sobre el mundo tal como es. En definitiva, valoro las películas que presentan una visión madura de la existencia, que exploran problemas reales y que invitan a pensar sobre cuestiones que tienen una auténtica relevancia humana, social o política.

El género de superhéroes ha conseguido que millones de adultos hagan cola y paguen encantados por ver la misma historia envuelta cada vez en un traje diferente. Ver una de estas películas siempre es una experiencia profunda, porque el superhéroe suele tener un trauma y la fotografía es de color azul grisáceo. Después te puedes dedicar a coleccionar figuras de 300 euros y ediciones limitadas de cromos. Y no hace falta que tengas ocho o diez años, con cuarenta o cincuenta también te dejan entrar al cine.
A mí me encanta disfrutar de una buena peli de superhéroes de vez en cuando, porque son las pelis preferidas de aquellos que siempre se sentirán jóvenes. Se trata de una auténtica e inquebrantable resistencia a abandonar la infancia. Verdaderamente admirable.
Lo llamativo de todo esto ocurre cuando este género deja de ser un entretenimiento ocasional y se convierte en la personalidad completa de alguien que lleva décadas pagando impuestos.

El género de superhéroes ha conseguido que millones de adultos hagan cola y paguen encantados por ver la misma historia envuelta cada vez en un traje diferente. Ver una de estas películas siempre es una experiencia profunda, porque el superhéroe suele tener un trauma y la fotografía es de color azul grisáceo. Después te puedes dedicar a coleccionar figuras de 300 euros y ediciones limitadas de cromos. Y no hace falta que tengas ocho o diez años, con cuarenta o cincuenta también te dejan entrar al cine.
A mí me encanta disfrutar de una buena peli de superhéroes de vez en cuando, porque son las pelis preferidas de aquellos que siempre se sentirán jóvenes. Se trata de una auténtica e inquebrantable resistencia a abandonar la infancia. Verdaderamente admirable.
Lo llamativo de todo esto ocurre cuando este género deja de ser un entretenimiento ocasional y se convierte en la personalidad completa de alguien que lleva décadas pagando impuestos.
BÚSQUEDA DE EMPLEO
En mi actual empresa hay rumores
de que van a despedir a la mitad de la plantilla
y me estoy planteando buscar otro trabajo.
Envíame una oferta si estás interesado.
© 2026 8bitkickboxer.com
The 8-Bit Kickboxing Kid
ALL RIGHTS RESERVED
Third-party trademarks and logos are the property of their respective owners.