- Bob, engenheiro lendário do Facebook, lançou o Facebook Groups e emplacou resultados seguidos em hackathons mesmo sem um ambiente de desenvolvimento sofisticado
- Usava apenas o Sublime Text básico e logs com
printf, em um ambiente com destaque de sintaxe impreciso e sem live reloading nem depurador - Em contraste, os desenvolvedores ao redor consideravam configurações complexas de ferramentas como a chave da produtividade, com destaque de sintaxe e snippets no Vim,
tmux,mosh, atalhos dehphpde aliases de Git - Nas vitórias de Bob em hackathons, mais do que a configuração do editor, o que pesou foi o senso de produto e a intuição, ou seja, a capacidade de decidir o que construir
- Novas formas de trabalhar podem gerar mudanças, mas no fim o verdadeiro resultado vem de resolver o problema certo
A diferença entre ferramentas complexas e resultados reais
- Bob era uma figura lendária: um engenheiro prolífico que lançou o Facebook Groups e entregava resultados seguidos em hackathons
- Um colega obcecado por produtividade na época usava destaque de sintaxe e snippets no Vim feitos por conta própria para Hack, o dialeto de PHP do Facebook
- Rodava
tmuxsobremoshe ainda tinha atalhos personalizados dehphpde aliases de Git
- Rodava
- O jeito de trabalhar de Bob, em contraste, era extremamente simples
- Usava o Sublime Text sem configurações extras, e cerca de metade das cores do código aparecia errada
- Em vez de live reloading ou depurador, colocava
printfno código e esperava os logs aparecerem
- Naquele hackathon, Bob venceu, e o trabalho era, pelo que se lembra, um recurso no Facebook Groups para dar suporte a posts de compra e venda
- Esse recurso depois evoluiu para o Facebook Marketplace
Mais importante que como fazer é o que construir
- Focar em ferramentas complexas pode prender a atenção no como se trabalha e fazer perder de vista o o quê do trabalho
- O principal fator por trás da alta produtividade de Bob não era a configuração do editor, mas sim seu senso de produto e intuição
- No X, todo dia surge uma nova forma de trabalhar que parece prestes a mudar tudo, e algumas delas talvez realmente possam causar impacto
- Mas o mais importante não são as ferramentas nem o método de trabalho em si, e sim resolver o problema certo
1 comentários
Opiniões no Hacker News
É errado dividir as pessoas entre artesãos que valorizam suas ferramentas e gente obcecada por ferramentas. Boas ferramentas não são brinquedos, mas meios para um fim; eu também passei vários dias criando scripts de shell, funções do Emacs, ferramentas de organização de janelas etc. adaptadas ao meu fluxo de trabalho
Como resultado, realce de sintaxe, navegação e análise de código, organização da tela e operações de Git passaram a exigir só algumas teclas, e elementos que quebravam minha concentração desapareceram. Invista no ambiente de trabalho — cadeira, prompt do shell, editor —, mas, depois que ele ficar confortável, esqueça isso e foque nos problemas reais
Dito isso, ajustes intermináveis de ferramentas podem ser um sinal de que você está evitando tarefas difíceis e sem graça, e isso não é um problema simples de culpar a ferramenta em si
Especialmente na era dos LLMs, as ferramentas fazem você alternar continuamente entre vários agentes e terminais. Essas trocas frequentes de contexto tiram o prazer e o estado de fluxo; seria ótimo que alguém encontrasse uma solução
Vi muitos técnicos passarem mais tempo otimizando a configuração do ambiente do que realmente construindo algo, e eu mesmo já fiz isso. A ideia de que 90% do tempo de programação é digitação, então é preciso aumentar a velocidade de entrada, está errada; 90% do tempo deveria ser dedicado a pensar, e a maior parte disso, a ler
No momento certo, programar é mais parecido com digitar para concretizar uma solução já compreendida
Nesse sentido, a IA também é uma forma de melhoria do ambiente, pois reduziu a barreira inicial. Antes, quando eu viajava pela Europa estudando InterviewCake para passar de QA a desenvolvedor, também desperdicei tempo refinando a configuração do editor em vez de resolver problemas
Isso pode ser um sintoma de TDAH. Depois de tratamento medicamentoso recente, minha produtividade mudou muito, e cheguei a ficar com vontade de chorar ao pensar que desperdicei metade da vida tentando deixar a configuração perfeita em vez de fazer trabalho de verdade
Existem empresas financiadas por VCs que não conseguem criar produtos que as pessoas realmente usem ou pelos quais paguem. Elas mostram o quanto estão ocupadas e produtivas para justificar sua avaliação, e a febre da IA pode estar no mesmo contexto por focar apenas em produtividade e método, não no que será construído
https://components.news/the-gamer-and-the-nihilist/ compara essas startups niilistas com estúdios de jogos que criam produtos que as pessoas pagam para usar. Em uma economia em que apps de produtividade representam quase 40% dos resultados do Product Hunt, às vezes o trabalho é investido em parecer que se está construindo algo, em vez de realmente construir algo
Crio ou uso ferramentas de produtividade apenas o suficiente para não ficar para trás, e vejo qualquer coisa além disso como uma armadilha. Antes eu revisava isso uma vez por trimestre, mas, depois da IA, passo 1 ou 2 dias por semana nesse metatrabalho de melhorar ferramentas, e espero que isso diminua quando as ferramentas relacionadas se padronizarem
Se a imagem de especialista em ferramentas fica forte demais, você não só perde trabalhos de valor real como passa a ser visto como alguém com segredos misteriosos de produtividade. Se a diferença não for tão grande quanto esperam, até outros julgamentos seus podem deixar de ser confiáveis
Quanto menos tempo eu passava na frente do computador, mais coisas resolvia; quando reduzi de 3 monitores para 1, minha produtividade aumentou muito. Resolvo a maioria dos problemas enquanto corto legumes ou aparo a grama, e sentar diante de tecnologia reluzente não produz decisões mais rápidas nem melhores
O motivo de eu entregar resultados melhores do que as equipes de desenvolvimento dos clientes também é que não sou funcionário em tempo integral e posso parar o suficiente para pensar devagar. O teatro da produtividade, como a pressão para manter o status do Teams verde, leva muitas organizações a decisões tolas
Ao pensar por que a produtividade existe, cheguei à hipótese de que ela é uma tentativa de reduzir a dor. Muitas otimizações de desempenho, incluindo produtividade de programadores, acabam virando um refúgio para engenheiros fugirem de dores como ambiguidade do domínio do problema, política organizacional, falta de clareza e risco de fracasso
Mas, para resolver problemas reais, é preciso encarar a realidade: examinar fluxos de trabalho dos usuários em detalhes quase tediosos, propor claramente uma estratégia comum para obter cooperação de outras pessoas etc. Não é necessário glorificar a dor em si, mas bons resultados trazem embutido um treinamento de atleta, e é preciso desenvolver a capacidade de administrar a dor necessária dentro de campo
O ponto central é se é fácil receber reconhecimento. Ferramentas chamativas qualquer um consegue ver e admirar, mas poucas pessoas reconhecem um ótimo produto ou recurso novo a partir de um editor vazio ou de código esqueleto. Por isso, ferramentas visíveis atraem atenção, enquanto a questão difícil e pouco clara do que construir é ignorada
Aplico às ferramentas um critério à la Marie Kondo. Se não dá prazer usar e não facilita a vida, descarto; se dá, mantenho
Em 2004, uma pequena equipe composta em sua maioria por desenvolvedores juniores recebeu um treinamento excelente e extenso em Java. Antes do treinamento, ficamos obcecados com configurações do IntelliJ e do Eclipse e debatemos intensamente, mas o instrutor, surpreendentemente, recomendou usar apenas as ferramentas básicas do JDK e o Notepad
A intenção era nos fazer aprender o que acontecia por dentro, e ele disse que provavelmente a produtividade também não mudaria muito
A razão para a obsessão por otimizar o ambiente é que a conexão entre esforço concentrado e recompensa é visível, concreta e física. Já o aprendizado abstrato não é assim. Há muito mais tarefas de aprendizado do que cadeiras para otimizar, então seria bom encontrar uma forma de fazer o aprendizado abstrato parecer mais concreto
Não se trata de produtividade, mas da diversão de brincar com brinquedos