Razones por las que tu startup debería de usar Ruby On Rails (RoR)

Ver todos los ensayos

Peligro: Si vienes a este artículo esperando una alabanza a Ruby On Rails (RoR), no te engañes. Estuve pensando en titular este artículo "Por qué tu startup no debería usar Ruby On Rails" pero creí que atraería a todos los fanáticos de RoR de por ahí, y que se tomarían un descanso en sus ocupados días para flamear. No quiero eso. Asumí el riesgo y escribí el artículo como una parodia. Si te sienta mal, siéntete libre de parar de leer ahora. No me ofenderé.

Este artículo asume que eres el fundador de una startup y que estás considerando RoR como tu plataforma principal de producción. Por favor, ten en cuenta que esos puntos de vista no son un análisis crítico del lenguaje Ruby o de los méritos técnicos del framework. Este artículo pretende ser un poco gracioso así que por favor no te lo tomes demasiado en serio.

Razones por las que tu startup debería usar Ruby On Rails

  1. Menos es más: Te has vendido completamente al mantra que dice que menos complejidad es por definición mejor. Tu producto es relativamente simple y encaja bien en el framework de RoR, incluyendo la capa de persistencia de datos. Estás evitando intencionalmente resolver problemas complicados al cliente que podrían involucrar modelos de bases de datos complejos. De hecho, incluso puede ser que la idea de producto de tu startup se base en alguno de los tutoriales de RoR o programas de ejemplo. Estás convencido de que el mundo no tiene suficientes aplicaciones para gestionar bugs, listas de vinos, colecciones de CD/DVD o lo que sea basadas en web, que usen AJAX y orientadas a bases de datos CRUD. En este caso, tu producto se hizo para RoR.
  2. Es más molón: Afróntalo, Ruby simplemente mola más. Java, C#, PHP son taaan del pasado. ¿Quién quiere trabajar con una tecnología que ya lleva en la calle más de 5 años? Además de que no podrías aprender cosas que no tienen precio precio al poder experimentar con un framework nuevísimo.
  3. Programadores más baratos: Como RoR es tan molón (ver arriba), la gente estará deseando trabajar para tu startup por menos dinero porque es una oportunidad para trabajar con RoR. De hecho, podrás incluso atraer desarrolladores estrella que están buscando engordar su currículum, ehm, quiero decir aprender en tu startup.
  4. La productividad del programador es la máxima prioridad: Claramente, conseguir que el producto esté en el mercado cuanto antes es la máxima prioridad. De hecho, si no eres capaz de conseguir una alta productividad, no puedes permitirte perseguir una oportunidad de mercado totalmente equivocada o inexistente. Si tu producto no se vende, solo tardaste un par de meses en construirlo de todas maneras, así que puedes simplemente empezar de nuevo y hacerlo bien la próxima vez.
  5. Impresionar los Venture Capitals: Llegados a este punto, todas las VCs han oido hablar del inmenso movimiento de Ruby On Rails en una revista en el avión cuando volvían de sus vacaciones en Hawaii. Claramente, ellos van a inclinarse del lado de los fundadores de startups que están buscando posicionarse en las nuevas tecnologías y potenciar las sinergias que acompañan al totalmente integrado y psicóticamente intuitivo y elegante estilo de programación que es inherente a Ruby On Rails. Esto se alinea perfectamente con su enfoque de invertir en startups de crecimiento explosivo, cambios de paradigma y explotación de mercado. En igualdad de condiciones, es más probable que consigas financiación si usas Ruby On Rails que si usas una de esas otras plataformas/frameworks web.
  6. Garantiza el buen diseño: Dado que el patrón MVC está "incrustado" en RoR, previene que los programadores se disparen ellos mismos en el pie. Es verdad, puedes aplicar MVC con Java y C# pero esos lenguajes proporcionan demasiadas opciones y no quieres tener que creer en tu equipo de desarrollo. Permaneciendo en los bonitos, acogedores confines de RoR que hace todas las elecciones estándar por ti, incluso puedes aprovecharte de su cosa esa de desarrollo global de la que has oido porque RoR hará incluso que aquel programador con 6 meses de experiencia en Javascript de buenas a primeras sea un miembro valiosísimo de tu superequipo de desarrollo. De hecho, gracias a la productividad de RoR (ver punto 4), consigues los beneficios de la experiencia acelerada. El nivel de un programador con 3 meses de experiencia en RoR es casi el equivalente al de un programador con 3 años de experiencia en uno de esos otros frameworks.
  7. Entiendes el riesgo / recompensa: No hay que ir a una escuela de negocios para entender que donde hay un gran riesgo, siempre hay una gran recompensa. Y, ¿qué hay más peligroso que montar un nuevo negocio en una plataforma relativamente nueva tecnológicamente? Por supuesto, si las cosas van mal, el proyecto es software libre así que siempre podrás arreglarlo tú mismo y salir de todos los agujeros en que te metas. Dado que todas las startups implican riesgo, mejor que tomes riesgos en las cosas que puedes controlar (como la plataforma tecnológica) que tener "riesgos de mercado" y otras cosas que no puedes controlar.
  8. No compites con 37signals: El hecho de que RoR parezca estar liderado por el absolutamente brillante David Heinemeier Hansson que curiosamente trabaja para 37signals no es relevante. Montones de líderes de proyectos de software libre son empleados de compañías de software. Además, de todas formas tú no compites con 37signals porque ellos se dedican a la "gestión de proyectos ligeros" y tú has pensado en algo "completamente diferente" que es totalmente improbable que jamás compita realmente con 37signals. E, incluso si tú acabas compitiendo con ellos algún día, ¿entonces qué? La comunidad de RoR es grande y creciente y no hay forma de que 37signals sea capaz de influir en el plan de desarrollo del producto. Estás en igualdad de condiciones - ¡ese es el poder del software libre!

