Como a equipe de infraestrutura de dados da Intercom atendeu à demanda crescente com princípios sólidos
Publicados: 2022-05-06Escalar uma empresa nunca é um processo linear. À medida que sua startup se expande, as equipes encontrarão obstáculos que exigem que elas se adaptem rapidamente às novas demandas.
Foi aí que encontramos nossa equipe de infraestrutura de dados no final de 2020 – fornecemos dados e ferramentas para as equipes da Intercom obterem insights e executarem processos cruciais, e fomos mais requisitados do que nunca. A Intercom experimentou um grande crescimento nos últimos dois anos e contratamos muitas pessoas incrivelmente talentosas para nos ajudar em nossa jornada. Como resultado, a trajetória da nossa empresa mudou rapidamente – no final do ano passado, nossa equipe estava enfrentando uma demanda maior do que nunca. Percebemos que as infraestruturas, práticas e processos que estávamos usando estavam lutando para operar com eficiência em nossa nova escala.
A equipe de infraestrutura de dados chegou a um ponto de inflexão
A equipe passou a maior parte de seus dias lidando com pequenos problemas que surgiram em nosso sistema, trabalhando constantemente de forma reativa em vez de olhar para os problemas subjacentes e fortalecendo proativamente a infraestrutura – simplesmente não tínhamos tempo. Como gerente, isso significava que muitas vezes eu precisava ajudar nas tarefas diárias, em vez de me concentrar na direção, estratégia e desenvolvimento profissional da equipe. Chegamos a um ponto de inflexão, e estava claro que algo tinha que mudar.
“Estabelecemos um conjunto de princípios para alinhar a equipe em nossos objetivos e focar nosso trabalho”
Quando Cormac McGuire, nosso Gerente de Engenharia do Grupo, se juntou à equipe, demos um passo atrás e analisamos o que precisava ser feito para nos colocar de volta nos trilhos. Percebemos vários problemas que vimos bloquear equipes no passado, como silo de conhecimento, alternância constante de contexto e despriorização de importantes problemas de integridade do sistema. Para corrigir esses problemas, estabelecemos um conjunto de princípios para alinhar a equipe aos nossos objetivos e focar nosso trabalho.
Por que os princípios são essenciais para a forma como trabalhamos na Intercom?
Ao longo dos anos, aprendemos que nossas equipes mais felizes e com melhor desempenho lidam melhor com as demandas quando são ponderadas e deliberadas sobre como trabalham. Achamos que os princípios são a melhor maneira de dimensionar uma equipe e mantê-los alinhados, confiando neles para fazer o que é certo para eles. Nossos princípios crescem a partir do que aprendemos sobre o que funciona bem – e o que não funciona.
Aqui estão os problemas mais urgentes que precisávamos resolver e os princípios que aplicamos a cada um.
Problema 1: Priorizando a velocidade sobre a resolução de problemas
Agradamos nossos clientes, também conhecidos como colegas da Intercom, entregando projetos rapidamente, mas não estávamos nos dando tempo suficiente para entender o problema central a ser resolvido. Muitas vezes tínhamos que revisitar projetos concluídos quando uma suposição anterior se mostrava incorreta ou percebemos que um cenário havia sido negligenciado.
Princípio 1: Faça menos, melhor
Trabalhar em menos tarefas significa menos alternância de contexto e permite um foco mais profundo para entender completamente o problema. A equipe tem mais espaço para iterar na solução até que ela satisfaça as metas que nos propusemos alcançar.
Adotar o princípio “faça menos, melhor” significava fazer trocas difíceis para beneficiar a equipe a longo prazo. Primeiro, estabelecemos um serviço de status para que outras equipes pudessem verificar o andamento de seus dados em vez de entrar em contato conosco. Isso liberou o tempo que gastaríamos respondendo a consultas para que pudéssemos usá-lo para trabalhar em nossos sistemas e, por fim, acelerar a entrega de dados.
“Precisávamos focar em uma coisa até que fosse resolvido e tínhamos certeza de que não teríamos que revisitá-lo. Só então poderíamos passar para a próxima coisa”
Em segundo lugar, optamos por focar apenas na confiabilidade de nosso ELT diário (extrair, carregar, transformar), o processo pelo qual os dados mais recentes são extraídos a cada noite e todos os dados existentes são atualizados. Precisávamos focar em uma coisa até que fosse resolvido e tínhamos certeza de que não teríamos que revisitá-lo. Só então poderíamos passar para a próxima coisa.

