«Bezael Pérez – Admiro más a quien es capaz de desaprender que a quien aprende rápido»
En esta nueva entrega de talks2U, hablamos con Bezael Pérez, Tech Lead Product Software Engineer en Wolters Kluwer España. Además de su experiencia liderando equipos de desarrollo y trabajando con tecnologías como Angular, Micro Frontends o Jest, Bezael también ha sido formador en empresas y escuelas del sector, y conoce bien los retos tanto técnicos como humanos que surgen en proyectos de software a medida.
Bezael comparte su conocimiento a través de su canal de YouTube Dominicode, donde divulga contenido técnico, reflexiones sobre buenas prácticas y recursos útiles para la comunidad de desarrollo.
En esta conversación, nos ofrece su visión sobre cómo liderar sin dejar de programar, la importancia de las buenas prácticas para evitar la deuda técnica, la irrupción de la inteligencia artificial en el desarrollo de software, y algo que nos ha gustado especialmente: por qué, para él, desaprender es una habilidad clave para cualquier desarrollador.
«Bezael Pérez – Admiro más a quien es capaz de desaprender que a quien aprende rápido.»
En esta nueva entrega de talks2U, hablamos con Bezael Pérez, Lead Product Software Engineer en Wolters Kluwer España. Además de su experiencia liderando equipos de desarrollo y trabajando con tecnologías como Angular, Micro Frontends o Jest, Bezael también ha sido formador en empresas y escuelas del sector, y conoce bien los retos tanto técnicos como humanos que surgen en proyectos de software a medida.
Bezael comparte su conocimiento a través de su canal de YouTube Dominicode, donde divulga contenido técnico, reflexiones sobre buenas prácticas y recursos útiles para la comunidad de desarrollo.
En esta conversación, nos ofrece su visión sobre cómo liderar sin dejar de programar, la importancia de las buenas prácticas para evitar la deuda técnica, la irrupción de la inteligencia artificial en el desarrollo de software, y algo que nos ha gustado especialmente: por qué, para él, desaprender es una habilidad clave para cualquier desarrollador.
Has pasado de ser ingeniero de software a liderar un equipo. ¿Cómo ha cambiado tu enfoque hacia el desarrollo?
Realmente sigue siendo igual, porque quiero seguir picando código. Ahora la diferencia es que tengo más responsabilidad y tengo que velar tanto por mis compañeros como por mí. Es un equilibrio entre seguir haciendo lo que me gusta y cuidar del equipo.
Trabajas con tecnologías como Angular, Micro Frontends y Jest. ¿Qué ventajas ofrecen estas herramientas en el desarrollo de aplicaciones a gran escala?
Bueno, quizás primero debería explicar qué es un micro frontend. Se trata de un enfoque arquitectónico que extiende el concepto de microservicios a la parte del frontend. En lugar de tener una única aplicación monolítica, se divide en piezas más pequeñas, independientes y gestionables, cada una encargada de una parte específica de la interfaz de usuario.
Esto tiene mucho sentido cuando una empresa está desarrollando una plataforma grande, con varios módulos y equipos. Este tipo de herramientas permiten lograr escalabilidad técnica y organizacional, una mayor mantenibilidad del código, y ciclos de desarrollo más ágiles.
Y ahora sí, respondiendo a tu pregunta: ¿cuáles son los factores clave para decidir si usar una tecnología u otra? Lo ideal sería analizar bien el problema y adaptar la solución tecnológica a ese análisis. Pero la realidad es que no suele pasar así. Si un equipo solo sabe trabajar con Java y React, pues todos los proyectos acabarán yendo por ahí.
Por suerte, hoy en día prácticamente todas las tecnologías disponibles son bastante buenas. Pero acertar con la elección sigue marcando la diferencia: te permite tener software más mantenible y escalable a largo plazo.
La deuda técnica es un desafío constante. ¿Qué prácticas recomiendas para evitarla, especialmente en proyectos grandes?
Algo muy sencillo y que se puede configurar desde el principio es establecer linting, formateo automático y convenciones claras. Esto ayuda a unificar el estilo del código y evita peleas innecesarias entre desarrolladores.
También recomiendo aplicar patrones como Clean Architecture, Hexagonal o incluso Micro Frontends si el proyecto lo permite. Y, por supuesto, seguir el principio de responsabilidad única tanto en el backend como en el frontend.
El testing debería implementarse desde el día 1, pero deben ser tests que realmente aporten valor. No se trata de alcanzar un porcentaje de cobertura por cumplir, sino de asegurar el comportamiento real de la aplicación.
Y algo que me ha ayudado mucho —y que usan prácticamente todas las grandes empresas— son las feature flags. Con ellas puedes activar funcionalidades en producción de forma segura, por segmentos, por países, por usuarios… así evitas sorpresas y puedes iterar más rápido.
¿Cómo mantienes a tu equipo al día con las actualizaciones y cambios en las herramientas que usan?
Principalmente con pequeñas capacitaciones o workshops internos. Nos permiten experimentar con nuevas funciones antes de integrarlas en producción. Así el equipo puede entender lo nuevo y ver si realmente nos aporta algo.
Obviamente no siempre se pueden implementar todas las novedades que nos gustaría. Aparte de eso, leemos muchos posts en plataformas como dev.to, y compartimos lo que nos parece útil. Esa cultura de aprendizaje compartido es muy importante.
Como mentor, ¿qué habilidades crees que son esenciales para los desarrolladores que trabajan en proyectos de software?
Hace cuatro o cinco años habría dicho que las habilidades técnicas eran lo más importante. Pero en estos tiempos de inteligencia artificial, los soft skills se han vuelto aún más relevantes. La comunicación, por ejemplo, es cada vez más importante. Escuchar bien, saber explicar, saber cuándo callar.
Yo admiro mucho a los desarrolladores que aprenden rápido, pero aún más a los que desaprenden rápido. Porque los que saben desaprender se adaptan mejor a cualquier proyecto.
¿Puedes explicar mejor qué quieres decir con “desaprender”?
Claro. Cuando hablo de desaprender me refiero a que, sobre todo cuando ya tienes cierta experiencia, sueles venir con tu propia forma de trabajar. No digo que esté bien o mal, simplemente es “tu manera”.
Pero cuando llegas a un equipo nuevo, a veces esa manera no encaja. Y ahí es donde muchas personas con experiencia tienen problemas: les cuesta adaptarse a una dinámica distinta. Cuestionan constantemente, no sueltan sus rutinas.
Desaprender significa saber dejar eso de lado y adaptarte. No es olvidar lo que sabes, ni dejar de usar Angular o React. Es entender que quizás tu forma de hacer las cosas no es la que se necesita en ese momento. Y saber integrarte sin imponer lo tuyo.
¿Qué papel crees que tendrá la inteligencia artificial en el futuro del desarrollo de software?
Un papel super determinante. Creo que en nuestro sector habrá dos tipos de personas: las que usan IA y las que no. Y desde mi punto de vista, las que la usen van a ser mucho más productivas, les será más fácil resolver problemas y avanzar.
Hay una frase que no es mía, pero que tiene mucho sentido: “La IA no te va a quitar el trabajo, pero otro developer que sepa usarla sí.”
El desarrollo está cambiando. Ya no va de React vs Angular, o Node.js vs Python. Va de con qué herramienta de IA puedes hacer más en menos tiempo y con más calidad.
¿Cómo gestionas la colaboración entre equipos de desarrollo para asegurar que las soluciones personalizadas se implementen de forma eficiente?
Lo primero es tener una comunicación clara. Y ojo, que usar muchas herramientas como Slack, Teams o emails no garantiza una buena comunicación. A veces genera el efecto contrario.
Una vez que hay buena comunicación, lo siguiente es tener objetivos alineados. Y algo que considero fundamental es tener una cultura de feedback continua. Saber darlo y también recibirlo.
Los equipos que son capaces de tener conversaciones sinceras sobre lo que funciona y lo que no, sin tomárselo como un ataque, son los que más crecen.
En proyectos a medida, ¿cómo aseguráis la escalabilidad y la mantenibilidad del código desde el inicio?
Más o menos lo hemos hablado antes, pero me repito encantado. Para asegurar escalabilidad y mantenibilidad necesitas una arquitectura modular y bien definida desde el principio.
A eso hay que sumarle buenas prácticas de desarrollo y testing. Y si puedes automatizar esos tests, mucho mejor. Tener esas bases bien establecidas marca la diferencia cuando el proyecto empieza a crecer.
¿Qué tecnologías emergentes ves como clave para el futuro del desarrollo de software a medida en empresas?
Sin lugar a dudas, hay que prestar especial atención a la Inteligencia Artificial Generativa. También la IA predictiva, que ayuda a anticipar necesidades, tendencias o incluso errores antes de que ocurran.
Otro campo que está creciendo son las plataformas Low-Code y No-Code. No van a sustituir el desarrollo a medida, pero en algunos casos concretos pueden ayudarte a lanzar productos rápidos, ya sea internos o para terceros.
Y también veo con mucho interés el Edge Computing, que permite procesar datos en tiempo real, más cerca del usuario. Esto mejora muchísimo el rendimiento y la respuesta de aplicaciones críticas.
Has mencionado también algo llamado Vibe Coding. ¿Qué es?
Es un enfoque de programación asistida por IA, donde el desarrollador describe el problema en lenguaje natural y la inteligencia artificial genera el código correspondiente.
No es magia, evidentemente. Pero hay que prestarle atención, porque nos permite pensar más en lo que queremos construir y menos en los detalles mecánicos de cómo hacerlo. Puede cambiar bastante la forma en que programamos.
La experiencia de Bezael Pérez nos recuerda que el desarrollo de software no va solo de elegir tecnologías, sino de construir equipos sólidos, adaptables y con capacidad para aprender —y desaprender— según el contexto. Integrar buenas prácticas, fomentar la colaboración y aprovechar el potencial de la inteligencia artificial son claves para avanzar con solidez en proyectos complejos.
Queremos agradecer a Bezael por compartir su experiencia, su tiempo y su mirada honesta sobre los retos del día a día en el desarrollo a medida.
¿Está tu equipo preparado para trabajar con IA? ¿Tenéis una arquitectura realmente escalable? En talks2U, seguiremos compartiendo reflexiones y aprendizajes de profesionales que están liderando el cambio desde dentro.
¡Nos vemos en la próxima entrevista!