Um antigo chefe meu tinha uma frase, aplicada a quase todos os projetos em sua empresa, que muito me incomodava na época: “O ótimo é inimigo do bom”.
A frase me incomodava porque eu sempre fui excessivamente perfeccionista. Para qualquer projeto, seja de programação ou não, eu preciso encontrar as condições perfeitas para execução. Eu era conhecido por mudar frases nos logs do controle de versão por não ficar satisfeito com certas descrições, jogar projetos funcionais inteiros para fazer tudo de novo da maneira como eu acreditava que deveria ser feito, e, em um âmbito mais pessoal, pensar exaustivamente como determinadas coisas deviam ser feitas para acertar tudo da primeira vez.
Estranhamente, isso nunca afetou a minha produtividade quando eu estava dentro de uma empresa. Como prazos são prazos, todos os processos acima envolviam riscos calculados que me forçavam a produzir a despeito da vontade de acertar completamente da primeira vez. Mas, aos poucos, eu notei que a situação estava se tornando mais complicada e minha frustração com essa necessidade aumentava.
Foi somente há poucos anos, saindo para trabalhar por contra própria, é que eu descobri que perfeccionismo também pode ser uma patologia. Foi necessário chegar a um ponto em que eu não estava produzindo absolutamente nada e ter que procurar ajuda profissional. É irônico pensar que algo que geralmente é considerado uma qualidade pode ter efeitos tão detrimentais em sua vida–seja sua vida profissional ou pessoal. Procrastinação, uma virtude tão querida no meio dos programadores, pode realmente se tornar um problema.
O que eu aprendi depois é que, de certa forma, é uma batalha de você contra você mesmo. Existe uma parte que deseja terminar as coisas e outra que lhe diz que você não está preparado para isso, que as condições não estão certas. Isso pode rapidamente se converter em uma obsessão.
O ótimo realmente pode ser inimigo do bom, quando se torna um alvo em si próprio. Um exemplo claro disso é que, atualmente, em minha própria empresa, eu tenho que balancear enormemente duas expectativas. Obviamente, meus clientes esperam o melhor que eu posso oferecer mas esse melhor “ideal” nunca pode ficar no caminho da execução.
Paciência, nesse processo, significa conviver com suas próprias expectativas em um nível completamente diferente do que se está habituado. Eu estou aprendendo, entretanto.

