Cosa fare riguardo alla "sindrome del punto di arresto"?

43

Ho notato un comportamento in me stesso che chiamo "sindrome del punto di arresto" ... significa che non posso smettere di lavorare fino a quando non raggiungo un "punto di arresto" (o divento esausto). In altre parole, se sono nella zona che lavora per ottenere una funzionalità completata, non mi fermerò finché non avrò finito. Se si tratta di un bug su cui sto lavorando, questo effetto è ancora più pronunciato ... Non mi fermerò finché non sarà risolto, o per lo meno compreso. Anche se lavoro da un laptop e ho VPN e potrei facilmente andare a casa a riprendere il lavoro più tardi quella sera, questo fatto non mi aiuta a lasciare il lavoro ... è come se temessi che morirò prima di trovare il bug .

Ho difficoltà a spiegarlo ai membri della famiglia che non riescono a capire perché non vengo mai a casa dal lavoro allo stesso tempo ea volte torno a casa alle 23:00. Anche i gestori sono stati sconcertati da questo, e ho notato che la maggior parte dei miei colleghi non ha problemi a lavorare ogni giorno alle stesse ore.

Qualcun altro ha questo problema? Dovrei essere preoccupato per questo e / o provare a cambiarlo? Se sì, come?

    
posta JoelFan 10.12.2010 - 16:14
fonte

19 risposte

35

Mi capita sempre. Sarai nella zona che codifica e noterai l'orologio ... è ora di tornare a casa, ma poi ti ripeti: "beh, appena ho finito X". Quindi la prossima cosa che succede è ... "beh, non appena ho finito X + Y".

Per combattere questo, ho inserito un appunto nel codice che dice "INIZIA QUI" e mi lascio un post-it su cosa stavo lavorando e su quale chiave fosse importante per farlo.

La linea di fondo è che il programmatore in me AMA quando ciò accade, ma è importante bilanciare questo e non lasciarlo sfuggire di mano, specialmente se hai una famiglia.

    
risposta data 10.12.2010 - 16:22
fonte
10

Penso che questo sia un comportamento normale, lo stesso qui, e il modo migliore per gestirlo è NON iniziare un nuovo punto di lavoro se non sembra che tu possa completare fino alla tua partenza programmata. Hai sicuramente abbastanza lavoro da fare per riempire quei 50 minuti, vero?

    
risposta data 10.12.2010 - 16:17
fonte
9

In effetti, lo riconosco. Posso ossessionare un problema tutta la notte fino a quando non mi devo arrendere, esausto e frustrato. Brain Fog .

La cosa divertente è che di solito riesco a risolvere il problema subito quando torno al lavoro al mattino. Immagino sia perché il mio cervello funziona molto meglio dopo un buon sonno.

Ciò che ho imparato da tutto questo è che non c'è nessun punto nel lavorare tutte le notti poiché il cervello è molte volte più efficace quando è ben riposato ed energizzato. Almeno per me, ma sospetto che sia uguale per tutti.

Vedi anche ritmo sostenibile e marcia della morte .

    
risposta data 10.12.2010 - 16:49
fonte
9
La programmazione

, in particolare il debug, consuma molta memoria a breve termine. fermarsi prima che tu abbia finito cancella il cache e perdi un sacco di tempo per tornare a dove ti trovavi.

quindi è naturale, efficiente e non è qualcosa da "combattere", anche se dovrebbe essere pianificato.

una cosa che aiuta è prendere appunti mentre lavori, e quando smetti di prendere nota della prossima cosa da fare

    
risposta data 10.12.2010 - 17:34
fonte
7

Sono sorpreso che questo non sia stato ancora menzionato.

Se hai bisogno di fermarti, allora ferma tacchino freddo, a metà linea, nel bel mezzo di qualcosa di facile e ovvio. Il tuo IDE probabilmente metterà alcune linee rosse e gialle ovunque dicendo che c'è un errore, va bene. Forse fai un breve / * commento * / sull'articolo su cui hai lavorato prima di quella linea.

Salva il tuo lavoro ed esci.

Quando tornerai il giorno dopo, sarai tipo "oh, giusto, ero nel mezzo di X a causa di Y" e non dovrebbe essere troppo difficile tornare a quello a cui stavi lavorando .

L'ultima cosa su cui ho lavorato (piccola applicazione per hobby per uso personale), l'avrei fatto quando ho notato che le ore volavano quando stavo cacciando insetti. Quando è arrivato troppo tardi, pensavo "scopare questo" e salvare ed uscire, errori di compilazione essere dannato. Poi quando lo aprirò di nuovo, sarei tipo "errori? Wtf?! 1 /," che si trasformerebbe in "oh sì, stavo cercando di verificare perché questo metodo stava generando un'eccezione."

