Normalmente, eu não cobraria se fosse culpa minha e estava apenas brincando, mas não sou inteligente em negócios. Descobri que a maioria das pessoas inteligentes em negócios aplica essa filosofia de que os clientes estão pagando pelo seu tempo , e não apenas como resultado final. Há muitas vezes na minha carreira em que, em retrospecto, me arrependi de não ter pensado dessa maneira. Tudo o que pensei foi o resultado final como tendo valor, meu tempo não tendo sentido a menos que melhorasse o resultado final. No entanto, pode-se arrastar e desperdiçar muito tempo como resultado de os clientes mudarem de idéia, de colegas de trabalho causando bugs atribuídos a você e atrasando seu trabalho, por exemplo, e não apenas porque você precisava de um pouco mais de pesquisa antecipadamente para realmente saber o que você estava fazendo.
Quando você começa a dobrar as regras e a abrir exceções a que tipo de horário de trabalho deve ser pago e qual deve ser gratuito, pode ser fácil, eventualmente, ser aproveitado. O tempo é a métrica mais fácil de usar para pagamento. Isso o libera de muitas responsabilidades complexas, que podem parecer irresponsáveis, mas o protege de ser puxado e ter a irresponsabilidade do cliente levando a algum corte de pagamento.
No meu caso, seria inútil se eu não pudesse cobrar por seguir o caminho errado, pois geralmente trabalho em coisas como esta:
... tentando vencer um algoritmo de subdivisão Catmull-Clark de quase 40 anos que foi entrincheirado no setor e aprimorado repetidamente por empresas como Microsoft e Pixar, tentando fornecer resultados mais intuitivos e ao mesmo tempo ser tão competitivo quanto essas grandes empresas velocidade.
Em 95% do tempo, nesses casos, estou seguindo o caminho errado, voltando constantemente ao quadro branco após falha após falha após falha. Se eu não pudesse cobrar pelas minhas falhas, já estaria sem casa. Eu vejo mais da metade do meu trabalho como pesquisa, quando ninguém tentou essas coisas antes e não havia como encontrar a abordagem perfeita para resolver uma solução na primeira tentativa (talvez 20ª). Para mim, o objetivo nunca foi ter sucesso na primeira tentativa, mas falhar o mais rápido possível, com cada falha após falha fornecendo algumas pistas sobre qual seria a solução correta, que poderia realmente mudar o mundo.
Nem todo mundo pode estar trabalhando em uma área tão intensiva em P&D, onde os clientes querem e esperam que você domine as técnicas mais bem estabelecidas lá fora, simplesmente porque você está iniciando um novo projeto, mas para mim a programação nunca é muito rotineira, não importa quão é simples e estabelecida uma solução. Como você projeta e integra peças ainda será único, sempre alguma forma de arte em si produzindo prós e contras exclusivos, não mecânicos, nem perfeitamente científicos; caso contrário, os robôs poderiam fazê-lo. Acho que, inevitavelmente, sempre teremos que cobrar por percorrer algumas rotas erradas aqui e ali, caso contrário, apenas poderíamos lucrar com o trabalho mais rotineiro que já fizemos centenas de vezes, para o qual aplicamos exatamente o mesmo solução cada vez; nesse caso, estaríamos cobrando por pressionar o botão copiar e colar.
Imprevisibilidade
Outra coisa é que a programação é sempre difícil, imprevisível, nunca muito rotineira. Não é como a entrega de pizza, que é rotineira, onde tudo, exceto algo como um acidente de carro, pode ser contabilizado (infelizmente uma vez trabalhei com um chefe que equipara estimativas de programador a estimativas de entrega de pizza e achava que o único trabalho que estávamos realmente fazendo era digitar) . É um aprendizado no site, sempre - não consigo imaginar que ele se torne totalmente rotineiro, a menos que alguém realmente me pague repetidamente para implementar como uma busca rápida repetidamente. Sempre haverá alguma experimentação e aprendizado acontecendo lá, e desde que não seja excessivo, não há necessidade de se sentir culpado por isso.
Sempre sonhei em me tornar agricultor ou algo assim, para poder encontrar muito mais movimentos rotineiros em meu trabalho, nem sempre forçando os limites do meu conhecimento existente. Em vez disso, tento compensar, tornando minha vida fora do trabalho a mais rotineira e mundana possível, acrescentando alguma previsibilidade e movimentos rotineiros em algum lugar por uma questão de sanidade, o que me torna um tédio entre as pessoas que desejam encontrar emoção em suas vidas fora de trabalho - acho bastante o suficiente no trabalho.
Ele está falando sobre aprender coisas novas, não trabalhando na solução errada.
Trabalhar na solução errada é aprender coisas novas, não é? Você sabia que era uma solução errada quando começou, ou continuou trabalhando nela mesmo depois de saber que era irremediavelmente errado? Esperemos que não o último. Muitas vezes, o processo de aprendizado ocorre através de erros. É o melhor professor. A estratégia mais eficaz que encontrei é apenas cometer erros o mais rápido possível, descobrir que eles são, de fato, erros de design o mais rápido possível antes de comprometermos tudo com eles e nos casarmos com essas soluções, pois a única constante que posso contar e prever com quase 100% de certeza é que serão cometidos erros. Eles só são caros se forem descobertos muito tarde.