🧪 Estamos em fase de testesDeixe seu feedback e sugestões →

Um dia na pele de

A engenharia do app de supermercado

Você lidera a engenharia de uma empresa que faz o app de compras de uma rede de supermercados. São 12 pessoas no time e um lançamento marcado para daqui a oito dias úteis. Nesta quinta-feira, quatro coisas pedem você ao mesmo tempo, e você decide a ordem.

Quase nada do seu trabalho se resolve escrevendo código na sua mesa: está na sala de reunião, na mesa do produto, numa conversa a sós. Andar até lá leva tempo, e esse tempo entra no relógio do seu dia.

Entregar no prazo sem deixar para o time um sistema que ninguém consegue mexer.

Profissões com um dia assim: Software Engineer · Staff Engineer · Solutions Architect · Engineering Manager

Ler o dia inteiro (contém os desfechos)

A engenharia do app de supermercado: o dia por escrito

Você lidera a engenharia de uma empresa que faz o app de compras de uma rede de supermercados. São 12 pessoas no time e um lançamento marcado para daqui a oito dias úteis. Nesta quinta-feira, quatro coisas pedem você ao mesmo tempo, e você decide a ordem.

Quase nada do seu trabalho se resolve escrevendo código na sua mesa: está na sala de reunião, na mesa do produto, numa conversa a sós. Andar até lá leva tempo, e esse tempo entra no relógio do seu dia.

Sua mesa: O plano que fecha no papel

O lançamento da versão nova é daqui a oito dias úteis, e a diretoria da rede vai perguntar hoje se ele sai. O quadro do time diz que sim: cada tarefa tem um dono e uma estimativa em dias.

O quadro não mostra quem vai estar fora: férias, folga, curso. Isso está numa planilha do RH que ninguém cruzou com o quadro.

Ache as tarefas que não cabem nos oito dias, somando a estimativa aos dias em que o dono vai estar fora. São essas três. O carrinho compartilhado precisa de 6 dias e o Bruno tem 3 de férias: 9. A entrega agendada, 7 mais 2 de curso da Elisa: 9. A troca de produto em falta, 8 mais 1 de folga da Iara: 9. A lista recorrente e o histórico somam 8 cravados: cabem, sem folga nenhuma. Cada tentativa errada custa 5 minutos.

O que acontece conforme a hora em que você chega

  • Antes das 11h: Você achou antes das 11h. Deu tempo de remanejar duas tarefas para quem estava com folga e de levar à diretoria da rede um plano que fecha, antes de ela perguntar.
  • Entre 11h e 15h: Você achou depois das 11h. O produto já tinha confirmado o lançamento completo para a rede, por e-mail. O plano certo chegou depois da promessa.
  • Depois das 15h: O plano ficou para depois das 15h. A diretoria da rede saiu da semana com a data e as três funções confirmadas. O time vai descobrir na próxima quarta que elas não cabem, e o cliente, na véspera.

Sala de reunião: Uma planilha por dia

O gerente de TI da rede está na sala de reunião. O sistema de estoque deles tem 20 anos e não tem API: ele propõe mandar uma planilha por dia, à meia-noite, com o estoque das 40 lojas.

Com a planilha, o app mostra o estoque de ontem. Num sábado de promoção, o cliente compra o que já acabou.

  • Aceitar a planilha e avisar do atraso. Você aceita a planilha e escreve na ata que o estoque do app vai estar um dia atrasado. O gerente de TI agradece: é o que ele consegue entregar. No primeiro sábado de promoção, o app vai vender produto que a loja já não tem, e a ata diz por quê.
  • Propor uma API mínima e um prazo maior. Você desenha no quadro uma API pequena, só de estoque, que o time da rede precisaria construir. O gerente de TI diz que dá, mas não antes de janeiro. O app lança sem estoque integrado, e a rede vai perguntar por que o concorrente já tem.

O que acontece conforme a hora em que você chega

  • Antes das 10h30: Você entrou antes das 10h30. O gerente de TI ainda estava montando a proposta. Deu para desenhar a solução com ele, não em cima do que ele já tinha decidido.
  • Entre 10h30 e 14h: Você entrou depois das 10h30. O gerente de TI esperou uma hora e já tinha mandado a proposta da planilha para o diretor dele, como fechada.
  • Depois das 14h: A reunião ficou para depois das 14h. O gerente de TI foi embora sem falar com a engenharia, e o produto aceitou a planilha por e-mail. O que quer que se decida agora, é para desfazer um acordo.

Mesa do produto: O preço calculado duas vezes

O checkout novo está pronto para entrar, e o produto quer que entre hoje. Você abre o código: quem escreveu calculou o preço com desconto dentro da tela de pagamento, em vez de chamar o serviço que já calcula preço para o app inteiro.

Funciona. Mas agora existem dois lugares que decidem quanto custa um produto.

  • Aprovar e registrar a dívida técnica. Você aprova e abre uma tarefa: "unificar o cálculo de preço". O checkout entra hoje e o produto agradece. Na próxima mudança de regra de desconto, alguém vai ter de lembrar que são dois lugares.
  • Pedir para usar o serviço de preço antes de entrar. Você explica, no próprio código, por que o preço tem de vir de um lugar só, e pede a mudança. Quem escreveu entende e refaz. O checkout entra na segunda, e o produto tira um dia do teste final para caber no prazo.

O que acontece conforme a hora em que você chega

  • Antes das 11h: Você foi ao produto antes das 11h. O código ainda estava esperando revisão. A decisão entrou antes de alguém apertar o botão de juntar.
  • Entre 11h e 16h: Você foi ao produto depois das 11h. O produto já tinha pedido a outra pessoa para revisar "rapidinho". Você chegou a uma revisão pela metade, com o aprovado quase dado.
  • Depois das 16h: O checkout ficou para depois das 16h. O código entrou sem você olhar, aprovado por quem estava livre. O cálculo duplicado está em produção, e ninguém anotou que ele existe.

