Normalmente non farei pagare se fosse palesemente colpa mia e mi stavo solo masturbando, ma non sono affatto intelligente. Ho scoperto che la maggior parte delle persone in gamba sono in grado di applicare questa filosofia che i clienti pagano per il loro tempo e non semplicemente un risultato finale. Ci sono molte volte nella mia carriera in cui, a posteriori, mi sono pentito di non aver pensato in questo modo. Tutto quello a cui pensavo era che il risultato finale valeva, il mio tempo era insignificante a meno che non migliorasse il risultato finale. Eppure uno potrebbe essere trascinato in giro e perdere molto tempo a causa dei clienti che cambiano idea, dei colleghi che causano bug che ti vengono assegnati e ritardano il tuo lavoro, ad esempio, e non semplicemente perché avevi bisogno di un po 'più di ricerca in anticipo per sapere davvero cosa stavi facendo.
Quando inizi a piegare le regole e fare eccezioni per quale tipo di orario di lavoro dovrebbe essere pagato e quale dovrebbe essere gratuito, può essere facile eventualmente trarne vantaggio. Il tempo è la metrica più semplice da utilizzare per il pagamento. Ti libera da molte responsabilità complesse, che potrebbero sembrare irresponsabili, ma ti protegge dall'essere trascinato e dal fatto che l'irresponsabilità del cliente porti a una riduzione degli stipendi.
Nel mio caso, sarebbe senza speranza se non potessi pagare per aver seguito la strada sbagliata, dato che lavoro spesso su cose del genere:
... cercando di battere un algoritmo di suddivisione Catmull-Clark di quasi 40 anni che è stato radicato nel settore e migliorato ripetutamente da aziende come Microsoft e Pixar cercando di fornire risultati più intuitivi pur essendo competitivo quanto queste enormi aziende velocità-saggio.
Il 95% delle volte, in questi casi, sto percorrendo la strada sbagliata, tornando costantemente alla lavagna dopo fallimento dopo fallimento dopo fallimento. Se non potessi pagare per i miei fallimenti, sarei già senzatetto. Vedo più della metà del mio lavoro come ricerca, quando nessuno ha mai provato queste cose prima d'ora, e non c'è modo di trovare l'approccio perfetto per affrontare una soluzione al primo tentativo (forse il 20 ° tentativo). Per me l'obiettivo non è mai stato quello di riuscire al primo tentativo, ma di fallire il prima possibile, con ogni fallimento dopo fallimento che fornisce alcuni indizi su quale potrebbe essere quella soluzione corretta, che potrebbe effettivamente essere in grado di cambiare il mondo.
Non tutti potrebbero lavorare in un'area così ad alta intensità di ricerca e sviluppo in cui i clienti vogliono e si aspettano che tu possa battere le tecniche più consolidate là fuori semplicemente perché stai iniziando un nuovo progetto, ma per me la programmazione non è mai abbastanza ordinaria, non importa come una soluzione semplice e consolidata è. Il modo in cui progettate e integrate le parti sarà ancora unico, sempre una qualche forma d'arte in sé che produce pro e contro unici, non meccanici, non perfettamente scientifici, altrimenti i robot potrebbero farlo. Quindi penso che inevitabilmente dovremo sempre pagare per percorrere alcune strade sbagliate qua e là, altrimenti potremmo trarre profitto solo dal lavoro più ordinario che abbiamo già fatto cento volte per il quale applichiamo esattamente lo stesso soluzione ogni volta, nel qual caso dovremmo pagare per premere il pulsante copia e incolla.
imprevedibilità
Un'altra cosa è che la programmazione è sempre dura, imprevedibile, mai del tutto ordinaria. Non è come la consegna della pizza che è routinaria, dove si può spiegare tutto tranne qualcosa come un incidente d'auto (purtroppo una volta ho lavorato sotto un capo che ha equiparato le stime del programmatore alle stime della consegna della pizza e ho pensato che l'unico lavoro che stavamo effettivamente facendo fosse scrivere) . Sta imparando sul sito, sempre - non riesco a immaginare che diventerà mai completamente di routine a meno che qualcuno in realtà non mi abbia pagato ripetutamente per implementarlo più e più volte. Ci sarà sempre qualche sperimentazione e apprendimento in corso lì, e finché non è eccessivo, non c'è bisogno di sentirsi in colpa per questo.
Ho spesso sognato di diventare un contadino o qualcosa del genere solo per poter trovare molti più movimenti di routine nel mio lavoro, non sempre spingendo i confini delle mie conoscenze esistenti. Invece provo a compensare rendendo la mia vita fuori dal lavoro il più normale e il più banale possibile, per aggiungere un po 'di prevedibilità e movimenti di routine da qualche parte per motivi di sanità mentale, il che mi rende un annoiato tra le persone che vogliono trovare eccitazione nelle loro vite al di fuori di lavoro - ne trovo abbastanza al lavoro.
Sta parlando di imparare cose nuove, non di lavorare sulla soluzione sbagliata.
Lavorare su una soluzione sbagliata significa imparare cose nuove, no? Sapevi che era una soluzione sbagliata quando hai iniziato, o hai continuato a lavorarci costantemente anche dopo aver saputo che era irrimediabilmente sbagliato? Spero non sia quest'ultimo. Spesso il processo di apprendimento avviene attraverso errori. È il miglior insegnante. La strategia più efficace che ho trovato è semplicemente commettere errori il più presto possibile, per scoprire che sono, in effetti, errori di progettazione il più presto possibile prima di impegnare tutto per loro e sposare tali soluzioni, poiché l'unica costante che posso contare e prevedere con quasi il 100% di certezza è che verranno commessi errori. Sono costosi solo se vengono scoperti molto tardi.