È stato sorprendentemente efficiente e ho intenzione di utilizzare questa tecnica d'ora in poi.

    
risposta data 13.12.2010 - 00:05
fonte
4

È sicuramente un modo molto efficace per lavorare se la tua vita ruota attorno al lavoro.

Ho passato un periodo in cui avevo lo stesso problema. Lavoravo tutto il tempo e non mi fermavo finché non arrivavo a un punto in cui tutto era legato e potevo sedermi la prossima volta con una lavagna completamente pulita. Sfortunatamente, se non controllato, può ridurre il tempo con la famiglia, gli amici e altri hobby.

Ecco alcuni suggerimenti che mi hanno aiutato a focalizzare la mia abitudine in qualcosa di un po 'più gestibile:

  • Fai il check-in presto e spesso. Apporta modifiche più piccole in modo che il punto di arresto sia più vicino!
  • Utilizza GTD. Lavorare in attività ti costringe a suddividere il tuo lavoro in blocchi più piccoli, in modo da avere più punti di arresto.
  • Usa e attacca al tuo calendario. Penna (non appuntare) negli eventi o dormire o cibo o qualsiasi altra cosa nel tuo programma e attenersi ad essa. Imposta promemoria anticipatamente in modo che tu possa essere consapevole del fatto che è necessario arrivare a un punto di arresto al più presto.
risposta data 10.12.2010 - 16:22
fonte
4

Avevo una piccola applicazione che riavviava il mio computer su un timer. L'avrei impostato per quando dovevo essere fatto da. Il mio computer ha impiegato 5 minuti per avviarsi, il che è stato abbastanza per interrompere il mio flusso di lavoro per convincermi ad andare a casa. Ho combinato questo con il fare in modo che la mia vita al di fuori del lavoro fosse piena di attività che ho difficoltà a fermarmi, e sono ansioso di iniziare, come era la mia vita lavorativa. Ci sono voluti alcuni sforzi per trovare tali attività, ma ne è valsa la pena.

    
risposta data 13.12.2010 - 05:10
fonte
3

Penso che a volte capita a tutti i programmatori. Penso che sia causato dalla paura. Paura che il giorno dopo dimenticherai completamente quello che stai facendo ora. Poi dovresti passare un sacco di tempo a esaminare cose che hai già passato per scoprire cosa hai lasciato a metà. Questo è molto inefficiente. Nella mia esperienza, la maggior parte dei programmatori odia inefficienza.

Per contrastare ciò, prendi nota di dove sei e cosa stai facendo per il giorno successivo, quindi prenditi in giro con qualcosa che non è al lavoro per farti muovere.

    
risposta data 10.12.2010 - 19:11
fonte
3

È la natura della programmazione lavorare su un ciclo temporale più lungo rispetto a quello che fa la maggior parte delle altre persone.

Uno strato di mattoni può plopare un altro mattone in appena un minuto e può fermarsi in qualsiasi momento +/- un minuto e riprendere da dove il lavoro è stato interrotto. Semplici passi, breve tempo. Nella vendita al dettaglio, è un minuto o due per cliente. Un massaggiatore lavora su un ciclo di un'ora o due, e qualunque cosa sia stata compiuta al mattino è indipendente dagli appuntamenti per il pomeriggio. Un cliente può presentarsi nel tempo o presentarsi in anticipo, ma è ragionevole aspettarsi che venga eseguito in un dato momento da 10 o 20 minuti.

Per pilotare un aereo da solo in tutto il mondo per stabilire un nuovo record mondiale, non è una sosta e inizia un po 'di attività. Atterrare ogni ora o due per uno spuntino o giocare su una spiaggia rende lo sforzo molto meno impressionante. L'incremento minimo di tempo è l'intero viaggio, qualunque sia il numero di giorni.

È comune per uno sviluppatore di software avviare un'attività, creare la memoria mentale di fatti e dettagli, trovare il bug o vedere come aggiungere una nuova funzionalità e conservare quella cache di memorie a breve termine fino a quando non viene eseguita con la codifica . Non puoi fermarti a un centesimo di ritardo. L'incremento naturale del tempo che non è possibile rompere senza perdita è probabilmente ovunque da un'ora a dieci o giù di lì, YMMV, e ci sono diversi punti di arresto più deboli più piccoli lungo la strada dove una certa perdita di cache mentale sarebbe tollerata così come maggiore punti di arresto in cui il compito è veramente fatto.

Certo, i nostri corpi si stancano e uno deve fermarsi prima di fare più male che bene. Il vecchio detto "la morte è il modo in cui la natura ti dice di rallentare" potrebbe applicarsi.

    
risposta data 13.12.2010 - 17:58
fonte
2

Sì, anch'io ho questo. Beh, in realtà, visto che sono diventato più vecchio, è meno pronunciato.

