Aviso de cookies

Estoy de acuerdo Este sitio web guarda pequeños fragmentos de información (cookies) en su dispositivo con la finalidad de ofrecer un mejor contenido y para finalidades estadísticas. Usted puede desactivar el uso de cookies modificando la configuración de su navegador. Navegar por nuestro sitio web sin cambiar la configuración del navegador hace que usted nos esté autorizando a guardar esta información en su dispositivo.

Entrevista En Diferido 12: Marco Bellido

26 de Junio de 2019 a las 23:22| entrevista

Hoy comenzamos una entrevista a Marco Bellido desarrollador PHP y JavaScript.

Antes de todo, gracias por participar y apoyar este proyecto. La primera pregunta es una presentación por parte del entrevistado, para que los lectores te puedan conocer un poco.

Entrevista En Diferido: ¿Te podrías presentar en unas líneas?

 

Marco Bellido:  ¡Hola! Bueno, lo primero de todo me gustaría agradecerte la invitación a estas entrevistas. Creo que haces un gran trabajo de divulgación en el mundo de la tecnología y me siento muy halagado de estar hoy aquí.

Mi nombre es Marco Bellido y ante todo soy un apasionado del mundo de la tecnología y del desarrollo. Soy un desarrollador con casi 10 años de experiencia, esencialmente con tecnologías web.

Siempre me he sentido un poco a caballo entre el mundo del frontend y del backend y mi stack tecnológico ha sido principalmente PHP y Javascript.

Actualmente trabajo como Lead Development en GOI gestionando a un equipo de desarrollo de front, back y sistemas de 10 personas.

 

EED: Para empezar , unas cuantas  preguntas cortas para conocerte mejor y tú entorno tecnológico.

¿Ordenador principal?
¿Sistema operativo?
¿Lenguaje de programación preferido?
¿IDE o Editor que utilizas?
¿Framework?
¿CMS?
¿Frontend o backend?

 

MB: 

¿Ordenador principal?
Actualmente mi herramienta de trabajo es un DELL XPS 13 Intel i7-8550U con 8GB de RAM y 256GB de disco duro SSD.

¿Sistema operativo?

Desde hace años trabajo con Ubuntu (ahora en la última versión 19.04, me gusta estar siempre actualizado). He pasado por varias distribuciones pero al final siempre estaban basadas o en debian/ubuntu y finalmente decidí tirar por lo "fácil" por la estabilidad y soporte.

¿Lenguaje de programación preferido?

Como he comentado anteriormente trabajo principalmente entre PHP y Javascript. Para backend últimanente estoy trabajando más con PHP pero también he usado node en algunos trabajos.

¿IDE o Editor que utilizas?

Desde que probé PHP Storm hace unos años me enamoré. Yo era muy de sublime text por su sencillez y velocidad (de hecho aún lo uso para tratar archivos grandes), pero todas las herramientas que te facilita PHP Storm han hecho que no pueda prescindir de él.

¿Framework?

En backend con PHP uso gustosamente Laravel y en frontend el framework con el que más agusto me siento es VUEJS.

¿CMS?

Hace bastante que no trabajo con CMS pero alguna vez en el pasado me ha tocado lidiar con algunos Wordpress (imagino que como casi todos jeje).

¿Frontend o backend?

La eterna pregunta.....me gustan mucho ambos, cuando estoy mucho tiempo con uno y paso al otro me pregunto por qué no lo había hecho antes :)

Actualmente por motivos de mi trabajo paso mucho más tiempo en la parte de backend, pero no me gusta perder el foco de lo que está pasando en el mundo del frontend (el cual se mueve muuuucho más rápido).

 

EED: Esta es una pregunta fija de la entrevista, solo cambia en función del contexto del entrevistado. En tu caso , tenía dudas como enfocarlo,pero utilizaré el mismo enfoque que utilice a Daniel Primo.

¿Qué añadirías a PHP?
¿Qué eliminarlas de PHP?
¿Qué modificarías de PHP?

 

MB:  ¿Qué añadirías a PHP?

Pues la verdad que la versión 7.4 que va a salir en noviembre me ha acotado bastante esta respuesta. Ya que, a mi parecer, va a introducir unos cambios importantes que van a hacer que PHP sea aún más consistente, cosa que llevan haciendo (muy bien) desde unas versiones a esta parte.

