En nuestra serie de preguntas y respuestas «Engineering Energizers», examinamos las experiencias profesionales que han formado a los líderes de ingeniería de Salesforce. Conozca a Patrick Green, miembro principal del personal técnico de ingeniería de Salesforce. Patrick da soporte al equipo de Uso compartido de proyectos y permisos (PSP) en Tableau. El desarrollo de funciones desempeña un papel crucial en su trabajo, ya que garantiza el buen funcionamiento de varios productos de Tableau, entre los que se incluyen Tableau Cloud, Server y Desktop, proporcionando un enfoque estructurado de la gestión de datos y manteniendo la seguridad de los mismos.

Tableau Cloud

Siga leyendo para explorar cómo el equipo de Patrick gestiona los complejos desafíos de ingeniería para desarrollar e implementar, y solucionar problemas de estas características.

Seguridad de los datos

¿Cuál es la misión de tu equipo?

Uno de los aspectos clave del trabajo de PSP es el desarrollo y la implementación de características que mejoran la funcionalidad de Tableau. Estas características incluyen:

  • Gestión de permisos. Las funciones de permisos de PSP salvaguardan el acceso a los datos y protegen la información confidencial. Mediante la asignación de permisos, PSP controla lo que los usuarios pueden ver, a lo que pueden acceder y con lo que pueden interactuar, garantizando la seguridad y el cumplimiento de los datos.
  • Funcionalidades compartidas. Estas funcionalidades permiten a los usuarios compartir de forma segura libros de trabajo, vistas y cuadros de mando. Esto fomenta la colaboración y la toma de decisiones basada en datos.
  • Funcionalidades compartidas
  • Proyectos. Utilizados para organizar y almacenar contenido dentro de Tableau, los proyectos están estrechamente vinculados a los permisos, lo que garantiza que el contenido sea accesible para la audiencia prevista.
  • Proyectos

Una regla de permisos establece a quién afecta (un grupo o un usuario) y qué capacidades se le permiten, deniegan o no se especifican.

Una regla de permisos establece a quién afecta (un grupo o un usuario) y qué capacidades se le permiten, deniegan o no se especifican

>

–>

Patrick comparte su pasión por la ingeniería de Salesforce.

Patrick comparte su pasión por la ingeniería de Salesforce

A un alto nivel, ¿cómo resuelve los retos técnicos que surgen durante el proceso de desarrollo de funciones?

Patrick comparte su pasión por la ingeniería de Salesforce

PSP emplea un enfoque colaborativo. Comenzamos con una lluvia de ideas y creamos diseños de alto nivel durante las reuniones. Para comprender mejor el reto, asignamos tareas a los miembros del equipo, que llevan a cabo investigaciones exhaustivas. Estas fases implican profundizar en los aspectos técnicos de la función y evaluar su integración con nuestra base de código existente

La planificación temporal es un aspecto esencial de nuestros picos, ya que garantiza que se completen dentro de un plazo establecido. Esto nos ayuda a mantener el impulso y mantener el proceso de desarrollo en la pista.

Una vez completado el spike, volvemos a reunirnos como equipo para discutir los hallazgos y recopilar comentarios sobre los diseños o wireframes propuestos. En función de estos comentarios, creamos elementos de trabajo y comenzamos a implementar la función. Sin embargo, si el reto es sencillo, podemos proceder directamente sin necesidad de una investigación exhaustiva

¿Cuál es el proceso para crear una nueva función?

PSP sigue un proceso estructurado para crear nuevas características. En primer lugar, nos reunimos como organización de productos para debatir las funciones de alta prioridad y comprender las necesidades de los clientes, alineando nuestro trabajo con las metas y objetivos generales de la empresa

Durante esa reunión, PSP también analiza la mejora de funciones anteriores. En otras palabras, algunas funciones pasan a la siguiente versión y seguimos introduciendo mejoras en ellas con el tiempo.

Una vez que hemos identificado las características para una nueva versión, estimamos el esfuerzo necesario para cada característica utilizando puntos de historia, que tiene en cuenta el tamaño del equipo y la velocidad para estimar el tiempo necesario para completar los elementos de trabajo y la cantidad de trabajo que podemos encajar en la versión. A continuación, lo anunciamos a la organización y empezamos a crear las funciones

>

Patrick habla de cómo su equipo crea funciones de vanguardia.

Patrick habla de cómo su equipo crea funciones de vanguardia

¿Cuál es un reto técnico específico al que se enfrentó tu equipo y cómo lo superaste?