Ho anche notato che alla fine della giornata, e quando sono stanco, faccio più errori. Al loro rientro al lavoro il giorno dopo la soluzione diventa ovvia e devo riscrivere un carico di codice. Tuttavia, ci vuole una frazione del tempo come lo era il giorno prima.

    
risposta data 10.12.2010 - 16:17
fonte
2

Ho avuto questo problema fino a quando ho ottenuto cani (due). Devo essere a casa entro un certo tempo o pulire l'urina, potrebbe non essere quello che stai cercando, ma funziona come un strong motivatore. Sono anche d'accordo sul fatto che trovo quasi sempre la soluzione ovvia al mattino.

    
risposta data 10.12.2010 - 18:33
fonte
2

Se hai una famiglia, questo è un gioco da ragazzi.

  • Se esco dal lavoro alle 17:00, il codice sarà esattamente come l'ho lasciato quando entro domani.

  • Se esco dal lavoro alle 10 di sera, mio figlio sarà già a letto quando torno a casa e non gli avrò dato un abbraccio né l'ho visto esibire alcuna delle cose che ha imparato quel giorno. E mia moglie sarà irritabile perché ha dovuto lavorare il culo tutto il giorno senza aiuto.

Ma se sei single e non sei eccessivamente interessato alla "scena sociale", allora impazzisci!

Ricorda però che il lavoro che fai alle 21.00 sarà probabilmente di qualità inferiore rispetto al lavoro svolto alle 9:00. Non sottovalutare il vantaggio di essere ben riposati e avere una mente chiara.

    
risposta data 14.12.2010 - 00:00
fonte
1

Devi tenerlo sotto controllo. Mi sembra che al momento non sia possibile suddividere il tuo lavoro in pezzi gestibili o non è possibile stimare quanto tempo ci vorrà. Quindi lavori finché non è finito. Forse sei troppo competitivo o hai paura di non riuscire a portare a termine il tuo lavoro in tempo.

Questo è un circolo vizioso e non ti aiuterà a lungo termine. Potrebbe portare all'esaurimento, al burnout, ...

Quindi esercitati a suddividere il tuo lavoro in compiti gestibili più piccoli e gestibili. Cerca di stimare quanto tempo impiegherà ogni attività. Nessuna attività dovrebbe richiedere più di un paio d'ore. Datti un sacco di tempo per farlo bene. Datti tempo per le pause. E concediti il tempo di goderti, imparare, apprezzare e sperimentare altri aspetti della vita, piuttosto che programmare.

    
risposta data 10.12.2010 - 17:35
fonte
1

Ho un punto di arresto: è a circa 1:30 del mattino. Posso restare sveglio anche allora, ma non c'è modo che io possa fare qualsiasi lavoro di qualsiasi tipo. E non varrò nulla il giorno dopo a meno che non dormissi.

Quindi ho imparato a smettere di lavorare dopo le 11 e andare a letto così sono fresco il giorno dopo e posso lavorare costantemente per tutta la settimana.

    
risposta data 10.12.2010 - 17:55
fonte
1

Penso che sia la natura del programmatore. A volte potresti dover andare via prima di iniziare a lavorare su un nuovo problema. Con tutto il tempo in più che hai messo, non c'è bisogno di sentirsi in colpa. Quindi devi stare attento a non pensarci troppo. Preparatevi ad affrontarlo per prima cosa la mattina dopo.

    
risposta data 10.12.2010 - 19:31
fonte
1

È fantastico che ti piaccia il tuo lavoro. Ma è anche molto triste il modo in cui così tante persone qui sembrano condurre vite che ruotano attorno al lavoro.

    
risposta data 10.12.2010 - 20:26
fonte
1

No, non sei solo. Ho lo stesso problema. Potresti voler controllare le risposte nella domanda simile che ho chiesto qualche tempo fa: Cosa fare quando l'attività di programmazione diventa un problema ?

    
risposta data 11.12.2010 - 10:25
fonte
0

È naturale, ma penso che dovrebbe essere combattuto. In genere, spingo oltre il punto in cui sto generando codice di alta qualità, e alla fine ho passato molto tempo a sistemare cose che sembravano buone quando ero troppo stanco per pensare in modo diretto.

Di solito riesco a capire quando sto diventando irrazionale a riguardo, ma aiuta qualcuno a chiederti schiaffi se non rispetti i segnali di pericolo.

    
risposta data 10.12.2010 - 16:46
fonte
0

Sì, lo faccio sempre.

È interessante notare che i migliori manager con cui ho lavorato erano sempre pronti a dirmi di andare a casa quando ho esagerato.

    
risposta data 13.12.2010 - 13:20
fonte

Leggi altre domande sui tag