Hay ocasiones en las que la barrera de entrada hacia un nuevo aprendizaje nos resulta un tanto compleja. En mi opinion eso tiene fácil solución, tan sólo se ha de acudir a la fuente correcta.

Tengo que decir que la primera vez que me acerqué a React tuve esa sensación. Esto es demasiado engorroso, pensé. No acababa de ver claramente cuál era la arquitectura que planteaba la biblioteca, hasta que di con Miguel Ángel gracias a Alberto Jauregui, gran compañero de fatigas del bootcamp. En tan sólo un par de clases de su curso aprendiendo React, entendí a la perfección sus conceptos básicos, permitiéndome incorporar React a mi caja de herramientas. Sin duda alguna, si queréis aprender React, Miguel Ángel es una apuesta segura.

Transmite con gran pasión su profesión y dado que es un gran comunicador, consigue que lo complejo se torne sencillo y la verdad es que es todo un lujo seguir todo lo que hace.

Miguel Ángel Durán lleva más de 15 años en el desarrollo web. Le encanta trabajar en temas de rendimiento web y es firme creyente de la plataforma web y sus posibilidades. Divulga sobre frontend en midu.dev y además es profesor en línea, contando con algunos cursos sobre React.

Sin más, os dejo con la entrevista.

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

Actualmente soy Enabler Frontend en Adevinta Spain. Para quién no lo conozca, Adevinta Spain es una empresa que tiene diferentes productos en el mercado como Fotocasa, Infojobs, MilAnuncios o Coches.net.

Mi posición de Enabler Frontend es una posición transversal donde tengo que ayudar y acelerar a los equipos de producto para entregar lo más rápido y mejor posible las soluciones para cada portal. Además, mi misión es que exista una convergencia técnica para que todos usemos los mismos principios y plataforma.


Cuál es tu stack tecnológico actual?

Soy desarrollador web así que supongo que a nadie le debe sorprender que tanto en el front como en el back uso Javascript. Creo que Javascript se ha convertido en la lengua franca de la web y que, gracias a su sencillez, no para de expandirse y ser más adoptada en más ámbitos.

Trabajo mucho con React, una biblioteca que me encanta y que todavía le queda mucho que contar. De BBDD me encanta mongoDB aunque a veces tiro de sqlite o lowdb, según el proyecto, ya que requieren muy poca instalación. Para construir APIs estoy utilizando cada vez más GraphQL, me gusta mucho lo potente que es y las mejoras de rendimiento que se pueden conseguir en el frontend al usarlo.

Para empaquetar las aplicaciones uso Webpack pero cada vez más estoy experimentando con pikapkg, para directamente dejar de utilizar este tipo de herramientas.


Compártenos un reto o proyecto en el que disfrutaste y por tanto aprendiste mucho

Recuerdo con mucho cariño cuando llegué a Fotocasa y estuvimos trabajando con mucha ilusión para desacoplar la página de búsqueda, que estaba en ese momento en un monolito en .NET, y lo pasamos a React. Fue muy apasionante, una época de mucho aprendizaje y en un equipo muy motivador.

También antes de llegar a Adevinta Spain, estuve trabajando en una startup noruega por muchos años. Al ser un equipo muy pequeño, tuve que dedicarme a tocar muchas tecnologías para cumplir distintos requisitos. Fue una época de muchos retos que me llevó a hacer cosas realmente interesantes, como una aplicación para televisores Panasonic usando FirefoxOS.


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

Si es para empezar o reciclarse, creo que los bootcamps en general son una buena opción. En unos tres meses, si pones todo de tu parte, puedes conseguir unas bases bastante sólidas para poder entrar en el mercado laboral. Son particularmente caros, y no sólo en términos monetarios si no de exigencia, pero creo que compensa.

Si ya se tiene un rodaje y experiencia, y lo que se quiere es simplemente ampliar los conocimientos a otra tecnología, yo apostaría mucho por plataformas educativas online. Es increíble la cantidad de información que existe ahora. Ah, también hay un canal de Youtube buenísimo que seguro que te puede ayudar: http://youtube.com/midudev (autopromo!)


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?

Sin ninguna duda, si te estás iniciando, mi recomendación es que aprendas HTML, CSS y, después, Javascript. Son los tres pilares básicos que, no importa cuanto tiempo pase, siguen presentes.

