Cómo el equipo de infraestructura de datos de Intercom satisfizo la creciente demanda con principios sólidos

Publicado: 2022-05-06

Escalar una empresa nunca es un proceso lineal. A medida que su startup se convierte en una ampliación, los equipos encontrarán obstáculos que les obligarán a adaptarse rápidamente a las nuevas demandas.

Ahí es donde encontramos a nuestro equipo de infraestructura de datos a fines de 2020: brindamos datos y herramientas para que los equipos de Intercom obtengan información y ejecuten procesos cruciales, y tuvimos más demanda que nunca. Intercom ha experimentado un gran crecimiento en los últimos años y hemos contratado a muchas personas increíblemente talentosas para que nos ayuden en nuestro viaje. Como resultado, la trayectoria de nuestra empresa ha cambiado rápidamente: a fines del año pasado, nuestro equipo experimentaba una mayor demanda que nunca. Nos dimos cuenta de que las infraestructuras, las prácticas y los procesos que habíamos estado utilizando tenían dificultades para operar de manera eficiente en nuestra nueva escala.

El equipo de infraestructura de datos había llegado a un punto de inflexión

El equipo pasó la mayor parte de sus días lidiando con problemas menores que surgieron dentro de nuestro sistema, trabajando constantemente de manera reactiva en lugar de analizar los problemas subyacentes y fortaleciendo la infraestructura de manera proactiva; simplemente no teníamos tiempo. Como gerente, significaba que a menudo tenía que intervenir y ayudar con las tareas cotidianas en lugar de centrarme en la dirección, la estrategia y el desarrollo profesional del equipo. Habíamos llegado a un punto de inflexión y estaba claro que algo tenía que cambiar.

“Establecimos un conjunto de principios para alinear al equipo en nuestros objetivos y enfocar nuestro trabajo”

Cuando Cormac McGuire, nuestro Gerente de Ingeniería de Grupo, se unió al equipo, dimos un paso atrás y analizamos lo que debía hacerse para volver a encaminarnos. Notamos varios problemas que habíamos visto bloquear equipos en el pasado, como el almacenamiento en silos de conocimiento, el cambio constante de contexto y la pérdida de prioridad de problemas importantes de salud del sistema. Para solucionar estos problemas, establecimos un conjunto de principios para alinear al equipo con nuestros objetivos y enfocar nuestro trabajo.

¿Por qué los principios son parte integral de la forma en que trabajamos en Intercom?

A lo largo de los años, hemos aprendido que nuestros equipos más felices y de mayor rendimiento manejan mejor las demandas cuando son reflexivos y deliberados acerca de cómo trabajan. Creemos que los principios son la mejor manera de escalar un equipo y mantenerlos alineados mientras confiamos en que harán lo correcto para ellos. Nuestros principios surgen de lo que hemos aprendido sobre lo que funciona bien y lo que no.

Estos son los problemas más apremiantes que necesitábamos resolver y los principios que aplicamos a cada uno.

Problema 1: priorizar la velocidad sobre la resolución de problemas

Complacimos a nuestros clientes, es decir, a nuestros colegas de Intercom, al entregar proyectos rápidamente, pero no nos permitíamos el tiempo suficiente para comprender el problema central que debía resolverse. A menudo teníamos que revisar proyectos terminados cuando una suposición anterior resultó incorrecta o nos dimos cuenta de que se había pasado por alto un escenario.

Principio 1: Haz menos, mejor

Trabajar en menos tareas significa menos cambios de contexto y permite un enfoque más profundo para comprender el problema por completo. El equipo tiene más espacio para iterar en la solución hasta que satisfaga los objetivos que nos hemos propuesto alcanzar.

Adoptar el principio de "hacer menos, mejor" significó hacer concesiones difíciles para beneficiar al equipo a largo plazo. Primero, establecimos un servicio de estado para que otros equipos pudieran verificar el progreso de sus datos en lugar de verificarlo con nosotros. Esto liberó el tiempo que hubiéramos dedicado a responder consultas para poder usarlo para trabajar en nuestros sistemas y, en última instancia, acelerar la entrega de datos.

“Necesitábamos concentrarnos en una cosa hasta que se resolviera y estábamos seguros de que no tendríamos que volver a revisarla. Solo entonces podríamos pasar a lo siguiente”

