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


44

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 mi esaurisco). In altre parole, se mi trovo nella zona a lavorare per completare una funzione, non mi fermerò finché non lo avrò fatto. Se è un bug su cui sto lavorando, questo effetto è ancora più pronunciato ... Non mi fermerò fino a quando non sarà risolto, o per lo meno capito. Anche se lavoro da un laptop e ho una VPN e potrei facilmente andare a casa e riprendere il lavoro più tardi quella sera, questo fatto non mi aiuta a lasciare il lavoro ... è come se avessi paura di morire prima di trovare il bug .

Faccio fatica a spiegarlo ai membri della famiglia che non riescono a capire perché non torno mai a casa dal lavoro nello stesso momento e qualche volta torno a casa alle 23:00. Anche i dirigenti ne sono rimasti sconcertati e ho notato che la maggior parte dei miei colleghi non ha problemi a lavorare le stesse ore ogni giorno.

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


4
Lavori con il tipo sbagliato di colleghi.
sabato

12
non se hanno una famiglia di cui occuparsi.
eiefai,

14
Lavorare fino alle 10-11 PM è stupido, anche se puoi. L'assunzione moderata di vino fa bene. Perché non impari a goderti la vita?
Giobbe

1
Non puoi saltare il Grand Canyon in due salti più brevi. Ha senso atterrare su un punto stabile, qualunque sia il tempo necessario, tenendo conto dei vincoli della vita pratica e sana.
DarenW,

1
@Job: Cosa c'è che non va nel goderti il ​​lavoro?
configuratore

Risposte:


36

Mi succede sempre. Sarai nella zona a scrivere codice e noterai l'orologio ... è ora di tornare a casa, ma poi ti dici "bene, non appena avrò fatto X". Quindi la prossima cosa che succede è ... "beh, non appena avrò fatto X + Y".

Per contrastare questo, ho inserito una nota nel codice che dice "INIZIA QUI" e mi lascio un post-it di ciò su cui stavo lavorando e di qualsiasi chiave fosse importante per farlo.

La linea di fondo è che il programmatore in me ADORA quando ciò accade, ma è importante bilanciarlo e non lasciarlo sfuggire di mano, soprattutto se hai una famiglia.


4
+1 perché è quasi esattamente quello che faccio. Post-It e tutto il resto. Anche quando sono nella zona, mi trascino ancora fuori perché la famiglia è la massima priorità.
Gary Rowe,

2
Totalmente anche quello che faccio. Rilascia un commento nel tuo codice e poi decommentalo in modo che non venga compilato (se la tua lingua è compilata). Inoltre, mi aiuta davvero a fare qualcosa di REALE con le mie mani a volte, .. a volte non c'è niente di meglio per la costituzione di un po 'di lavoro manuale.
Stimul8d

10

Penso che questo sia un comportamento normale, lo stesso qui, e il modo migliore per gestirlo NON è di 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?


+1, lo faccio specificatamente per evitare di lasciare che il lavoro eclissi il mio tempo ..
Izkata,

10

In effetti lo riconosco. Posso ossessionarmi per un problema tutta la notte fino a quando non devo arrendermi, sfinito e frustrato. Nebbia cerebrale .

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

Ciò che ho imparato da tutto ciò è che non ha senso lavorare tutti i vicini poiché il cervello è molte volte più efficace quando è ben riposato ed energizzato. Almeno per me, ma sospetto che sia lo stesso per tutti.

Vedi anche ritmo sostenibile e marcia della morte .


Ho trovato anche questo, il che mi permette di lasciar andare le cose più facilmente perché so che probabilmente mi approverò più efficacemente dopo una buona notte di sonno.
Nemi,

Questo è assolutamente vero. La cosa che ti fa lavorare attraverso la nebbia del cervello è la paura che non sarai in grado di tornare.
benzado,

9

la programmazione, in particolare il debug, consuma molta memoria a breve termine. fermarsi prima di aver finito svuota la cache e spreca molto tempo a tornare dove eri.

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

una cosa che aiuta è prendere appunti mentre lavori e quando ti fermi prendi nota della prossima cosa da fare


3
Totalmente d'accordo, cancellare la cache è inefficiente, fermarsi è un ultimo e costoso ricorso. La mia ragione principale per fermarmi è la "sindrome dell'ultimo treno" .
Orbling

1
Mentre il cambio di attività è dannoso per il tuo lavoro, uno deve pesarlo contro il tuo cervello spegnendolo gradualmente durante la sera e nulla di utile viene fatto. Se vuoi lavorare fino a tardi, fai almeno qualche pausa seria (che include cibo).
Martin Wickman,

7

Sono sorpreso che questo non sia stato ancora menzionato.