Una vez tengas tengas esos conocimientos asentados, si tuviera que elegir una biblioteca o framework, recomendaría aprender React por su interesante API, comunidad, proyección y demanda laboral. A partir de ahí, se puede mover a aprender sobre Next.js, que es un framework que usa React y que te permite crear aplicaciones completas de forma muy sencilla.


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

Desde un punto de vista técnico yo diría que tener bien cimentados los conocimientos sobre la plataforma y todas las posibilidades que tiene. No hace falta saberse todos los métodos de memoria pero, desde luego, sí saber que se pueden encontrar y cómo encontrarlos fácilmente.

También creo que es interesante que cuente con buenos conocimientos sobre algoritmos y estructuras de datos, porque es algo que siempre viene bien.

Y, por supuesto,

saber seguir unas buenas prácticas y hacer su código escalable y mantenible… además de entendible por los demás.


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

Ser buena persona y esforzarse a serlo. Creo que algo tan sencillo te ofrece un montón de virtudes y habilidades muy necesarias en el desarrollo, sobretodo hoy en día: Aprender a escuchar, no tener prejuicios, saber comunicar con empatía, ser honesto y tolerante…

Al final creo que esto es lo que realmente marca la diferencia, más incluso que cualquier habilidad técnica. Porque al final, cualquier cosa técnica que uno no sepa, la puede aprender. :)


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.

En mi equipo usamos Kanban, porque es lo que mejor se adapta a nosotros. Y nos va razonablemente bien.

Creo que ni Scrum ni ninguna metodología es la panacea. Cada equipo tiene diferentes tiempos y necesidades y, por lo tanto, es posible que tengan diferentes formas de llevar a cabo sus tareas.

Me parece un error forzar a los equipos a adaptar una metodología si no les funciona o contra su voluntad. O, lo que es peor, hacer que las usen para poder crear un clima de micro-management.

En mi experiencia he tenido un poco de todo. En algunos momentos nos ha ayudado a entregar valor más rápidamente y en otras se ha convertido un calvario lleno de procesos que ha sido contraproducente. Creo que cada equipo y cada empresa es un mundo.


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

Creo que veremos muchas más herramientas de generación de código. Cada vez hay más pero creo que todavía no se ha terminado de encajar bien todas las piezas.

También, confío, que la plataforma web dará un paso adelante para solucionar la necesidad de empaquetadores de código como lo necesitamos hoy en día. Ya hay pasos adelante, como los módulos nativos, y creo que cada vez más veremos cosas en esta dirección gracias a utilidades como pikapkg.


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?

Lo cierto es que yo soy de Barcelona y lo que estoy notando es que muchas empresas de fuera, principalmente de hubs como Berlín, están abriendo oficinas aquí. Esto está haciendo una presión enorme en los salarios de la ciudad condal.

El tema es que esto no está siendo igual en todas las zonas de España pero creo que cada vez más vamos a ver posibilidades en el trabajo remoto para muchos desarrolladores que no estén en zonas donde los trabajos no estén tan bien remunerados.


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?

Totalmente es un problema. Creo que evidentemente no es lo mismo obligación que devoción. El problema es cuando tu pasión se convierte en una auto-obligación. Y es complicado. Yo por mi parte intento distraerme saliendo con mis amigos, jugando a videojuegos, tocando la guitarra o haciendo un poco de running.


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

Desde el prisma de programador yo recomendaría el documental “The Internet's Own Boy”, donde se explica la historia del creador de Reddit. Muy interesante y más para los tiempos que corren. De película “Pirates of Silicon Valley” sirve para dar mucho contexto a la histórica batalla entre Microsoft y Apple. Si se busca algo más de ciencia ficción con thriller, sin duda, “Ex Machina” que tiene mucho que ver con la IA.

Como libro recomendaría “El juego de Ender”. Con una temática muy interesante y vigente todavía con el tema de los Deep Fakes. También recomendaría “El Principito” porque me parece una obra de la que uno siempre aprende y nos obliga a volver a hacer lo más difícil en nuestros tiempos; qué es realmente valorar lo que es más importante.

Una canción; “Robots” de Flight of the Conchords. Por más que la escucho, siempre me saca una sonrisa y me enchufa para ponerme a codear.

Os dejo por aquí los enlaces para poder seguir el trabajo de Miguel Ángel Durán:

Muchas gracias Miguel Ángel por compartir tus experiencias. Un abrazo!