domingo, diciembre 13, 2015

¿Para qué conocer otras tecnologías?

Aunque no trabajemos con otras tecnologías es bueno conocerlas. Podemos aplicar conceptos que son comunes en otros entornos. No tenemos que conocerlo a detalle; pero sí saber de qué se trata. Al hacer eso nos daremos cuenta que quizás ya existan implementaciones de aquellos conceptos en nuestro entorno que probablemente no los aprovechamos por desconocer cómo se usan.

Hace años casi todo el desarrollo de software en el que trabajaba era ASP. NET Web Forms. Con esa tecnología podía lograr casi todos los proyectos que me pedían. En aquel tiempo se puso de moda Ruby On Rails; pero hacerlo correr en Windows era muy complicado. De cualquier forma, como era algo que muchas de las personas que sigo (en el internet) lo mencionaban, me propuse conocerlo. Aplicar lo nuevo lleva su tiempo por lo que quería estar preparado. Hacer un hola mundo y después unos proyectos sencillos, como ejercicio, para conocer el Framework.

Aunque no fui a trabajar tiempo completo en proyectos de Ruby on Rails, esa experiencia me sirvió para ASP.NET, ya que basándose en esas ideas se desarrolló ASP.NETMVC. Cuando se lanzó el framework ya tenía un poco de ventaja, porque ya conocía el patrón MVC en Web gracias a que conocía otras tecnologías. Lo mismo pasó con Nuget, por ejemplo, el concepto de un administrador de paquetes no era común en .NET pero sí en otros ambientes. Conocer cómo trabajan esos otros entornos, nos ayuda a mejorar y a estar preparados para lo que venga.
 
Ahora ASP.NET 5 es una versión completamente nueva, que está principalmente basada en nodejs, el haber trabajado en nodejs (aunque no pagara mi sueldo) me ayuda a entender las decisiones tomadas al desarrollar la nueva versión de ASP.NET y me facilita aplicar los conceptos necesarios para aprovechar mejor el marco de aplicaciones. Así hay varios ejemplos de un lado a otro, algunas características de C#, por ejemplo, se agregarán a JavaScript.
Como programadores podemos especializarnos en ciertas tecnologías para el desarrollo de software, sin embargo es conveniente poner atención a lo que sucede en otras comunidades de desarrollo de software, podemos aprender conceptos y técnicas que podríamos aplicar a nuestra especialidad. También podríamos descubrir que nos gustan otros lenguajes o plataformas y que ahora nos quisieramos especializar en ellos.