Definición del stack contrarian
- Una filosofía de desarrollo que elige deliberadamente tecnologías alternativas en lugar de las tecnologías dominantes
- Un concepto nombrado por el autor como opuesto al stack convencional
- Las elecciones del autor:
- Ruby: Rails → Sinatra + DataMapper
- JavaScript: Prototype → MooTools
- Python: Django → Werkzeug + SQLAlchemy
- Actualmente: React/Next.js → Solid/SolidStart
El crecimiento que trae la dificultad del stack contrarian
- Como no había respuestas en Stack Overflow, analizar directamente el código fuente → comprensión profunda de la tecnología
- Por la poca base de usuarios, falta de apoyo de la comunidad → crecer como contribuidor de código abierto y la satisfacción de que un PR sea aceptado
- Experiencia del autor:
- La baja abstracción de Werkzeug → adquirir la capacidad de construir un framework interno
- El proceso llamado "dar palos de ciego" → conocimiento fundamental aplicable a cualquier stack
- Ventaja: una profunda perspectiva técnica obtenida en el proceso de resolver problemas
La ventaja de los que llegan después
- La experiencia de diseño que reconoce y mejora los problemas del stack convencional
- Ejemplo: la fine-grained reactivity de Solid (evita la sobrecarga del DOM virtual de React)
- Ganancia inesperada: entender el "por qué" de la tecnología y adquirir mejor criterio para diseñar arquitecturas
El valor oculto del stack ensamblado por piezas
- Stack convencional: un práctico paquete integral
- Rails (CoC), Django (Batteries Included), Next.js (full stack)
- Stack contrarian: elegir cada componente y ensamblarlo manualmente
- Caso del autor: Sinatra + DataMapper + Haml + Sass
- Lo laborioso de configurar cada componente y conectar el middleware
- Ventaja: comprensión total de cómo funciona la tecnología por dentro y de la interacción entre capas
Lección histórica
- Lo convencional de hoy también fue lo contrarian del pasado (Rails → alternativa a Java, React → alternativa a Backbone.js)
- Ventaja: una posición pionera para experimentar y comprender primero las tecnologías dominantes del futuro
La oportunidad paradójica en la era de los LLM
- Se refuerza la ventaja del stack convencional (ChatGPT domina Next.js, pero conoce poco SolidStart)
- Ventaja: la especialización en áreas donde los LLM no pueden destacar se vuelve una competitividad aún más diferenciadora
- Un camino de crecimiento para convertirse en un verdadero ingeniero, no solo en un usuario de frameworks
2 comentarios
Nunca había pensado que SQLAlchemy fuera un rebelde, pero es curioso.
Supongo que quizá se refería más a Werkzeug que a SA. Normalmente se usa Flask o FastAPI, así que no es tan fácil llevar la contraria hasta con el ORM.