Claro que o profissional de verdade tenta fazer o seu trabalho da melhor forma possível. É normal buscar a perfeição quando se tem apreço pelo que se faz.
Mas, por exemplo, estamos no meio de uma implementação de um pacote de CRM (Customer Relationship Management) e eu fui exposto a dois sistemas distintos: um pacote de CRM pequeno mas utilizado pelo mundo inteiro de uma marca conhecida que gera milhões em vendas; e o novo pacote para empresas de médio porte que estamos adotando, e que gera centenas de milhões em vendas.
Dentre outras coisas, as implementações do modelo de dados são ATROZES. Sem integridade referencial, nomes de campo que comportam a mesma informação são diferentes entre as tabelas, campos varchar pra tudo (inclusive pra informações eminentemente numéricas), e por aí vai. Eu não sou um defensor de que o modelo tem de estar na quinta forma normal antes de qualquer coisa, mas acho que algumas coisas são básicas – e que elas ajudam o desenvolvedor.
Mas os caras do pacote pequeno venderam milhões de dólares. E os caras do pacote médio venderam centenas de milhões de dólares…
E eu? A única coisa que eu vendi foi a mim mesmo para as empresas que me contrataram e onde, obsessivamente, busquei uma perfeição inatingível. Um alvo móvel. Sempre que eu termino um programa, a experiência de produzi-lo fornece um novo insight e ele poderia ser feito melhor. Constant refactoring.
Não se trata, acho eu, de reduzir as expectativas que temos de nós mesmos. Mas de reduzir as expectativas que pensamos que os outros terão de nós – acho eu.
Enquanto eu me cobrava e me cobrava, o cara daquele primeiro pacote – o pequeno – desenvolvia sem o mesmo nível de preocupação e está milionário.
Tem uma lição aí…
“Existe uma parte que deseja terminar as coisas e outra que lhe diz que você não está preparado para isso, que as condições não estão certas.”
Olha me senti na deitado num divam agora, isso é exatamente o que tá acontecendo comigo.
Ronaldo!
Esse seu post caiu como uma luva.
Eu estava desenvolvendo um layout e meu perfeccionismo excessivo não me deixava sair da Home, resolvi para um pouco pra ler meus feeds e encontro essa!
O que eu aprendi é a noção de perfeccionismo.
Se você trabalha como um programador, pensa como um programador e vende suas coisas para um técnico (gerente de TI ou coordenador), então não há problema, seu perfeccionismo gera em torno do código.
Quando você tem uma empresa ou é um autônomo, seu trabalho final passa a ser relevante diretamente para o cliente final.
O cliente final não se importa se o seu sistema é modular ou orientado a objetos, isso é um problema do programador. O mesmo vale para todos os outros trabalhos envolvidos no projeto.
E o pior de tudo, para um perfeccionista, é ver no mundo pessoas com poucas aptidões, pouca experiência e nenhum tipo de perfeccionismo ou cuidado gerando vendas e vendas com um produto terrível.
Acho que em um projeto, não podemos perder o foco. O foco é sempre o usuário final, o que o sistema se propos a fazer.
Cara! Excelente post!
Eu estou com mais de 10 projetos patinando justamente por causa desse meu perfeccionismo.
O que você está fazendo para melhorar?
Abraço!
Não sei se esse é o sentido normalmente atribuído a esse ditado, mas não é o original.
Originalmente o ditado significava que ficamos satisfeitos com algo que parece ser bom o suficiente quando poderíamos obter vantagens (competitivas) com uma solução melhor.
Mas existem vários outros ditados que vão ao encontro dos seus comentários sobre o perfeccionismo:
-Ain’t broke, don’t fix it
-Worse is Better
-KISS (keep it simple stupid)
Lopes, e uma bela de uma lição por sinal. Eu custei a concordar com o meu ex-chefe nesse sentido mas acabei entendendo o ponto de vista. No meu caso houve, é claro, a questão de meio que viciar em perfeição, mas tem que existir um balanço. Tentar uma estruturação perfeita e ficar no vaporware não adianta nada para ninguém.
—
Silfar, de quando em quando é normal, mas não deixa acumular. Se não, fica como eu fiquei.
—
Daniel, é isso mesmo. Do ponto de vista do cliente, o externo sempre é mais importante que o externo. Uma das coisas mais difíceis de aprender como empresário foi que não adianta a solução ser um primor tecnológico se ela não captura o pensamento do usuário da maneira mais básica possível. Não é que o usuário/cliente seja burro–de forma alguma–é uma questão de perspectivas completamente diferentes que devem ser balanceadas adequadamente.
—
Obrigado pelo elogio, Davi. No meu caso, como eu disse, tive que partir para ajuda profissional inicialmente. Hoje, é uma questão de disciplina. Eu estabeleço prazos que me limitam e procuro aplicar a melhor metodologia possível para balancear o meu excesso de perfeccionismo com o resultado esperado. Métodos ágeis para mim são uma necessidade e não uma opção nesse sentido. Há momentos em que eu sinto vontade de arrancar os cabelos mas é só dar uma volta que passa.
Falando sério, é claro que eu não posso dizer exatamente o que você precisa para sair já que isso é bem individual. Mas posso dizer uma coisa: verifique se a situação está indo além do mundo do trabalho. Se estiver tocando sua vida pessoal também, é um problema. Se não, é bom e é mais uma questão de se organizar e usar algumas técnicas para contornar a sensação.
Algumas dicas muito boas mesmo estão no Efetividade
—
Carlos, isso mesmo. Eu tinha até preparado um texto sobre isso que ficou agendado e foi postado hoje de manhã: cortando para completar.
Belo post!
Eu vivi minha vida inteira ligado ao perfeccionismo. Aindo estou e não consigo sair dele. Perdi tudo na minha carreira profissional por isso. Me sinto fracrassado, inadequado. Hoje sá tento achar alguma forma mais apropriada de viver.