Algunas de las funcionalidades más interesantes que van a introducir a mi modo de ver son algunas que ya funcionan en otros lenguajes muy bien como las arrow functions o el tipado de variables, además de mejoras de rendimiento con el compilador JIT.

A pesar de ello para responder a tu pregunta quizá hubiera ido un paso más allá en el tipado estático de variables y hubiera introducido el tipado de listados o colecciones.

¿Qué eliminarías de PHP?

Eliminaría toda la redundancia funcional que existe y se mantiene a dia de hoy en funciones deprecadas de PHP. Hay muchas que simplemente son alias de otras o que llevan varias versiones pendientes de eliminación.

Estas siguen ahí por la retrocompatibilidad con versiones anteriores pero PHP debería dar un paso hacia adelante y en una versión realizar este salto. Representaría un breaking change importante, pero creo que la gente no va a dejar de usar esas funciones hasta que no se te fuerce a ello.

Haría del lenguaje mucho más consistente y potente.

¿Qué modificarias de PHP?

Yo creo que a día de hoy lo que más le pesa a PHP es el lastre que arrastra de su historia, de las primeras versiones en las que era bastante caos y se hicieron cosas muy mal con el lenguaje.

A día de hoy es un lenguaje muy potente, consistente y serio y no está así visto por el mundo del desarrollo.

Tiene muy mala publicidad en favor de otro tipo de lenguajes y creo que deberían centrar esfuerzos en limpiar esta imagen ya que cada día su uso empieza a bajar debido a preferencias a la hora de seleccionar lenguaje de programación.

Os dejo un artículo bastante interesante sobre el estado del lenguaje en 2019: 

https://stitcher.io/blog/php-in-2019

 

EED: Recibes una oferta de trabajo de formador, que es irrechazable, para impartir un curso para futuros desarrolladores web, los alumnos tienen  un nivel básico de programación. Tienes un año para convertirlos en desarrolladores web competentes .

¿Qué temario escogerías?

 

 

MB:  Bueno, pues teniendo en cuenta que los alumnos ya parten con un nivel básico de programación y que el curso se centra en desarrolladores web probablemente mi elección sería Javascript como lenguaje central del curso.

Habría tres partes diferenciadas claramente en el curso, dejaríamos la primera parte para el backend con nodejs, a continuación trabajaríamos la parte de frontend y una última en la que interconectaramos estos dos mundos para que entiendan bien el flujo del mundo del desarrollo web.

Centraría mis esfuerzos en inculcarles una cultura de buenas prácticas y testing y TDD e intentaría realizar todo el curso con Javascript sin ningún tipo de framework, que aprendan correctamente las bases que con eso después no les representará ningún tipo de esfuerzo evolucionar hacia donde quieran.

Obviamente en un año no vas a poder enseñarles todo, pero si me gustaría que se llevaran una buena base y conocimiento global de todas las áreas para que tengan claro lo que representa cada una y puedan decidir con consecuencia qué camino tomar.

 

EED: A la hora de afrontar un proyecto web tienes múltiples opciones.Me gustaría saber .

¿Qué tipo de proyecto utilizarías para  un CMS, framework, solo lenguaje de programación o un  generador estático?

 

MB:  Pues efectivamente depende mucho del tipo de proyecto que tengas delante.

Creo que un CMS lo usaría para montar proyectos muy específicos: comercio electrónico o algún tipo de web corporativa simple/landing/blog que vaya a tener muchos cambios y se vaya a ceder esa gestión a una tercera parte sin conocimientos de desarrollo.

Por el contrario generadores estáticos de contenido lo usaría para landings y web corporativas que sean más estáticas y sin tanto cambio o para generar cualquier tipo de documentación online.

Cuando se trata de crear una aplicación mucho más ad hoc y grande, ya si habría que estudiar el introducir un framework y cual es el que encaja más en sus necesidades.

El lenguaje sólo de programación lo usaría para tareas específicas puntuales que no tengan esa necesidad de incorporar tantas herramientas como las que te puede proveer un framework (crons, scripts, ...)

 

EED:  Es algo habitual que un desarrollador web en algún momento de su trayectoria haya utilizado un CMS, en muchos casos el escogido es WordPress. En una respuesta anterior has comentado que has trabajado con algún WordPress.