Se hai bisogno di fermarti, ferma il tacchino freddo, a metà linea, nel 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. Magari fai un breve / * commento * / sull'oggetto su cui hai lavorato prima di quella riga.

Salva il tuo lavoro ed esci.

Quando torni il giorno dopo, sarai come "oh, giusto, ero nel mezzo di X a causa di Y" e non dovrebbe essere troppo difficile rientrare in quello su cui stavi lavorando.

L'ultima cosa su cui ho lavorato (un'applicazione per hobby minore per uso personale), l'avrei fatto quando ho notato che le ore volano mentre cercavo degli insetti. Quando arrivava troppo tardi, avrei pensato di "rovinare tutto" e salvare ed uscire, gli errori di compilazione sarebbero dannati. Quindi quando lo riaprirei, sarei come "errori? Wtf?! 1 /", che si trasformerebbe in "oh sì, stavo cercando di provare perché questo metodo stava gettando un'eccezione".

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


1
Ma per quanto riguarda la paura che morirò e il bug non verrà mai risolto?
JoelFan,

2
@SpashHit È una questione di disciplina personale, ma non dovresti nemmeno pensarci: salva e chiudi, fatto in un millesimo di secondo e non guardare mai indietro. Ciò che accadrà è che durante i periodi di inattività, il tuo subconscio esplorerà strade che vuoi provare la prossima volta che vai al lavoro, e ciò che fa questo metodo "tacchino freddo" è, quando torni al tuo codice, il tuo cervello può scivola facilmente e immediatamente nella mentalità esatta di dove ti eri interrotto, con l'aggiunta di nuove idee nuove.
Corey,

3
E se il bug non venisse mai corretto? La domanda dovrebbe essere "Che cosa succede se muori e i tuoi figli crescono risentendoti per essere sempre assente?"
Christoffer Hammarström,

1
@SpashHit - Allora sarai morto e non dovresti preoccuparti del bug. Seriamente, devi avere una prospettiva al riguardo.
Jon Hopkins,

4

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

Ho attraversato un periodo in cui ho avuto lo stesso problema. Ho lavorato tutto il tempo e non mi sarei fermato finché non sono arrivato 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 in anticipo e spesso. Apporta piccole modifiche in modo che un punto di arresto sia più vicino!
  • Usa GTD. Lavorare in compiti ti costringe a scomporre il tuo lavoro in blocchi più piccoli, in modo da avere più punti di arresto.
  • Usa e segui il tuo calendario. Penna (non matita) in eventi o sonno o cibo o altro nel tuo programma e attenersi ad esso. Imposta i promemoria in anticipo in modo da poter essere consapevole che devi arrivare presto a un punto di arresto.

1
Penso che sia forse il peggior modo di lavorare. Per niente efficiente, piuttosto causa di esaurimenti, stupidi errori e stress.
Martin Wickman,

Lo sto promuovendo a tuo vantaggio trovando modi per migliorare il tuo modo di lavorare mentre lavori, in modo da poter tornare a casa prima. Sono molto contrario a lavorare fino a tardi, il che provoca assolutamente esaurimento. Lavorare regolarmente 40 ore alla settimana non dovrebbe farti bruciare, però. Se lo fa, penso che indichi un problema più grande. Grazie per il feedback, però.
Ryan Hayes,

4

Avevo una piccola applicazione che riavviava il mio computer con un timer. L'avrei impostato ogni volta che avrei dovuto farlo. Il mio computer ha impiegato 5 minuti per avviarsi, il che è stato abbastanza un'interruzione del mio flusso di lavoro per convincermi a tornare a casa. Ho combinato questo con assicurandomi che la mia vita fuori dal lavoro fosse piena di attività che ho difficoltà a smettere e sono ansioso di iniziare, come lo era la mia vita lavorativa. Ci sono voluti alcuni sforzi per trovare tali attività, ma ne è valsa la pena.


3

Penso che a volte capiti a tutti i programmatori. Penso che sia causato dalla paura. Temi che il giorno dopo dimenticherai completamente quello che stai facendo ora. Quindi dovresti dedicare molto tempo a esaminare cose che hai già esaminato per scoprire cosa hai lasciato a metà. Questo è molto inefficiente. Nella mia esperienza, molti programmatori odiano l' inefficienza.

Per combattere questo, prendi nota di dove ti trovi e di cosa stai facendo per il giorno successivo, quindi corrompi te stesso con qualcosa che non è al lavoro per farti muovere.


2
Con molti programmatori ho visto che la paura è giustificata, poiché dimenticano e sì, ciò significa un recupero. L'inefficienza è un anatema per i programmatori. :-)
Orbling