Problema 2: silos de conhecimento
Nossa equipe de infraestrutura de dados é pequena, então os engenheiros geralmente trabalham em projetos individualmente. Era difícil para outros engenheiros da equipe revisar o código sem o contexto necessário e, se surgissem problemas com os serviços existentes, apenas o engenheiro que havia trabalhado no sistema tinha conhecimento para resolver o problema rapidamente.
“Tínhamos pessoas inteligentes fazendo coisas inteligentes em paralelo”
Quando aquele engenheiro estava de licença, todo o trabalho parava. Nossos companheiros logo ficaram frustrados por serem os únicos responsáveis por uma área. Em suma, tínhamos pessoas inteligentes fazendo coisas inteligentes em paralelo – precisávamos criar processos coesos que apoiassem melhor nossos engenheiros.
Princípio 2: Junte-se aos problemas
Cada solução teria pelo menos dois engenheiros trabalhando nela. A atribuição de um engenheiro em vez de dois não duplica necessariamente a eficiência ou a qualidade do resultado, apenas aumenta o risco de pontos de falha. Os projetos sempre trazem melhores resultados quando há mais de uma perspectiva incluída no processo.
Saber que sempre havia alguém para responder a perguntas ou resolver problemas em uma área específica reduzia a pressão sobre os engenheiros individuais, tornando mais fácil para eles tirar uma folga ou passar para novos projetos.
Problema 3: Priorização insuficiente da integridade do sistema
Os problemas de integridade do sistema são parte integrante da operação de qualquer serviço. No entanto, sem um sistema eficaz de triagem e priorização de novos problemas, o engenheiro de plantão decidiria subjetivamente quais problemas abordar primeiro.
Quando esses problemas de integridade do sistema surgiram, relutamos em sinalizá-los como prioridade máxima (P1) porque nossos dados de análise não são estritamente voltados para o cliente e, portanto, os consideramos menos críticos. No entanto, esses problemas tinham o potencial de afetar a integridade geral do sistema e impactar negativamente o trabalho de nossa equipe. Percebemos que não estávamos priorizando-os o suficiente e, com o tempo, eles foram se acumulando para causar problemas maiores.
Princípio 3: A integridade do sistema é sempre P1
Qualquer problema de sistema que afete nossos SLAs primários (contratos de aprendizado de serviço) seria a primeira prioridade (P1). Precisávamos repensar nossa abordagem para sinalizar um problema como P1; parar de pensar nos P1s apenas como emergências urgentes que bloqueiam o cliente e, em vez disso, como instigadores de um processo importante.
Desde a implementação desse princípio, lidamos com os problemas de forma muito mais eficaz. Os problemas de integridade do sistema são sinalizados como P1s e, se o engenheiro de plantão não tiver contexto suficiente para resolver um novo problema P1 de forma independente, a equipe interrompe o trabalho proativo e redireciona seus esforços até que o problema seja totalmente causado e resolvido. O incidente é registrado automaticamente no canal Slack da nossa equipe de engenharia, o que significa que qualquer pessoa na organização com contexto ou insights extras sobre o problema pode contribuir para resolver o problema o mais rápido possível.
Seja realista sobre o que sua equipe pode lidar
É fácil para equipes pequenas assumirem demais, difundirem muito seu foco e perderem detalhes importantes que criarão mais trabalho a longo prazo.
Fazer menos, melhor e colocar a saúde do sistema como nossa principal prioridade significava que poderíamos construir estruturas mais robustas para melhorar outros elementos-chave do nosso processo e trabalhar de forma proativa em vez de reativa. A atribuição de dois engenheiros para cada projeto transformou a maneira como trabalhamos. Um dos valores da Intercom é “nós vamos mais longe juntos”, e isso tem se comprovado uma e outra vez desde que adotamos essa abordagem.
Você está interessado na forma como trabalhamos e abordamos os problemas? Adoraríamos falar com você – confira nossas vagas abertas.