En segundo lugar, elegimos centrarnos solo en la confiabilidad de nuestro ELT diario (extraer, cargar, transformar), el proceso mediante el cual se extraen los datos más recientes cada noche y se actualizan todos los datos existentes. Necesitábamos concentrarnos en una cosa hasta que se resolviera y estábamos seguros de que no tendríamos que volver a revisarla. Solo entonces podríamos pasar a lo siguiente.

Problema 2: silos de conocimiento

Nuestro equipo de infraestructura de datos es pequeño, por lo que los ingenieros generalmente trabajarían en proyectos individualmente. Era difícil para otros ingenieros del equipo revisar el código sin el contexto necesario, y si surgían problemas con los servicios existentes, solo el ingeniero que había trabajado en el sistema tenía el conocimiento para resolver el problema rápidamente.

“Tuvimos gente inteligente haciendo cosas inteligentes en paralelo”

Cuando ese ingeniero estaba de licencia, todo el trabajo se detenía. Nuestros compañeros de equipo pronto se sintieron frustrados por ser los únicos responsables de un área. En resumen, teníamos personas inteligentes haciendo cosas inteligentes en paralelo: necesitábamos crear procesos cohesivos que respaldaran mejor a nuestros ingenieros.

Principio 2: Emparejarse en los problemas

Cada solución tendría al menos dos ingenieros trabajando en ella. Asignar un ingeniero en lugar de dos no necesariamente duplica la eficiencia o la calidad del resultado, solo aumenta el riesgo de puntos de falla. Los proyectos siempre dan mejores resultados cuando hay más de una perspectiva incluida en el proceso.

Saber que siempre había alguien para responder preguntas o resolver problemas dentro de un área en particular redujo la presión sobre los ingenieros individuales, lo que les facilitó tomarse un tiempo libre o pasar a nuevos proyectos.

Problema 3: sub-priorización de la salud del sistema

Los problemas de salud del sistema son parte integral de la operación de cualquier servicio. Sin embargo, sin un sistema efectivo para clasificar y priorizar nuevos problemas, el ingeniero de guardia decidiría subjetivamente qué problemas abordar primero.

Cuando surgieron estos problemas de salud del sistema, nos resistimos a marcarlos como máxima prioridad (P1) porque nuestros datos analíticos no están estrictamente orientados al cliente y, por lo tanto, los consideramos menos críticos. Sin embargo, estos problemas tenían el potencial de afectar la salud general del sistema y afectar negativamente el trabajo de nuestro equipo. Nos dimos cuenta de que no les estábamos dando la prioridad suficiente y, con el tiempo, se estaban agravando para causar problemas mayores.

Principio 3: la salud del sistema siempre es P1

Cualquier problema del sistema que afecte a nuestros SLA principales (acuerdos de aprendizaje de servicio) sería la primera prioridad (P1). Necesitábamos repensar nuestro enfoque para marcar un problema como P1; dejar de pensar en los P1 solo como emergencias urgentes que bloquean clientes y, en cambio, como instigadores de un proceso importante.

Desde que implementamos este principio, hemos tratado los problemas de manera mucho más efectiva. Los problemas de estado del sistema se marcan como P1, y si el ingeniero de guardia carece de contexto suficiente para resolver un nuevo problema P1 de forma independiente, el equipo detiene el trabajo proactivo y redirige sus esfuerzos hasta que el problema se haya resuelto y se haya resuelto por completo. El incidente se registra automáticamente en nuestro canal de Slack del equipo de ingeniería, lo que significa que cualquier persona de la organización con contexto adicional o información sobre el problema puede contribuir para resolver el problema lo más rápido posible.

Sea realista sobre lo que su equipo puede manejar

Es fácil que los equipos pequeños asuman demasiado, dispersen demasiado su enfoque y pierdan detalles importantes que crearán más trabajo a largo plazo.

Hacer menos, mejor y colocar la salud del sistema como nuestra principal prioridad significaba que podíamos construir estructuras más sólidas a partir de las cuales mejorar otros elementos clave de nuestro proceso y trabajar de manera proactiva en lugar de reactiva. Asignar dos ingenieros a cada proyecto ha transformado la forma en que trabajamos. Uno de los valores de Intercom es “juntos llegamos más lejos”, y esto se ha demostrado una y otra vez desde que adoptamos este enfoque.

¿Está interesado en la forma en que trabajamos y abordamos los problemas? Nos encantaría hablar con usted: consulte nuestros puestos vacantes.

carreras de intercomunicador