1
@Orbling: sono completamente d'accordo. Non ho mai detto che fosse una paura ingiustificata.
Giovanni,

@ John Aye, ero d'accordo con il tuo punto, ti avrei votato, ma sono in suffragio per il giorno.
Orbling

@Orbling: Beh, per favore torna domani! :-)
Giovanni,

@Giovanni: fatto. :-)
Orbling

3

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

Uno strato di mattoni può far cadere un altro mattone in un solo minuto e può fermarsi in qualsiasi momento +/- un minuto e riprendere da dove il lavoro è stato interrotto. Semplici passaggi, ciclo di tempo breve. Nel commercio al dettaglio, è un minuto o due per cliente. Un massaggiatore lavora su un ciclo temporale di un'ora o due e tutto ciò che è stato realizzato al mattino è indipendente dagli appuntamenti per il pomeriggio. Un cliente può correre nel tempo o presentarsi in anticipo, ma è ragionevole aspettarsi di farlo in un determinato momento, dare o impiegare 10 o 20 minuti.

Far volare un assolo di aereo in tutto il mondo per stabilire un nuovo record mondiale - non è un arresto e iniziare un tipo di attività. Atterrare ogni ora o due per uno spuntino o scatenarsi 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 cache 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 in un momento. L'incremento di tempo naturale che non è possibile interrompere senza perdita è probabilmente da un'ora a dieci circa, YMMV, e ci sono molti punti di arresto più piccoli più piccoli lungo la strada in cui sarebbe tollerata una perdita di cache mentale e maggiore punti di arresto in cui l'attività è veramente eseguita.

Certo, i nostri corpi si stancano e bisogna solo fermarsi prima di fare più male che bene. Si potrebbe applicare il vecchio detto "la morte è il modo naturale di dirti di rallentare".


2

Sì, ho anche questo. Beh, in realtà come sono invecchiato è meno pronunciato.

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


2

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


2

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

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

  • Se lascio il lavoro alle 22:00, mio ​​figlio sarà già a letto quando torno a casa e non gli avrò dato un abbraccio o non l'avrei visto sfoggiare le cose che ha imparato quel giorno. E mia moglie sarà irritabile perché ha dovuto farsi il culo tutto il giorno senza aiuto.

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

Tieni presente, tuttavia, che il lavoro che svolgi alle 21:00 sarà probabilmente di qualità inferiore rispetto a quello che svolgi alle 9:00. Non sottovalutare il vantaggio di essere ben riposato e di avere una mente chiara.


1

Devi tenerlo sotto controllo. Mi sembra che attualmente non sei in grado di suddividere il tuo lavoro in pezzi gestibili o di stimare quanto tempo impiegherà qualcosa. Quindi lavori fino al termine. Forse sei troppo competitivo o hai paura di non riuscire a svolgere il tuo lavoro in tempo.

Questo è un circolo vizioso e non ti aiuterà a lungo termine. Potrebbe portare a stanchezza, esaurimento, ...

Quindi esercitati a suddividere il tuo lavoro in attività realizzabili più piccole. Prova a stimare quanto tempo impiegherà ogni attività. Nessun compito dovrebbe richiedere più di un paio d'ore. Concediti un sacco di tempo per farlo bene. Concediti il ​​tempo per le pause. E concediti il ​​tempo di divertirti, imparare, apprezzare e sperimentare altri aspetti della vita, piuttosto che programmare.


Trovo che funzioni, ad eccezione del debug quando si sta rivelando un bug testardo.
Orbling

1

Ho un punto di arresto - sono circa all'una e mezza del mattino. Allora posso rimanere sveglio, ma non c'è modo di fare alcun lavoro di alcun tipo. E non varrò nulla il giorno dopo a meno che non dorma.

Quindi, ho imparato a smettere di lavorare dopo le 11 e andare a letto. In questo modo sono fresco il giorno successivo e posso lavorare costantemente durante la settimana.


1

Penso che sia la natura del programmatore. A volte potresti dover partire presto prima di iniziare a lavorare su un nuovo problema. Con tutto il tempo extra che hai dedicato, non devi sentirti in colpa. Quindi devi stare attento a non pensarci troppo. Preparati ad affrontarlo per prima cosa la mattina dopo.


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.



0

È naturale, ma penso che dovrebbe essere combattuto. In genere, mi spingo molto oltre il punto in cui sto generando un codice di alta qualità e finisco per passare molto tempo al mattino a sistemare cose che sembravano buone quando ero troppo stanco per pensare in modo corretto.

Di solito posso dire quando sto diventando irrazionale al riguardo, ma aiuta avere qualcuno in giro a schiaffeggiarti se non ascolti i segnali di avvertimento.


0

Sì, lo faccio sempre.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.