Volver a las novedades para desarrolladores

Conoce a los desarrolladores: Edición React en Meta (Andrea Ferrando)

27 de abril de 2023DeNavyata Bawa

Este artículo se ha escrito en colaboración con Andrea Ferrando, ingeniero de software en Meta, y Sean Keegan, colaborador de desarrollo en Meta.

En la entrevista de hoy contamos con Andrea Ferrando, ingeniero front-end de Meta. Su equipo trabaja en la aplicación del Administrador de anuncios, que permite a los usuarios crear, editar y supervisar sus campañas publicitarias.

Háblanos de ti.

Me llamo Andrea Ferrando, soy ingeniero de software y me apasiona ofrecer productos digitales y experiencias de usuario excepcionales. Actualmente, estoy trabajando en la aplicación del Administrador de anuncios (AMA), que permite a los anunciantes crear, supervisar y administrar sus campañas en todas las plataformas de Meta. Esta aplicación ofrece una solución completa para que los anunciantes lleguen a sus audiencias objetivo, por lo que es una herramienta esencial para quienes busquen hacer publicidad de manera eficaz. Llevo trabajando en la AMA poco más de un año y creo que he podido contribuir verdaderamente a su desarrollo.

Lo que me motivó a participar en React Native fue el potencial de crear una experiencia de usuario fluida y eficiente para los usuarios tanto de iOS como de Android. Gracias a los componentes reutilizables y la capacidad para administrar el contenido con facilidad, React Native permite crear aplicaciones de gran calidad de forma rápida y eficaz. El beneficio añadido de poder escribir código una sola vez y ejecutarlo en varias plataformas supone una enorme ventaja porque nos permite llegar a una base de usuarios mucho mayor y ofrecer una experiencia coherente en todos los dispositivos.

¿En qué medida utilizas React?

Uso React a diario. Se ha convertido en una parte integral de mi trabajo. Como jefe de tecnología de un producto centrado en el cliente en Meta, tengo responsabilidades de nivel superior en relación con la administración del desarrollo de productos de principio a fin, el establecimiento de la dirección y el trabajo con equipos interfuncionales. Al mismo tiempo, también tengo la oportunidad de contribuir a la AMA al trabajar en funciones esenciales y hacer contribuciones de forma activa.

¿Nos puedes hablar de algunos de los proyectos en los que has trabajado en Meta que utilicen React?

Desde que me uní a Meta, mi trabajo se ha centrado únicamente en la aplicación del Administrador de anuncios. Nuestro equipo es propietario de los productos de principio a fin, lo que también incluye contribuir al desarrollo de las funcionalidades internas, pero la AMA es la única aplicación de React en la que trabajo.

¿Por qué elegisteis usar React? ¿Cómo os ayuda React a tu equipo y a ti a cumplir vuestros objetivos de desarrollo?

Nos sentimos orgullosos de que la aplicación del Administrador de anuncios fuera una de las primeras aplicaciones de React Native del mundo. De todos es conocido que React Native surgió de un hackatón de Facebook en 2013, y nuestra aplicación fue una de las pioneras en el uso de esta tecnología. La aplicación ofrece a los anunciantes insights y recomendaciones para ayudarles a que sus campañas publicitarias tengan éxito y, en este sentido, React Native encaja perfectamente con dicho propósito. Gracias a sus funciones de desarrollo rápido tanto para las plataformas de iOS como las de Android y su capacidad de ofrecer un rendimiento óptimo, React Native ha sido de vital importancia para el éxito de la AMA.

¿Hay algo que te haya emocionado o enorgullecido de forma especial últimamente?

Recientemente, he estado esforzándome mucho en nuestra infraestructura de notificaciones push, y me he centrado especialmente en garantizar su fiabilidad.

Las notificaciones juegan un papel vital en las aplicaciones para móviles y, en el caso de la AMA, son especialmente importantes porque proporcionan una entrega oportuna de insights a los usuarios, lo que puede marcar la diferencia para que una campaña publicitaria sea exitosa.