Supervisamos varios aspectos, como las llamadas a funciones, las API públicas y los puntos finales críticos. Basándonos en métricas de rendimiento y otros factores, creamos alertas según nuestros requisitos organizativos. Las alertas sirven como indicadores de posibles problemas o síntomas, como una latencia elevada, y nos ayudan a priorizar e investigar problemas de alta prioridad. Por ejemplo, si se espera que la latencia media de nuestra API sea de 5 milisegundos, recibiríamos una alerta en Slack si superara los 10 milisegundos.

Desgraciadamente, la evolución del código y los cambios en los patrones de uso de la API de los clientes pueden afectar a la eficacia de nuestras alertas. Por lo tanto, colaboramos continuamente con otros equipos para afinar las alertas y abordar cualquier ruido o falso positivo, lo que garantiza que recibimos datos precisos sobre nuestros servicios backend.

Cuando nos enfrentamos a problemas de rendimiento, como aumentos de latencia, el equipo de PSP busca el origen de estos aumentos colaborando con diferentes equipos e investigando los servicios backend. Esto implica identificar cualquier cambio en el código, rastrear fugas de memoria, bloqueos y otros factores. Cada problema es único y requiere una investigación exhaustiva

¿Cómo se priorizan los problemas y se solucionan tras el lanzamiento de una función?

El equipo de PSP prioriza los problemas relacionados con la autorización, ya que tienen un impacto significativo en las capacidades del usuario y la funcionalidad del contenido. La autorización se refiere al código de permisos que determina lo que los usuarios y grupos pueden hacer con el contenido de Tableau.

Imagen que muestra cómo se evalúan las capacidades a través de múltiples niveles de contenido.

Para abordar estos problemas, el equipo pone remedio rápidamente y cuenta con un proceso de análisis de la causa raíz (RCA). El proceso RCA nos permite identificar las causas subyacentes de los incidentes y mejorar nuestro código para evitar problemas similares en el futuro. Gracias a la supervisión interna y a los turnos de guardia, podemos detectar rápidamente los problemas en producción, a menudo en entornos de preproducción. PSP sigue una rotación de guardia, clasifica los problemas y los resuelve en colaboración. Si es necesario, nos ponemos en contacto con otros equipos para obtener ayuda, haciendo de la resolución de problemas un esfuerzo de equipo

>

Patrick explica cómo es trabajar en el departamento de ingeniería de Salesforce.

Patrick explica cómo es trabajar en el departamento de ingeniería de Salesforce

¿Podría compartir un reto complejo que requiriera la colaboración de varios equipos y cómo trabajaron juntos para resolverlo?

Patrick explica cómo es trabajar en el departamento de ingeniería de Salesforce

Recientemente, nuestra API interna -que utiliza el equipo de búsqueda dentro de Tableau- experimentó una alta latencia. Para solucionar este problema, trabajamos estrechamente con el equipo de búsqueda para identificar la API específica que causaba la latencia. PSP utilizó herramientas como Grafana y Splunk para rastrear las distintas llamadas a la API y determinó que el problema radicaba en un uso elevado de la memoria, lo que provocaba tiempos de espera en nuestro backend.

Una vez que PSP identificó el origen del problema, el equipo de búsqueda implementó una solución para el problema, que resolvió la alta latencia que estaban experimentando. Gracias a esta mejora, los clientes ya no tuvieron que lidiar con tiempos de carga lentos ni con giros prolongados al utilizar la barra de búsqueda.

Juntos, todos los equipos implicados en el incidente asistieron a una reunión de RCA. Esta reunión fue muy útil para rastrear la causa raíz, que tiene un valor incalculable para ayudar a nuestro equipo a mejorar nuestras características y habilidades operativas. Durante la reunión, analizamos el tiempo de reparación, el tiempo de detección y otras métricas. También utilizamos el proceso Cinco porqués para llegar a una causa raíz. Al final, trabajando juntos, fuimos capaces de identificar y resolver el problema de manera eficiente, asegurando una mejor experiencia para nuestros clientes.

Preguntas frecuentes

Más información

  • ¿Quieres más historias de Tableau? Eche un vistazo a este blog para descubrir cómo el equipo Developer Productivity & Experiences de Tableau aumenta la velocidad de los desarrolladores y optimiza sus flujos de trabajo de la A a la Z.
  • Para obtener más información sobre Tableau, póngase en contacto con nosotros
  • Manténgase conectado: únase a nuestra Comunidad de talento
  • Visita nuestros equipos de Tecnología y Producto para saber cómo puedes participar.

Entradas recomendadas