Inquietudes, recursos y un salto al vacio

Recursos, inquietudes y un salto al vacío

Si tuvieras que elegir una tecnología en la que especializarte, es más o menos como un salto al vacío si no tienes en cuenta tus inquietudes. Como programador me he sometido a continuas reflexiones sobre dónde debería especializarme, muchas más de las que me hubiera gustado. Estar en momentos donde te cuestionas tus propios conocimientos y las decisiones que has tomado hasta el momento no es 100% beneficioso siempre, ya que te resta dedicación al estudio de tu campo para estar buscando las alternativas que el mercado demanda o que tus inquietudes necesitan.

Seguramente, si no eres de la comunidad de Rails o de Ruby, no habrás estado siguiendo la última polémica surgida con las altas esferas de los desarrolladores de Rails. No te preocupes, te hago un mini resumen. Existen muchas opiniones sobre las bondades y limitaciones de Rails en la propia comunidad, pero la corriente más crítica es la que mantiene la idea de que el framework fue desarrollado por DHH para construir Basecamp y, que todo va orientado según las necesidades y criterios de DHH para su proyecto. En esta línea, muchos desarrolladores terminan dejando la comunidad por no estar en sincronía con las decisiones que se toman, siempre con la idea de que éstas están sujetas al ideal en cuestión. La última polémica la generó Piotr Solnica (si no lo sigues, ya estas tardando) con un artículo en su blog que generó mucha polémica en la comunidad: My Time with Rails is up.

*   *   *

Polémicas a parte, Piotr planteaba algo que todo programador nos pasa a menudo en nuestra vida profesional: ¿Estamos usando la mejor tecnología, los mejores recursos? Obviamente muchos puristas dirán que no importa la herramienta sino el mecánico, totalmente de acuerdo. Pero es posible que muchas de las paredes que nos encontramos en nuestro día a día se deban a que estamos usando una herramienta que no concuerda con nuestra forma de ver las cosas, de buscar y plantear las soluciones.

Para que te hagas una idea, voy a plantear 3 escenarios. El primero mi background actual, dónde estoy trabajando. El segundo, con lo que estoy jugando a ver que puede pasar al primer escenario y, por último, las herramientas y tecnologías que me gustaría que pasaran a los estados anteriores.

Mi background actual

Bueno, si me conoces o has leído algo escrito por mí en redes sociales, sabrás que soy desarrollador de Ruby y Ruby on Rails. Trabajo con bases de datos relacionales la mayor parte del tiempo pero me apoyo mucho en NoSql como Redis. Me peleo a diario con frameworks de Javascript como jQuery y últimamente, con ReactJS que está entrando tímidamente en este paso (y me alegro).

A parte de las herramientas y las técnicas que uso a diario, éste es mi estado actual. No quiero ponerme pedante con clean code y estas cosas que más que unos skills las considero un must.

¿Con qué estoy jugando?

MongoDB y ReactJS son los dos juguetes más predominantes que tengo. El primero ya lo llevo usando un tiempo pero no consigo hacerlo pasar al paso anterior por diferentes motivos. El primero es que nunca me lo HAN requerido en los puesto en los que he estado y, el segundo, el no haber tenido la oportunidad de trabajar con más compañeros expertos en este sistema. Es cierto que lo incluí en la última fase de Sociack en producción, pero sigo pensando que fue muy amateur y por ello, no lo cuento.

ReactJS se encuentra a caballo entre este y mis herramientas de trabajo, te explico por qué. Hace 4 semanas empezamos a usarlo en mi empresa (KitmanLabs), pero iba de segundo de abordo en este proyecto. Mi background es más de Backend que de FrontEnd y mi compañero (Michael)  es lo contrario, mis tareas se enfocaban a “hacer la cama” para que él se centrara en ReactJS y D3. Pero no por ello me quede sin jugar :). Creé mi componente y ayude a mejorar los que implementó y, tengo que decir que la vida en componentes esta muy molondria.

¿Con qué me gustaría jugar?

Aprovechando que estoy metiendo medio pie en ReactJS, siempre me ha interesado poder desarrollar mis proyectos con su versión en dispositivos móviles. Aprovechar ReactJS para crear componentes usables en Web y móvil a la vez va a ser algo que, más temprano que tarde, va a llegar.

La rama Data Science. Se está poniendo cada vez más de moda tener a un científico de datos cuando tu aplicación coge cierto volumen de usuarios y de datos, para que esta persona empiece a explorar caminos de explotación de estos datos. Me interesa por tener una base muy teórica, por las posibilidades que ofrece en una época en la que las API’s están más presentes que nunca (y menos que mañana) y en la que aún estamos en pañales en esta rama. Trabajar con macro conjuntos de datos para sacar patrones es algo que me apasiona pero, a su vez, me aterra por no saber aún que puerta es la que me llevará a adentrarme en este campo con el añadido que Ruby no tiene cabida (aún, echa un vistazo al proyecto 3×3) en el sector.

*    *    *

Si eres programador, te sentirás más o menos identificado con esta lista de deseos. Si no lo eres, seguro que en tu sector tienes el gusanillo de probar nuevas tendencias o técnicas que están siendo muy utilizadas o en auge. Es una constante en nuestras carreras.

Para enlazar ambas partes de mi artículo, planteo la duda: como Piotr en su artículo (a parte de roces ideológicos), ¿están nuestras herramientas y recursos en concordancia con nuestras inquietudes? Si quiero desarrollar cosas para analizar datos, debería estudiar R y/o Python o Julia. Si me gustan los dispositivos móviles, ¿por qué no empiezo con IOS o Android? ¿Me irá bien con React Native?

El tiempo es limitado y hay más cosas que el trabajo en la vida, la gestión del tiempo para una buena conciliación familiar/social y profesional es un reto en sí. Así que todo con calma, paciencia y dedicación se puede solucionar. Pero no puedo ocultar que estoy impaciente por conocer cual será el próximo gran paso en mi carrera y si será en la dirección adecuada sabiendo cuales son mis inquietudes.

¿Cuáles son tus inquietudes? ¿Cuáles serán tus próximos pasos?