Sin embargo, es crucial lograr un equilibrio para evitar sobrecargar a los usuarios con demasiadas notificaciones. Además, la manera en que se tratan y administran las notificaciones es diferente en iOS y Android, y deben tenerse en cuenta las reglas de privacidad de ambos sistemas operativos para móviles. A pesar de los retos, es un proyecto emocionante en el que trabajar, ya que requiere tanto habilidades relacionadas con el producto como técnicas para garantizar la mejor experiencia de usuario posible y para desarrollar diferentes flujos para iOS y Android a la vez que se administran las notificaciones de forma apropiada según la plataforma.

Gracias a React Native podemos simplificar el proceso de desarrollo, ya que sintetiza la mayoría de la lógica que difiere entre los delegados de las notificaciones en iOS y Android, lo que nos permite centrarnos en el proceso de desarrollo.

¿Hay algo que te emocione especialmente sobre ser desarrollador de React en una empresa como Meta?

Trabajar como desarrollador en una aplicación de React Native en Meta es una experiencia sensacional. La posibilidad de llegar a una base de usuarios enorme con tu trabajo y tener un impacto significativo en tantas personas es muy gratificante. Sin embargo, trabajar a una escala tan grande también conlleva unos retos únicos que hacen que el rol sea emocionante y evolucione constantemente.

Un aspecto clave del trabajo es mantener la privacidad y la integridad de los datos de los usuarios. Como desarrolladores, necesitamos tener conocimientos sobre los datos que podemos almacenar y los que no, y trabajamos estrechamente con equipos de privacidad para proteger la privacidad de los usuarios. Se trata de un aspecto crucial del trabajo que puede pasarse por alto en proyectos más pequeños o startups, pero que supone una prioridad en Meta y requiere que seamos flexibles y adaptables en nuestro enfoque.

Otro aspecto desafiante de trabajar en una aplicación front-end que se usa a nivel global es la localización. Aunque es relativamente fácil diseñar y desarrollar una aplicación en inglés, traducirlo todo a más de 20 idiomas puede sacar a relucir defectos y errores que habían pasado desapercibidos. La misma palabra puede ser tres o cuatro veces más larga en otro idioma, lo que requiere un diseño cuidadoso y un desarrollo preciso para asegurar que todas las restricciones se gestionen de forma correcta. Mi experiencia previa trabajando para bancos y aerolíneas me ha preparado bien para este aspecto del trabajo y aporto mucha de esta experiencia a mi rol actual en Meta.

¿Qué te motiva de trabajar en el espacio de React hoy en día?

Trabajar como desarrollador de React en Meta es una oportunidad verdaderamente especial, ya que te permite estar cerca del equipo de React y colaborar y comunicarte directamente con sus integrantes. Esto te pone en una posición única dentro de la empresa.

Para tener éxito como ingeniero en un producto centrado en el cliente hace falta un conjunto de habilidades diversas. Tener la capacidad de escribir código limpio y fiable que priorice el rendimiento es esencial, al igual que centrarse en aspectos como la experiencia de usuario y la accesibilidad. Aquí es donde trabajar con un lenguaje dinámico como React resulta ventajoso, pues permite a los desarrolladores concentrarse en el proceso de desarrollo sin demasiadas sobrecargas. Al contar con experiencia previa en el desarrollo para móviles nativo, especialmente en aplicaciones a gran escala, he podido comprobar de primera mano cómo el tiempo destinado a crear puede obstaculizar el trabajo diario y malgastar un tiempo valioso. Por eso aprecio el uso de un DOM virtual en React, que permite actualizaciones eficientes y el renderizado en tiempo real de los componentes de la IU. A pesar de su amplia adopción entre los desarrolladores y las empresas en internet, React sigue siendo fácil de usar y accesible gracias, en parte, a su base en JavaScript/TypeScript (JS/TS), lenguajes usados de forma extensa por los desarrolladores. A mí me gusta usar TypeScript con React. TypeScript se escribe de forma estática, lo cual facilita la detección de errores al principio del proceso de desarrollo.

Además, a mí personalmente me gustan mucho los componentes funcionales de React porque son muy útiles: pueden optimizarse para el rendimiento mediante la función de memoización y pueden mejorar significativamente el rendimiento de una aplicación al evitar actualizaciones de renderización innecesarias. En particular, la facilidad de reutilización de componentes es especialmente importante para aplicaciones a gran escala, lo que simplifica el mantenimiento, las pruebas y la administración del código base.

¿Qué ideas erróneas sobre React o el desarrollo de software de código abierto has escuchado a lo largo de tu carrera?

