Javier Miguel, la diversidad lleva a la innovación

Entrevistas feb. 13, 2020

Que te descubran nuevos caminos y sobre todo que te los muestren es realmente una experiencia más que gratificante. Y esto es precisamente lo que Javier Miguel hizo durante todo el tiempo que pude disfrutar de sus amenas sesiones nocturnas de formación, descubrime y mostrarme una nueva forma de hacer backend.

Tengo que decir de Javier que es una persona formidable, tanto en el trato personal como en el profesional. Trata siempre de ayudarte, transmitirte inquietud por el aprendizaje y sobre todo provocar esa chispa necesaria para que te busques la vida y seas capaz de afrontar aquellos retos que se nos plantean en nuestro día a día.

Javier Miguel lleva más de 20 años desarrollando soluciones y creando plataformas de servicios. Empezó a programar a los 10 años con un ZX Spectum 128, “el que tenía cassette”, cuando vio que necesitaba algo más entre partidas al Match Day, Renegade y Manic Miner, probó Basic y tras ver que eso de programar tenía muchas posibilidades, se fue a comprar un par de libros,  uno sobre Basic y otro de programación en Assembler para Z80 de un tal Rodnay Zacks.

Cuando todavía Internet prácticamente no existía y los frikis de los ordenadores se conectaban con modems de 2400 baudios, tuvo un par de BBS que entre otras cosas le ayudaron a entender bien el significado de “alta disponibilidad”. Hizo algunos juegos que nunca vieron la luz en distribuidoras y disfrutó de las quedadas de los nodos de Subnet (Subnet era una red de correo alternativa a Fidonet en España).

En su vida profesional ha trabajado con múltiples marcas, y en la actualidad además de su trabajo, es instructor de Javascript, Node.js, MongoDB y Técnicas de Backend Avanzado en Keepcoding.

Sin más preámbulos, os dejo con la entrevista.

Dónde trabajas en estos momentos? En qué tipos de proyectos sueles trabajar?

Desde hace unos meses disfruto de liderar los avances y decisiones tecnológicas de una compañía muy interesante llamada Gelt, seguramente ya habréis visto algunos de sus anuncios en TV.

Me gusta trabajar en proyectos donde hay retos tecnológicos interesantes, y sobre todo, un nivel bajo de politiqueo que pueda lastrar la innovación. ‌‌‌‌Y por supuesto, el esfuerzo extra de ser instructor por las noches te ayuda muchísimo a aprender de otras personas y entender otras formas de ver o hacer lo que ya sabes.

Cuál es tu stack tecnológico actual?

Empiezo por el front. En el pasado he tenido la suerte hacer distintos proyectos con librerías y frameworks como jQuery, backbone, Angular, React y Vue. De todos estos al final me he quedado con vue porque trabajo menos, surgen menos problemas, se resuelven más fácilmente, y por ende me voy antes a casa, además es muy rápido y ocupa poco. Suelo usarlo con webpack, añado Vuex para gestionar el estado y donde encaja utilizo un framework muy bueno de server-side-rendering llamado Nuxt.

Para el backend suelo aprovechar las virtudes de Node.js y Rust. Aunque he trabajado muy bien en el pasado con otras cosas tecnologías como .Net Core, PHP, etc, para proyectos donde el “time to market” es importante, Node.js con Express te abre el camino para poner algo muy decente en producción en poco tiempo. Cuando es necesario un empujón extra en rendimiento Rust me suele dar muy buenos resultados.

En cuanto a bases de datos suelo utilizar PostgreSQL, MariaDB y MongoDB. Normalmente prefiero la libertad y potencia de MongoDB, siempre tratando de elegir la mejor herramienta para cada función.‌‌‌‌Reto o proyecto en el que disfrutaste y aprendiste mucho

Reto o proyecto en el que disfrutaste y aprendiste mucho

Recuerdo que hace ya varios años tuve que implementar todo el stack de procesamiento de imagen para la digitalización de libros de registros civiles, fue un proyecto precioso, que hubo que hacer en muy poco tiempo, y al que conseguí estar a la altura con muy buenos resultados. Era muy emocionante iterar cada día los análisis de rendimiento y calidad e implementar mejoras, que en ciertos casos fueron muy imaginativas :)‌‌‌

‌También disfruté mucho cuando creamos un servidor de notificaciones push, había que hacer algo que funcionara super-rapido, que no se saturara, y por supuesto que escalara, fueron mis primeros años con los microservicios y fue toda una revelación!