Claramente, las startups deberían mirar Ruby On Rails como un punto clave para su producto. De hecho, esta decisión debería llevarse a cabo rápidamente porque cuanto más y más personas toman RoR, existen menos y menos oportunidades para la diferenciación. De hecho, si todo esto va más lejos, dejará de ser "molón" y toda la inversión en aprendizaje para el equipo de desarrollo será para nada y tendrás que empezar de nuevo con el que sea el próximo nuevo y reluciente framework el año que viene.

Conclusión (en serio): Escoger una plataforma tecnológica es una decisión fundamental para todas las startups y la elección se debería de hacer basándose en razones tecnológicas y estratégicas. Cuando estés tentado a tomar la última "bala de plata" en tecnología que prometa inmensas mejoras en la productividad (que RoR hace), entiende cuales son las contrapartidas. Para ir incluso más alla, estudia un poco sobre la historia y encuentra que vino antes. Es posible que en tu situación RoR sea efectivamente la mejor solución, pero seguramente no por las razones de arriba. Si te das cuenta que estás de acuerdo con cualquiera de ocho razones de arriba, realmente tenemos que hablar.

¿Qué piensas? Bromas aparte, ¿da la suficiente ventaja RoR desde el punto de vista una startup como para compensar los riesgos? ¿En qué situaciones es RoR una buena elección?

Ver todos los ensayos

Comentarios

Que quede claro que este ensayo es irónico. Al parecer lo han enlazado desde muchos sitios web que defienden RoR, lo cual es aún más irónico :p. Menuda obsesión por la plataforma a usar ¿a quién le importa? Desde luego no le importa mucho al usuario o cliente, solo a los desarrolladores. A veces creo que es mejor desarrollar con software que sea restrictivo porque así piensas menos en lo que te gusta programar y más en lo que te gusta ganar dinero. Un saludo.

escrito por: José María Ruiz , el 04/06/2007 a las 14:59:15

Enviar un comentario