En nuestra serie de preguntas y respuestas «Engineering Energizers», nos adentramos en las extraordinarias trayectorias de los líderes de ingeniería que han realizado importantes contribuciones en sus respectivos campos. Hoy, nos centramos en Zane Whitfield, miembro del personal técnico de Salesforce, que da soporte al equipo Heroku Front-end Developer Tools (FDT). Apasionado por mejorar la experiencia de los desarrolladores, Zane ha desempeñado un papel fundamental en la creación y el mantenimiento de productos orientados al cliente como Heroku Dashboard y Heroku CLI, así como en la innovación de la nueva herramienta Heroku Performance Analytics.
Únete a nosotros mientras exploramos cómo Zane y FDT superan los obstáculos para desarrollar y mejorar continuamente las características que empoderan a los ingenieros y hacen avanzar la plataforma Heroku.
¿Cuál es la misión de tu equipo front-end en Heroku y cómo contribuye al producto en general?
El objetivo del FDT es mejorar la experiencia de los desarrolladores mediante la creación, el mantenimiento y la innovación de productos orientados al cliente como Heroku Dashboard y Heroku CLI. Somos responsables del desarrollo de funciones y del mantenimiento de la infraestructura, logrando un equilibrio entre la innovación y la facilidad de mantenimiento.
FDT
FDT también utiliza análisis para entender cómo los desarrolladores utilizan el producto e identificar áreas de mejora. Este enfoque basado en datos ayuda al equipo a tomar decisiones informadas y traer nuevas soluciones a la mesa.
>
–>
Zane explica lo que hace que la cultura de ingeniería de Salesforce sea única.
La cultura de ingeniería de Salesforce es única
¿Podría compartir un proyecto específico que su equipo haya liderado y el impacto que tuvo en Heroku?
Un proyecto específico fue el desarrollo de Heroku Performance Analytics. Esta herramienta de análisis interno proporciona visibilidad sobre cómo nuestros clientes utilizan el producto, ayudándonos a identificar y abordar errores, y a mejorar la experiencia general del usuario. ¡Durante el lanzamiento inicial de esta herramienta de análisis, FDT descubrió un error que impedía que ciertos plugins se instalasen correctamente.
Cuidado!
Al analizar los datos, identificamos que este problema afectaba a un gran número de usuarios. Esto permitió al equipo priorizar y abordar rápidamente el problema. Desarrollamos una solución y la implementamos, lo que dio como resultado una mejor experiencia de usuario y la resolución del error. Este resultado satisfactorio solo fue posible porque teníamos visibilidad del problema a través de la analítica, en lugar de basarnos en el ensayo y error o en el razonamiento deductivo.
Prueba y error
Heroku Performance Analytics sigue proporcionando información valiosa que nos ayuda a tomar decisiones informadas y a desarrollar y mejorar continuamente nuestras funciones
Un vistazo a cómo se carga un plugin en la CLI de Heroku.
¿Cuál es el problema técnico con el que os encontrasteis mientras construíais la herramienta Heroku Performance Analytics y cómo lo superasteis?
Durante el desarrollo de la herramienta Performance Analytics, FDT se enfrentó a un problema técnico relacionado con la gestión de errores. Nos dimos cuenta de que si introducíamos intencionadamente un error experimental durante el proceso de análisis, se detenía por completo la funcionalidad del producto en lugar de fallar con gracia. Esto resultaba problemático, ya que necesitábamos que el análisis siguiera funcionando aunque se produjera un error
Para solucionar este problema, colaboramos con un arquitecto de ingeniería y otro miembro del equipo que supervisaba los análisis de Heroku Dashboard y Heroku CLI. Juntos, depuramos el código e identificamos la línea específica que causaba el problema. Exploramos diferentes soluciones y seleccionamos la que proporcionaba el mejor rendimiento. Una vez implementada, el problema se resolvió y el proceso de análisis funcionó sin problemas, garantizando una funcionalidad ininterrumpida.
>
Zane comparte las ventajas de unirse al equipo de ingeniería de Salesforce.
Ingeniería de Salesforce
Cómo ayudan los datos recopilados por la herramienta de análisis de rendimiento de Heroku a que el equipo desarrolle y mejore continuamente las funciones?
Por qué es tan importante para Salesforce Engineering?
La herramienta sirve para varios propósitos:
- Visibilidad del producto e Insights de uso: Esta herramienta ayuda a dar más visibilidad de rendimiento para la CLI de Heroku específicamente. A su vez, nos ayuda a identificar problemas dentro de la CLI de Heroku y a veces con otros servicios que tienen un plugin/comando de la CLI de Heroku.
- Visibilidad del producto e información de uso
- Desarrollo y mejora continua: Al analizar los datos, podemos tomar decisiones basadas en datos, asegurándonos de que el producto evoluciona en función de las necesidades y preferencias de los usuarios.
- Por supuesto, también nos ayuda a identificar problemas en la CLI de Heroku
- Optimización del rendimiento: los datos proporcionan información sobre los problemas de rendimiento, lo que nos permite priorizar las optimizaciones, ajustar la infraestructura y mejorar la experiencia general del usuario.
Aprovechando estos datos, FDT puede mejorar continuamente Heroku, asegurándose de que satisfacen las necesidades cambiantes de nuestra comunidad de desarrolladores.
¿Cómo abordáis la resolución de problemas que surgen después de que una función o producto haya sido lanzado?
FDT emplea dos enfoques: rollback y fix deployment. El rollback consiste en revertir el código base a un estado estable anterior eliminando la función problemática de la rama de producción. Esto garantiza una experiencia de usuario sin problemas. Por ejemplo, si una característica se fusionó en la rama de producción pero causó errores o tuvo consecuencias no deseadas, el equipo retrocedería eliminando el código asociado con esa característica, deshaciendo efectivamente los cambios
La implementación de correcciones se centra en identificar y resolver el problema dentro de la base de código existente. Creamos una nueva rama de desarrollo dedicada a solucionar el problema específico y lo solucionamos rápidamente. Este enfoque es adecuado para problemas urgentes pero menos graves. Por ejemplo, si se descubre un error en una función recién lanzada, el equipo crearía una nueva rama de desarrollo dedicada a solucionar ese problema concreto. A continuación, realizarían los cambios necesarios para resolver el error y fusionarían la solución de nuevo en la rama de producción
Utilizando estos métodos, solucionamos y resolvemos eficazmente los problemas que puedan surgir tras el lanzamiento de una función o producto, garantizando una experiencia de alta calidad para nuestros usuarios.
La solución a los problemas que puedan surgir tras el lanzamiento de una función o producto garantiza una experiencia de alta calidad para nuestros usuarios
>
Zane nos cuenta cómo es trabajar para Salesforce Engineering.
¿Cómo ayuda el análisis basado en datos a identificar y optimizar las ineficiencias para mejorar productos como la herramienta Heroku Performance Analytics?
La analítica basada en datos es fundamental para identificar y optimizar las ineficiencias dentro de nuestros productos. Al analizar las métricas y los comentarios de los usuarios, FDT puede señalar las áreas que requieren optimización. Por ejemplo, controlamos las métricas de rendimiento, como la latencia y el tiempo de respuesta, para garantizar una experiencia de usuario fluida. Si observamos que un comando tarda más de lo deseado, lo identificamos como una ineficiencia y priorizamos los esfuerzos de optimización utilizando enfoques basados en datos
Este enfoque basado en datos nos permite tomar decisiones informadas y aportar nuevas soluciones, mejorando en última instancia la eficiencia y eficacia general de nuestros productos.