Ilha do time: A proposta do Rafael

O Rafael é quem mais conhece o sistema de pagamento. Ele pede cinco minutos e conta, sem rodeio: recebeu uma proposta de um banco, 40 mil a mais por ano, e tem até amanhã para responder.

O lançamento depende dele. Outros dois do time ganham menos do que ele e fazem trabalho parecido.

  • Pedir ao RH uma contraproposta hoje. Você liga para o RH e consegue cobrir a metade da diferença. O Rafael fica, por enquanto. Em algumas semanas, os outros dois vão saber, porque essas coisas se sabem, e a próxima conversa a sós vai ser com eles.
  • Agradecer a franqueza e planejar a saída. Você diz que entende e pede que ele passe as duas últimas semanas documentando o pagamento com a Carla. Ele aceita, aliviado. O lançamento perde a pessoa que resolvia os problemas de pagamento em minutos.

O que acontece conforme a hora em que você chega

  • Antes das 10h: Você conversou antes das 10h. O Rafael ainda não tinha decidido. A conversa foi antes da resposta, não para mudá-la.
  • Entre 10h e 15h: Você conversou depois das 10h. O Rafael passou a manhã esperando e já tinha contado a dois colegas. A conversa a sós começou com o time sabendo.
  • Depois das 15h: O Rafael ficou para depois das 15h. Ele não esperou e mandou o aceite ao banco no começo da tarde. O que quer que tenha sido dito depois, foi sobre uma decisão já tomada.

Copa: Café, e a engenharia vista de fora

Duas pessoas do comercial estão na bancada, esperando o micro-ondas.

“…engenharia sempre diz que não dá. Aí dá.”

O último "dá" custou três fins de semana do time e um engenheiro que saiu em seguida. Elas não sabem disso. Quinze minutos depois, você volta para a sua mesa com essa frase na cabeça.

O que se ouve de passagem

Atravessar a empresa não é só deslocamento. No corredor as pessoas continuam falando, e o que elas dizem depende da hora e do que você ainda não resolveu. Nada disso custa tempo nem muda o dia.

  • …o produto já disse pra rede que sai tudo dia 24.
  • …o Rafael tá estranho hoje. Disse que precisa falar com você.
  • …o cara de TI da rede tá na sala desde cedo, com uma planilha impressa.
  • …o checkout tá pronto, só falta alguém aprovar rapidinho.

O que vem depois das escolhas

  • Se você escolheu “Aprovar e registrar a dívida técnica” e “Agradecer a franqueza e planejar a saída”: Você aprovou o preço calculado em dois lugares e planejou a saída do Rafael. Ele era um dos três que sabiam onde fica cada regra de preço. A tarefa de unificar continua aberta, com um a menos para fazê-la.
  • Se você escolheu “Pedir para usar o serviço de preço antes de entrar” e “Aceitar a planilha e avisar do atraso”: Você segurou o checkout três dias e aceitou a planilha da rede. As duas coisas caem na mesma semana: o time que refaz o preço é o mesmo que precisa ler a primeira planilha à meia-noite.
  • Se você escolheu “Pedir ao RH uma contraproposta hoje” e “Propor uma API mínima e um prazo maior”: Você segurou o Rafael com uma contraproposta e empurrou a integração para janeiro. Ele é quem vai construir a API do estoque com o time da rede, e agora ganha mais que os dois que vão ajudá-lo.
  • Se você escolheu “Aceitar a planilha e avisar do atraso” e “Agradecer a franqueza e planejar a saída”: Você aceitou a planilha e liberou o Rafael. A rotina que lê a planilha à meia-noite ficou com a Carla, que estava aprendendo o pagamento com ele na mesma semana.

Como o dia termina

Você foi para o plano primeiro.

Havia um cliente na sala, um código esperando revisão e um engenheiro com outra proposta, e você abriu o plano do lançamento. Passou 1h00 cruzando estimativa com férias.

Isso não é bom nem ruim. É informação: você foi atrás do prazo antes de ele virar promessa. Gestão de engenharia é muito isso, saber o que cabe antes que alguém prometa o que não cabe.

Você foi para o cliente primeiro.

Você começou pela sala de reunião, com um sistema de 20 anos e uma planilha. Passou 50 min decidindo entre o que sai logo e o que fica certo.

Arquitetura de soluções é isso: desenhar a ponte entre o que o cliente tem e o que o produto precisa, sabendo que cada atalho vira um problema com data marcada.

Você foi para o código primeiro.

Você começou pelo checkout, onde o preço era calculado em dois lugares. Passou 45 min decidindo se o prazo valia uma regra duplicada.

Quem cuida da qualidade técnica de um time vive essa conta todo dia: cada atalho aprovado é um lugar a mais para lembrar quando a regra mudar.

Você foi para o Rafael primeiro.

Você começou pela conversa a sós, com uma proposta e um prazo até amanhã. Passou 40 min pesando uma pessoa contra a régua do time inteiro.

Gestão de engenharia também é isso: o sistema depende de gente, e cada decisão sobre uma pessoa o resto do time acaba sabendo.

As três portas de Engenharia de Software

Engenharia de software não é uma profissão só, são três, e elas se separam pelo tipo de problema, não pelo assunto.

  • Engenharia de software. Escrever e revisar o código de modo que outra pessoa consiga mexer nele daqui a um ano.
  • Arquitetura de soluções. Desenhar como sistemas diferentes conversam, entre o que o cliente tem e o que o produto precisa.
  • Gestão de engenharia. Cuidar do time e do prazo: quem faz o quê, até quando, e quem continua no time.