En realidad, no me he encontrado con muchas ideas equivocadas sobre React o el software de código abierto. La mayoría de las grandes empresas del mundo usan y desarrollan software de código abierto en sus operaciones diarias y existe una gran comunidad de desarrolladores que trabajan en proyectos de código abierto.

He escuchado decir que React Native tiene algunos problemas; concretamente, que es lento y que solo sirve para proyectos pequeños con funciones limitadas. Algunos piensan que el uso de JavaScript para interactuar con los componentes nativos en React Native implica un rendimiento más lento en comparación con las aplicaciones escritas de forma nativa. Hay algunos casos, como las transmisiones, en los que es posible que las aplicaciones nativas tengan un mejor rendimiento, pero si hablamos de las aplicaciones del día a día, que muestran imágenes y texto principalmente, y que favorecen la interacción de los usuarios, React Native funciona igual de bien.

¿Qué tienes ganas de ver en React en el futuro?

React Native tiene una arquitectura robusta y está preparado para gestionar aplicaciones a gran escala gracias a sus actualizaciones eficaces y el renderizado en tiempo real de la IU. También facilita la administración del código, por lo que es ideal para proyectos grandes. Además, React Native brinda a los desarrolladores la capacidad de acceder a módulos nativos, lo que permite acceder a funciones nativas y poder desarrollar aplicaciones completas.

¿Qué recursos son útiles para empezar a usar React? ¿Y para contribuir?

Cuando estaba empezando con React al principio de mi carrera, tuve la suerte de trabajar para una empresa que proporcionaba acceso gratuito a un importante portal de formación online con lecciones en vídeo impartidas por expertos. En mi caso, la mejor forma de aprender fue viendo estos tutoriales en vídeo que me explicaban paso a paso todo lo que debía saber. Después de aprender lo básico, creo que la experiencia práctica, es decir, trabajar en proyectos reales, fue valiosísima para entender mejor React. Si no tienes la oportunidad de hacerlo en el trabajo, te recomiendo mucho que encuentres algo que te apasione y desarrolles una aplicación para ello. Yo empecé creando mi sitio web personal con mi porfolio. Además, me pareció que la documentación oficial de React Native estaba bien escrita y me fue muy útil cuando necesité buscar información específica.

¿Dónde se te puede encontrar y seguir tu trabajo?

Tengo una cuenta en Github, aunque la mayoría de mis experiencias laborales son privadas por motivos de confidencialidad relacionados con el trabajo o son proyectos personales que no son de código abierto. Me gusta hacer uso de los medios sociales y tengo una buena presencia en Instagram, pero no lo uso como plataforma para hablar de desarrollo. Es mi vía de escape del trabajo.


Nos gustaría dar las gracias a Andrea por haberse tomado el tiempo para hacer esta entrevista. Ha sido genial poder saber más sobre cómo se está usando React para mejorar aplicaciones importantes y sobre cómo aprendemos de todo lo que creamos aquí y contribuimos a su vez a la comunidad de React. Esperamos que esta entrevista te haya parecido útil y te haya ayudado a comprender mejor cómo y dónde se está usando React en Meta.

Información de la serie Conoce a los desarrolladores: React en Meta

React es uno de los proyectos de código abierto más populares y se ha clasificado de manera constante como uno de los marcos web “más queridos” en los últimos años. En Meta, creemos que React es una biblioteca excepcional que ayuda a los desarrolladores a crear interfaces de usuario de manera fácil y a gran escala. React es una biblioteca de código abierto que tiene sitio para todos y que millones de desarrolladores en todo el mundo usan para todo, desde sitios web sencillos hasta aplicaciones para empresas.

Esta publicación en el blog forma parte de nuestra serie Conoce a los desarrolladores, en la que invitamos a ingenieros y desarrolladores que usan React habitualmente para que compartan sus experiencias y nos hablen sobre los productos increíbles que están creando con React aquí en Meta. Estate pendiente de más publicaciones de entrevistas en el blog donde conocemos a otros ingenieros y escuchamos sus opiniones sobre este tema.

Para obtener más información sobre Meta Open Source, visita nuestro sitio de código abierto, suscríbete a nuestro canal de YouTube o síguenos en Twitter, Facebook y LinkedIn.