Mi pregunta está centrada en este CMS. Un buen desarrollador de WordPress.

¿Debe ser un buen programador?

 

MB:  En realidad la pregunta creo que es un poco redundante ya que un desarrollador de wordpress es un programador en toda regla y, en el caso de WordPress (o cualquier otro cms) por supuesto que debe ser un buen programador.

Esto es especialmente importante en los CMS de código abierto ya que suelen contener agujeros de seguridad (o más bien son más "fácil" de encontrar), especialmente WordPress, y necesitas ser consciente de todos los problemas que tiene y cómo lidiar con ellos.

Un desarrollador de WordPress que no sepa las debilidades que tiene, está destinado a realizar un trabajo que tarde o temprano se vendrá abajo.

 

EED:  Si tuviera una amnesia y se te olvidara todo lo que sabes de programación y tuvieras que aprenderlo todo de nuevo. Volverías repetir el aprendizaje  o aprenderías algo diferente, en otras palabras.

¿Qué camino de aprendizaje escogerías de nuevo?

 

 

MB:   En realidad estoy bastante contento con el camino de aprendizaje que he llevado durante mi carrera, he aprendido cosas bastante diferentes que me han aportado mucho y probablemente repetiría el mismo.

Aunque haya habido cosas durante el mismo (¿action script?) que, aparentemente, no me han servido o no me están sirviendo en lo que hago actualmente, seguramente me han aportado algo que ha hecho que mi carrera tome un camino u otro.

Lo único que quizá pudiera cambiar un poco después de lo visto es intentar apoyarme más en la comunidad, aprovechar más los grupos de desarrollo de la universidad y hacer más trabajo en ese sentido para enriquecerme con ello.

Una de las cosas más importantes de este mundo es la pasión que le pongas y las ganas ya que es una profesión que tiene momentos de mucha frustración y tienes que estar preparado para lidiar con ello (aunque también tiene muchos momentos de gran satisfacción). Aunque imagino que esto es aplicable a muchas profesiones :)

 

 

EED: El desarrollo web es muy extenso y requiere muchos conocimientos en varios campos. 

¿Qué conocimientos debe tener un buen desarrollador web?

 

MB:  Para empezar debería tener una buena base de programación en general sin estar centrado en ningún lenguaje (y menos a frameworks), no enfocada al desarrollo web sino al desarrollo en general. Buenas prácticas, arquitecturas, patrones de diseño, clean code, SOLID, testing, ...

Con esta base adquirida ya podría orientar su carrera hacia donde quisiera sin ese déficit y, por supuesto, también al desarrollo web.

Ya en el terreno del desarrollo web, debería tener conocimiento de cómo funcionan el flujo de vida de las aplicaciones web (capas de red, protocolo http, servidores, flujo de peticiones, sockets, seguridad....)

Con estos conocimientos ya tendrías una buena base para comenzar a aprender desarrollo web. Sin ellos, probablemente, en algún momento dejarías de entender por qué pasan algunas cosas, perderías contexto y te sentirías perdido.

A partir de aquí ya estarías capacitado para orientar tu carrera hacia donde quisieras. En cualquier caso, tanto si te dedicas al frontend como al backend, no dejaría de aprender al menos lo básico del campo "complementario" para poder entender con lo que estás trabajando (que la otra parte no sea una "caja negra" donde simplemente envías o recibes peticiones).

 

EED:  En tu presentación has comentado que gestiona  un equipo de desarrolladores, me gustaría hacerte una serie de preguntas sobre tu ocupación.

¿Qué es un Lead Development?
¿Cuál es tu flujo de trabajo de diario, utilizas alguna herramienta específica?
¿Para gestionar un grupos de desarrolladores, es necesario haber sido antes desarrollador?

 

MB:  Pues las funciones que tengo como Lead Development es la de orientar la dirección del desarrollo; organizar a los equipos tanto de back, de front como de sistemas y hacer que todo el ecosistema funcione como engranajes bien engrasados.

La comunicación entre las diversas áreas, decidir arquitecturas y el sistema global del desarrollo. En definitiva guiar y hacer que el trabajo de desarrollo salga hacia adelante, con una calidad adecuada y facilitar el trabajo de mi equipo.

