- Em big techs, terminar um trabalho de verdade significa levá-lo até um estado que satisfaça a empresa e seguir em frente, dentro de um sistema que pode ser melhorado infinitamente
- Engenheiros competentes, mas com falta de protagonismo, acabam repetindo apenas pequenas melhorias e deixam passar resultados reais
- É preciso entregar resultados claros e visíveis para quem toma decisões para que isso seja reconhecido como “trabalho feito”
- Você deve sempre verificar se o que está fazendo está em um formato que possa ser lido e avaliado pela alta gestão
- Nem tudo pode ser organizado até o fim; em certo momento, a capacidade de “declarar vitória e ir embora” se torna uma competência essencial
O 'trabalho' tem uma natureza que não pode ser concluída
- Ao contrário de um problema de matemática ou de uma tarefa escolar, o trabalho no mundo real é um sistema aberto que pode ser melhorado infinitamente
- Desenvolver um serviço é como plantar uma árvore: depois disso, continua sendo um processo que exige manutenção constante
O engenheiro competente preso na armadilha
- O engenheiro que assume tudo sozinho e repete apenas pequenas melhorias contínuas sente que está entregando resultado, mas
- do ponto de vista da alta gestão, isso pode ser visto como falta de criação de valor visível para a empresa
- Como resultado, pode acabar sendo confundido com alguém ocupado, mas sem entregas reais
O significado real de “terminar”
- Levar o trabalho até o ponto em que a empresa (ou os tomadores de decisão) esteja satisfeita e então passar para a próxima coisa
- Em vez de continuar refatorando ou repetindo pequenas melhorias, é preciso criar uma lista clara de entregas
- A capacidade de declarar “está concluído” e seguir para o próximo trabalho é importante
Garantir a ‘legibilidade’ do trabalho
- Projetos que o gestor já conhece ou pediu, ou respostas a grandes incidentes, têm alta legibilidade
- Por padrão, a maior parte do trabalho técnico não passa de ruído técnico difícil de julgar para quem gerencia
- Por isso, é preciso ajustar a forma de apresentar o trabalho para que ele seja compreensível, por exemplo tornando os resultados visíveis ou destacando o impacto financeiro
“Terminar” como conceito social
- Filosoficamente, a ideia de “está concluído” também é uma construção social, mas na prática ela tem um poder muito concreto
- Ignorar isso pode fazer com que seu trabalho não seja reconhecido e, no limite, até resultar em demissão
Resumo
- Trabalhar não significa necessariamente ter concluído
- A maior parte do trabalho não pode ser realmente concluída e pode continuar indefinidamente
- Em vez de um jardineiro, você precisa agir como um estrategista orientado a resultados
- O critério de “concluído” é a satisfação da empresa/do gestor
- Declarar vitória → sair de cena → seguir para a próxima tarefa é a estratégia central
7 comentários
Parece que escolher um trabalho em que seja possível declarar vitória também é uma habilidade importante.
Limitar o escopo é o que chamamos de scoping. A habilidade está em fazer um bom scoping para que você possa vencer.
Hanshin vs. Soha
Resultados visíveis e mensuráveis, não detalhes
Comentários do Hacker News
Não discordo totalmente do argumento deste texto, mas, pela minha experiência trabalhando em vários lugares — big techs, startups e unicórnios — isso não parece um conselho muito prático. Nos últimos 10 anos, o trabalho dos desenvolvedores ficou especializado demais, a ponto de se desconectar das necessidades de quem decide e dos clientes. Isso acontece porque o Product Manager acaba ficando no meio entre os engenheiros e o resto da empresa. Eu sempre quero gerar resultados valiosos, mas, na prática, para conseguir isso, preciso aguentar estresse constante. Minha contribuição inevitavelmente é ajustada depois de passar pelo ego de quem fala com os tomadores de decisão. Nos últimos 5 anos, a única vez em que senti realização de verdade foi quando assumi temporariamente o papel de Product Manager por 9 meses. Nesse período, nosso time concluiu com sucesso três projetos em que outros times já tinham falhado várias vezes antes. O segredo foi conversar de fato com as partes interessadas para entender as necessidades, e não tentar fazer do meu jeito. Então vou continuar entregando apenas o que pedem, levando culpa por bugs e sem receber reconhecimento pelas funcionalidades. Pelo menos a remuneração é boa. Ainda sigo procurando um lugar onde eu possa realmente contribuir direito
Tenho uma objeção fundamental a usar apenas satisfazer quem tem poder como critério de sucesso. Estamos presos a uma estrutura de status ridícula, mas não acho que tudo se resuma a mudar um ticket para “done” no Jira ou eliminar avisos do compilador. Ninguém diz “não me arrependo de ter passado 40 anos apenas satisfazendo meus chefes”
No geral concordo, mas acrescentaria uma coisa: para entender o que o gerente quer, é preciso entender a estrutura de negócio da empresa. Você precisa descobrir por conta própria como a empresa ganha dinheiro e o que ela considera valioso. Quando você trabalha num lugar alinhado com os valores da empresa, a recompensa é maior e a satisfação também. É importante falar diretamente com clientes, vendas, marketing e, se possível, até com a liderança executiva. Mesmo que você cuide apenas de sistemas internos, o essencial é saber onde esse sistema gera ou protege valor. Se sua área não consegue criar valor de forma clara, vale pensar em se mover para um time mais valioso. Trabalhar em algo desalinhado com as necessidades da empresa sempre foi um grande erro
O autor disse que “é necessário gerar resultados visíveis para quem toma decisões”, e eu me identifico com essa mentalidade de “negócio”. Muitos desenvolvedores sofrem porque não sabem explicar qual é a utilidade de negócio do próprio trabalho. Refatoração entra nisso também. Melhorar o código pode parecer, no curto prazo, algo sem significado nenhum, mas, dependendo da situação, pode gerar benefícios enormes para a organização. No fim, o ponto central é pensar em como conectar seu trabalho à receita ou à economia da organização — e em como comunicar isso
Fico me perguntando se “essa mentalidade é a razão de tantos engenheiros não ligarem para qualidade de código, testes e documentação”. Se a única preocupação for a satisfação imediata de quem está acima, por que alguém se esforçaria para escrever código sustentável no longo prazo? Talvez não seja necessário qualidade acima do padrão, mas um investimento mínimo já pode economizar bilhões
Já vivi bastante essa realidade e esses problemas, entendo tudo isso, mas ainda assim discordo. Muitos projetos são iniciados e, com um “resolvido, done!”, o time é desfeito. Mas o produto ainda tem problemas, ainda precisa de novas funcionalidades e a empresa continua mudando. No fim, só se acumula dívida técnica por falta de manutenção. Aí chega um novo gerente, recria um projeto antigo e repete os mesmos erros. Esse jeito de fazer é ineficiente. Usando a analogia do ar-condicionado: manter a temperatura estável é mais eficiente do que desligar e depois baixar tudo de novo. Na prática, uma ferramenta de gestão que eu criei nunca interessou à diretoria, mas era necessária a ponto de ter mais de 500 usuários internos. O importante era manter a confiança nela continuamente, sem exigir grande investimento de tempo em manutenção. Se você abandona, ela se fragmenta e a confiabilidade vai embora. Bastavam alguns minutos para preservar essa consistência
Tenho sentimentos mistos sobre isso tudo. É verdade que, para visibilidade e promoção, o texto faz sentido, mas, na prática, é um conselho centrado no gerente: basta satisfazer o gestor. Mas e se não houver direção clara e as prioridades ficarem mudando o tempo todo? Aí fica difícil gerar resultado significativo, e a relação entre gestor e subordinado vira completamente uma estrutura de “yes-man”. Esse resultado é ruim
"unagentic engineer" significa um engenheiro sem autonomia. Se um engenheiro trabalha desse jeito, isso pode levar a ineficiências e problemas graves, como custo excessivo de nuvem, incidentes de segurança e reclamações de clientes. Como exemplos de trabalho que nunca termina, dá para citar patches de segurança, correção de erros, otimização de custos e resposta a feedback de clientes. Se a empresa não entende o valor disso, o melhor é mudar de emprego
Eu odeio profundamente buzzwords como "alignment", mas, ainda assim, reconheço que é um conceito essencial. Idealmente, eu, meu gerente e até a liderança acima dele deveríamos concordar sobre o que é o trabalho mais importante. Se isso não acontece, para quem faz parte da organização isso é um problema. Pode não ser o certo nem o justo, mas é a isso que temos de nos adaptar. No fim, fazemos o que vem de cima porque é por isso que somos pagos. Só uma minoria muito pequena tem o privilégio de influenciar quem está acima. É isso que chamam de "managing up"
O texto original é útil, mas acho que faltaram pontos ainda mais importantes:
Essas opiniões aqui estão, na verdade, tocando no ponto central.
Pois é kkk