A tradução do artigo foi preparada especificamente para os alunos do curso "DevOps Practices and Tools" .
A missão da Intercom é personalizar o negócio on-line. Mas personalizar um produto não é possível quando não funciona
como deveria . A eficiência é fundamental para o sucesso de nossos negócios, e não apenas porque nossos clientes nos pagam, mas também porque nós mesmos usamos
nosso produto . Se nosso serviço não funcionar, literalmente sentimos a dor de nossos clientes.
O tempo de atividade depende de muitos fatores, como a arquitetura do software e a qualidade do trabalho diário. No entanto, muitas vezes tudo se resume ao fato de que uma pessoa que está sempre em contato atende as chamadas do
PagerDuty . Esse suporte técnico pode ser uma poderosa ferramenta orientada ao cliente que combina a assistência dos engenheiros com o que os clientes recebem quando compram seu produto. Também oferece uma grande oportunidade de aprendizado e crescimento, porque, no final, falhas e erros podem ser um bom campo para o desenvolvimento de habilidades e a compreensão dos mecanismos complexos do trabalho.
Ficar “sempre em contato” fora do horário de trabalho é prejudicial à sua vida.Mas, ao mesmo tempo, o estado de "sempre em contato" pode ter um efeito prejudicial em sua vida. Você deve estar preparado para responder rápida e competentemente a um alerta de que algo está quebrado. Mesmo se você não for chamado por um pager nesse momento específico, o estado de "sempre em contato" incutirá um sentimento de ansiedade, eu mesmo sei disso por experiência própria. Especialmente por isso, a qualidade do sono está se deteriorando. Uma estadia regular na área de acesso a qualquer hora do dia pode levar a esgotamento, apatia ou, em geral, ao desejo de nunca mais ver um computador.
Histórico de status do Intercom na Intercom
Nos primeiros dias da Intercom, apenas nosso diretor técnico, Kiaran, era uma equipe inteira de suporte técnico 24 horas por dia, tanto no escritório como fora dele. À medida que a Intercom crescia, uma força-tarefa foi criada para ajudar Ciaran. Logo depois, novas equipes de desenvolvimento começaram a criar muitos novos recursos e serviços e já assumiram todas as responsabilidades de suporte técnico.
A qualquer momento, havia muitas pessoas "em contato".Naquela época, essa abordagem parecia ser um dado adquirido, pois era uma maneira fácil de escalar a equipe de suporte técnico a qualquer momento, encontrava nossos valores e entretinha nosso
senso de propriedade . Como resultado, sem nenhum plano, temos quatro ou cinco equipes que entram em contato regularmente com os clientes durante o horário de expediente. O restante das equipes de desenvolvimento não teve muitos momentos difíceis que poderiam gerar um erro; portanto, raramente, se é que alguma vez, foram chamados.
Percebemos que estávamos em uma situação em que possuímos a mecânica do suporte técnico, da qual não podemos nos orgulhar, e vários problemas críticos que queríamos eliminar, como:
- Muitas pessoas estavam prontas para aceitar o desafio a qualquer momento. Nossa infraestrutura não era tão grande que exigia um mínimo de cinco engenheiros de desenvolvimento que trabalhariam sem um fim de semana normal.
- A qualidade de nossos alarmes e procedimentos de chamada não foi coordenada entre as equipes; usamos processos especiais para revisar alertas novos e existentes sobre problemas. As instruções no runbook (que devem ser seguidas ao receber uma notificação sobre um problema) foram marcantes na sua ausência.
- Dependendo da equipe em que os engenheiros trabalhavam, eles tinham expectativas conflitantes. Por exemplo, apenas a primeira equipe de suporte técnico tinha compensação por turnos de trabalho e fins de semana interrompidos.
- Verificou-se que existe um nível geral de tolerância para chamadas desnecessárias em momentos inoportunos.
- Finalmente, este tipo de trabalho não é adequado para todos. Às vezes, as circunstâncias da vida mostraram que a mudança de dever afeta as pessoas da melhor maneira.
Pesquise o estado correto de "sempre em contato"
Decidimos criar uma nova equipe virtual que fará o trabalho de suporte técnico para cada equipe quando houver um horário de folga. A equipe será composta por voluntários, e não representantes de nenhuma equipe da organização. Os engenheiros de uma equipe virtual mudavam a cada seis meses, passando semanas em contato. Felizmente, não tivemos problemas em encontrar voluntários suficientes para montar uma equipe virtual.
Como resultado, nossa equipe de suporte foi reduzida de 30 pessoas para apenas 6 ou 7.Essa equipe concordou e determinou como os alertas e descrições do problema deveriam aparecer no runbook e descreveu o processo de encaminhamento de alertas para uma nova equipe de suporte. Eles identificaram todos os alertas no código usando o módulo Terraform e começaram a usar o julgamento de especialistas para cada alteração. Introduzimos um nível de compensação para o turno semanal, que era bastante adequado para quem estava de serviço. Também criamos uma equipe escalada de segundo nível, composta apenas por gerentes. Essa equipe deve ser o único ponto de escalação para os engenheiros de suporte técnico.
Tivemos vários meses de trabalho duro, durante os quais iniciamos esse processo, como resultado, agora não 30 engenheiros como antes, mas apenas 6 ou 7. Permaneceram em contato. Durante o horário de trabalho, as equipes lidam independentemente com problemas de suas funções ou serviços, em esse período geralmente é responsável pelo maior número de falhas, no entanto, o restante do tempo, os voluntários estão envolvidos no suporte técnico.
O que aprendemos
Depois que lançamos nossa equipe virtual de suporte técnico, esperávamos um afluxo de novas tarefas, como investigar as causas dos problemas ou uma reunião geral para resolver qualquer problema que causasse a falha. No entanto, nossas equipes de desenvolvimento assumiram total responsabilidade pelos fatores que causaram as falhas e qualquer reação subsequente foi geralmente uma ação imediata. Também precisávamos evitar uma situação em que a tarefa de consultoria técnica fosse devolvida à equipe da qual havia chegado, para não forçar os engenheiros a entrar em contato após o expediente.
As chamadas de ausência temporária diminuíram para menos de 10 por mês.Formalmente, nosso processo de encaminhamento raramente era usado. A opinião mais comum era que o engenheiro, que está atualmente online, ajuda o engenheiro informalmente, especialmente para os funcionários do escritório em San Francisco. Muitos problemas foram corrigidos ou seu número foi reduzido através do trabalho em equipe e resolvendo-os rapidamente.
Os engenheiros do escritório de São Francisco se uniram à equipe como um todo e foram além do suporte técnico usual. No entanto, fomos confrontados com uma pergunta sobre certos custos indiretos, estendendo a participação da equipe de suporte a vários escritórios em nossas mãos, porque acabou sendo uma boa maneira de construir relacionamentos, fortalecê-los e aprender mais sobre a pilha de tecnologia com a qual todos trabalhamos.
Em nossas equipes, o trabalho dos desenvolvedores da Intercom tornou-se mais consistente e podemos falar com segurança sobre as vantagens de uma posição de engenheiro de sistema em nosso site de
Carreiras , afirmando que não há necessidade de estar sempre em contato se você não quiser.
Juntamente com o trabalho fundamental para estabilizar e dimensionar nossos data warehouses, a atenção constante à solução de problemas levou ao fato de que o número de chamadas fora do horário de expediente foi reduzido para menos de 10 por mês. Estamos muito orgulhosos desse número.
Continuamos a trabalhar na manutenção e aprimoramento de nossa equipe de suporte técnico e, à medida que a Intercom cresce, podemos ter que reconsiderar nossas decisões, porque o que funciona hoje não necessariamente funcionará na próxima vez que nosso número de funcionários dobrar. No entanto, essa experiência foi extremamente positiva para nossa organização, pois melhorou significativamente a qualidade de vida de nossos engenheiros de desenvolvimento, a qualidade de nossas respostas aos desafios e, acima de tudo, a experiência de nossos clientes.