En cuanto a herramientas técnicas, más allá de pizarras y diagramas, lo que he buscado es una herramienta que me de varias de las capacidades que necesita mi equipo; comunicación, issues, integración contínua, despliegue contínuo....y todo eso me lo de gitlab, creo que es la herramienta que centraliza la mayor parte del ciclo de desarrollo desde su inicio hasta su final.

Obviamente al necesitar mucha comunicación slack se ha vuelto una herramienta totalmente indispensable también y para la organización del trabajo usamos Jira.

Creo firmemente que para poder gestionar grupos de desarrolladores no es que sea necesario "haber sido" desarrollador, sino que debes serlo y además no dejar de avanzar y aprender cosas nuevas del mundo del desarrollo. No puedes decidir cómo hacer ciertas cosas o algunas decisiones si no tienes detrás unos conocimientos que lo garanticen.

 

EED:  Dejamos el perfil técnico , para hacer una pregunta fuera del ámbito tecnologico. Si no hubieras sido desarrollador web .

¿Qué profesión te hubiera gustado ejercer?

 

 

MB:  Esta pregunta me lo pone difícil ya que desde muy pequeño ya sabía a lo que me gustaría dedicarme. En mi casa siempre ha habido ordenadores y siempre me ha gustado trastear con ellos. 

Obviamente si me haces esta pregunta no te puedo decir que me hubiera dedicado a algo técnico seguro (fuera del desarrollo) sino que va más orientada a algo completamente diferente.

En ese caso probablemente hubiera escogido la carrera de cocina. La verdad es que me gusta cocinar (para mis amigos y familia, eso si jaja) y no se me da del todo mal. Pero creo que sería peor cocinero que desarrollador.

 

 

EED:  Como última pregunta de la entrevista , una pregunta un poco diferente.

¿Qué te hubiera gustado que te preguntase? Evidentemente debes responderla.

 

 

MB: Pues quizá una pregunta interesante pudiera haber sido mi opinión acerca de la comunidad de php y del desarrollo en general.

En cuanto a esto creo que veo dos caras muy diferentes.

Por una parte creo que hay mucho interés en muchos ámbitos (quizá sea por que las críticas de escuchan más) en defender el lo que trabajas y criticar en lo que no. Como desarrollador de PHP creo que somos uno de los sectores más criticados y atacados (injustamente bajo mi punto de vista). 

Incluso dentro de la comunidad de los propios lenguajes también me cansan los flames sin objetivo de mejorar entre defensores y detractores de diferentes formas de trabajar, frameworks, tecnologías...

Pero la otra cara de la moneda es que hay mucha comunidad dispuesta a ayudar y a compartir/enseñar conocimiento.

Hoy en día entre todo el contenido que existe en Internet, en Youtube, las reuniones de meetup en las distintas ciudades, cursos, conferencias...

El muchos casos sin ningún tipo de remuneración que la de hacer comunidad y compartir, creo que vivimos en una época maravillosa para dedicarse a esto y estoy muy contento por este motivo.

Al final con lo que me quedo es con esto último, el buen estado de forma en el que se encuentra la comunidad de desarrollo.

 

EED:  Hoy es el último día de la entrevista y es el momento de la despedida, pero antes me gustaría agradecerte tu participación, espero que haya sido una experiencia interesante y entretenida para tí.

Puedes indicar tus métodos de contacto y si tienes algún proyecto, web, podcast o evento que quieras promocionar tienes este espacio para hacerlo.

Por último, me gustaría que me propusieras a una persona que tú creas que estaría dispuesto a participar en una futura entrevista.

Ha sido un placer , hasta la próxima.

 

MB:  Lo primero de todo agradecerte que me hayas entrevistado y espero que le haya resultado interesante y entretenido a la gente.

En cuanto a la forma de ponerse en contacto conmigo creo que lo mejor es a través de mi twitter @marcoocram.

Lo que me gustaría "promocionar" es que si te ha gustado lo que he contado en la entrevista, eres desarrollador de PHP y estás interesado, estoy buscando profesionales para mí equipo, así que ponte en contacto conmigo y te cuento más detalles :)

Y a alguien que me parecería interesante que entrevistaras sería quizá a Javier Martínez, desarrollador de Laravel y VueJS, lo podéis encontrar cómo @beliolfa en twitter :)

Muchas gracias por todo!!!

Generar PDF de Entrevista En Diferido 12: Marco Bellido