Consejos

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a la última y usar aquello que acabamos de leer que usa Google, Facebook o la startup que lo está rompiendo. Sin embargo, ¿es esto lo mejor?

Tú no eres Google

Últimamente veo muchos equipos pequeños, startups y compañías con equipos técnicos poco maduros y no muy grandes apostar por arquitecturas o tecnologías muy modernas, como los microservicios, bases de datos NoSQL, etc. En mi opinión, uno de los principales problemas de esto, es utilizar una herramienta, tecnología o metodología porque X empresa lo usa. Está claro que todos queremos hacerlo lo mejor posible y aprovechar todas las novedades, pero muchas veces se toman decisiones que son como matar moscas a cañonazos.

Donde digo Google, puedes poner cualquier otra tecnológica grande como Facebook, Microsoft, Amazon, etc.

¿Cuáles son tus problemas? ¿Cuáles son los problemas de Google?

Los problemas de Google los podemos resumir en los siguientes puntos:

  • Un tráfico ingente
  • Miles de desarrolladores a gestionar
  • Muchísimos servicios distintos
  • Necesidad de integrar todos los productos
  • Un nivel de disponibilidad de prácticamente el 100%

Sin embargo, dudo mucho que tú/tu empresa tengáis un tráfico similar al de Google, ni seáis miles de desarrolladores, ni tengaís decenas de productos. Entonces, cuál es la necesidad de cosas como:

  • Bases de datos NoSQL cuando tus datos siempre siguen un esquema
  • Microservicios cuando con un par de instancias de tu monolito soportas todo tu tráfico
  • Microservicios cuando solo tienes un producto, hecho en una tecnología y por un único equipo de desarrollo
  • Colas de eventos cuando lanzas un número muy limitado de eventos
  • Microfrontents cuando el equipo de front son pocas personas

Si quieres leer más, te recomiendo el artículo que me dio idea para realizar esta sección.

Elige tecnología aburrida

Si no tengo que imitar a Google, porque no soy Google, entonces, ¿qué tecnología uso?. Seguramente tengas compañeros o empleados que te digan, “hay que usar React, es lo mejor”, “tenemos que usar microservicios, lo usan todos”, etc. Sin embargo, tienes que tener presente varias cosas:

  • El producto puede durar mucho más que tu programador en tu empresa
  • Si eliges una tecnología que no conoce nadie en el equipo, tendrás que formarlos
  • Si seleccionas una tecnología muy novedosa, no encontrarás gente en el mercado
  • Si eres una startup tienes que arriesgar para ser disruptivo, en otros casos, quizás el riesgo no te compense

La tecnología clásica y aburrida, tiene una gran ventaja sobre las cosas nuevas, los errores son menores, conocidos y se sabe cómo gestionarlos, si es posible. Pero la tecnología nueva, va encontrando estos problemas según se va usando por un número mayor de desarrolladores y proyectos.

Bajo la premisa anterior, se puede concluir que usar la misma tecnología para resolver varios problemas, aunque no sea la mejor opción tecnológica, puede reducir mucho los costes operativos. Esto es debido a que cada tecnología que añadamos supone mucho coste: personal especializado, máquinas, formación, integración con el resto de tecnologías, etc.

Mi recomendación, es la misma que la del siguiente artículo:

  • No elijas la mejor solución para cada problema, si no tienes mucho dinero para pagarlo. Coge aquellas tecnologías que permitan resolver varios problemas de manera óptima o subóptima.
  • Manten reducido el número de herramientas que usas y se experto en ellas
  • Si tu presupuesto es limitado, quédate con tecnologías maduras

Finalmente, esto no es un manifiesto a no innovar, sino a innovar con cabeza, en partes que no sean críticas, cuando la situación (tiempo, dinero y personal) lo permita, cuando tengas problemas que no puedan ser solucionados con las herramientas que usas, etc.

Espero que esta reflexión os parezca interesante.

 

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

4 años hace

¿Cómo usar agile para mejorar tu gestión de proyectos?

En los últimos tiempos y debido a la transformación digital de las empresas, cada vez…

4 años hace