Leyendo esta entrada de Javi Santana sobre los Frameworks de programación y la forma en la que acaban copando el protagonismo del proyecto, no he podido sonreir recordando mi propia experiencia.
Las fases de todo programador
Todo programador que se precie ha pasado por, al menos, un par de fases:
- No necesito ningún framework, trabajo mejor con mis librerías.
- ¡Oh! ¡Este framework es perfecto! Voy a rehacer todos mis proyectos con el.
Nota: la segunda fase puede repetirse con cierta asiduidad, dependiendo de lo mucho que nos guste probar cosas nuevas 🙂 . Además, esto puede ir cambiando entre los distintos frameworks de distintos lenguajes, normalmente según vamos cambiando de trabajo.
Los programadores que se interesan por su trabajo intentan estar al tanto de lo que va surgiendo, y probar cosas nuevas si tienen tiempo. Es muy fácil caer rendidos ante la sencillez que una nueva herramienta nos proporciona, y querer aplicarla de inmediato a nuestro trabajo diario, pensando que va a simplificar mucho nuestra vida (Pista: sale mal).
No es hasta que no nos metemos de lleno en un problema real que no descubrimos las limitaciones que tiene o puede llegar a tener, y cuando eso sucede, muchas veces ya es tarde para detener el proceso y hay que empezar de nuevo.
El mejor framework de todos
Creo que no es hasta pasados varios años que entiendes que cual sea el mejor framework (o la mejor herramienta) depende del proyecto y de las circunstancias concretas dentro de ese proyecto.
Por ejemplo, yo aconsejo empezar cualquier MVP con el lenguaje que más controles, teniendo en mente que si ese proyecto crece deberás cambiar de lenguaje casi con toda seguridad. Si es una aplicación móvil, te aconsejo que uses Framework como Ionic, que te permiten trabajar para Android e IoS de forma simultánea.
Pero, sobre todo, ten muy claro que el crecimiento de un proyecto puede llevarnos a necesitar cambiar de lenguaje o Framework según se necesite.
Es el negocio, estúpido
Como programadores no solemos querer entender que lo importante suele ser el negocio, y que la herramienta usada no suele importarle a los que manejan el negocio, acostumbrados a pensar de una forma más abstracta.
Así es como se explican esas horribles elecciones de lenguajes y tecnologías (Como Java y Spring) que se basan en su estabilidad, extensión y soporte, normalmente más escasas en lenguajes más modernos. ¿Qué necesidad tengo de meterme con un lenguaje o Framework moderno, cuando usando Java o Spring tengo acceso rápido y barato a programadores y soporte?
Y no, esas elecciones no son erroneas, todo lo contrario. Una empresa está para ganar dinero, y usar productos estables en lugar del último lenguaje o Framework de moda es una elección muy inteligente.
Recuerdalo si algún día decides dar el paso a tener tu propia empresa.