Cuál crees que es la mejor ruta para formarse como desarrollador? Y para alguien al que le gustaría reciclarse técnicamente?

Para formarse como desarrollador creo que hay principalmente dos caminos, uno se podría llamar “descárgatelo y haz algo con ello”, solo usando algo llegas realmente a entender cómo funciona.

Ya lo decía Morfeo en Matrix “Hay una gran diferencia entre conocer el camino y andar el camino.”

En ese camino, seguramente llegarás a momentos en que la desesperación sobrevuela por encima de tu cabeza, para luchar contra eso tenemos el otro camino: la formación, los cursos, bootcamps, etc.

Quizás la receta el éxito sea una buena combinación de ambos!‌‌‌‌

Qué tecnologías recomendarías aprender a alguien que se inicia en el mundo del desarrollo web? Y para alguien al que le gustaría reciclarse técnicamente?‌‌‌‌

En 2020 para empezar como desarrollador web recomendaría aprender para backend Node.js o Python, y para el frontend React o Vue, y algún framework CSS (Material Design, Bootstrap, etc).‌‌‌‌

Qué características debe de reunir un buen desarrollador web desde el punto de vista técnico?

Capacidad de aprender, de no parar hasta entender lo que estás haciendo o lo que te han pedido.

Cuáles son las habilidades transversales que todo desarrollador debería tener?‌‌

Pregunta fácil! Respeto y Responsabilidad, no he encontrado dos valores más importantes que estos.‌‌‌‌ Como añadido podría recomendar reconocer tus fallos y usar más la frase “no lo sé” (truco, como ésta cuesta decirla a veces, “no lo sabemos” dice lo mismo pero en equipo).‌‌‌‌

La industria del desarrollo de software está íntimamente ligada al movimiento ágil. Qué metodologías o frameworks sueles usar en tus proyectos? Sirve por ejemplo Scrum para todos los equipos o proyectos? Cuéntanos cuál es tu experiencia.‌‌‌‌

Scrum aporta soluciones a problemas que han hecho fracasar muchos proyectos, pero también tiene sus retos y en algunos (pocos) casos puede no encajar bien para engranar los intereses de los equipos.

En mi experiencia, hay empresas que bien por su actividad, su sector o por otros aspectos se ven o verían beneficiadas de Scrum. Al igual hay otras compañías donde enfoques como waterfall o kanban producen mejores resultados.‌‌‌‌

Hacia dónde crees que evolucionará el desarrollo web en los próximos años?

‌‌‌‌Claramente la web es la plataforma. Más y más servicios que tradicionalmente se han usado de forma nativa irán pasando a formar parte de las APIs de los browsers para poder ser usados “de forma universal”.

Poco a poco la frontera entre hacer una aplicación nativa o web/híbrida se está difuminando y gracias a webassembly el ecosistema crece y adquiere perspectivas que hasta ahora no eran posibles o eran muy costosas.‌‌‌‌

El panorama laboral del sector en nuestro país parece ser algo diferente al de otros países, por ejemplo en el aspecto de los salarios. Cuál es tu sensación respecto a esta situación? Cómo crees que evolucionará en los próximos años?‌‌‌‌

Creo que cada vez vamos más hacia un modelo de trabajo remoto y con retribución por hitos. Seguro que veremos emerger nuevos patrones híbridos derivados del modelo freelance y asalariado-cuenta-ajena.‌‌‌‌

Siempre he pensado que cuando haces lo que te gusta, realmente trabajas. Sin Embargo esto puede plantear un problema a la hora de equilibrar nuestra vida. Qué sueles hacer para conseguir ese equilibrio? Qué aficiones o hobbies sueles tener a parte de tu trabajo?

Otra fácil! Tengo dos aficiones: hacer “lo-que-sea” con mis hijos y aprender cosas nuevas.

‌‌‌‌Para terminar, una película, un libro y una canción que todo programador debería ver, leer o escuchar

Me voy a permitir dos películas: Matrix (la primera) e Inception (en españa se llama Origen).

En cuanto a libros, no creo que haya un libro que todo programador deba leer, sino al contrario,

la diversidad lleva a la innovación, y eso es algo que todo programador si debería practicar

Más que una canción, un género musical para programar, salvando a quien no le guste por supuesto, recomiendo Drum & Bass, por ejemplo:

‌                                                                                           ‌

‌‌

Antonio José Masiá

Full Stack Web Developer