2016-04-20 06:53:37 +0000 2016-04-20 06:53:37 +0000
305
305

È normale fare molte pause in un lavoro di programmazione?

Attualmente ho uno stage e sono stato assegnato ad un unico progetto e a quel progetto da solo. Anche se di solito sono in anticipo di diverse settimane sulla tabella di marcia e mi concentro molto sul mio lavoro, a volte mi sento come se non riuscissi a concentrarmi sul lavoro. A volte navigo su internet alla ricerca di argomenti interessanti e casuali per rilassarmi, in modo da poter tornare al lavoro qualche ora dopo.

Anche se so che si suppone che si debba sempre lavorare al lavoro, spesso mi sento come se fosse quasi insopportabile lavorare attivamente per 8 ore al giorno senza sosta. In altre occasioni, mi ispiro e lavoro per diversi giorni di fila facendo grandi progressi, ma in altri giorni sarà lento.

Il mio manager sembra essere impressionato da quanto velocemente sembro lavorare fino ad ora e da quanti dettagli metto nel mio lavoro. Lo stesso vale per i miei colleghi. Tuttavia, ritengo che questa sia una pessima scusa per lavorare come lavoro.

Allora, in che misura è considerato “normale” non essere completamente concentrato sul suo lavoro? O non è considerato affatto normale? Sono solo pigro e inefficiente?

Edit: Mi rendo conto che la domanda potrebbe essere troppo ampia. Quindi cercherò di aggiungere quanto segue per restringere il campo: Quale potrebbe essere l'approccio migliore per me per diventare più efficiente?

Risposte (13)

218
218
218
2016-04-20 12:24:45 +0000

In un turno di 8 ore di lavoro, si dovrebbero fare almeno due pause di 15 minuti e una pausa pranzo di 30-60 minuti. Le pause di 15 minuti sono attive, la pausa pranzo più lunga non lo è.

Inoltre, in uno dei vostri commenti menzionate che il vostro lavoro comporta la scrittura di un codice. La programmazione richiede pause mentali per essere efficace. La programmazione è molto cerebrale; non è un lavoro in cui si può seguire senza pensare un modello di routine. È necessario riposare la mente di tanto in tanto - specialmente quando si passa da un compito importante a un altro. Trovo che se mi allontano da un problema difficile per qualche minuto, quando torno, sono spesso in grado di attaccarlo in modi nuovi/migliori che non avrei pensato se avessi fissato lo schermo in attesa dell'ispirazione.

Ecco cosa mi piace fare. Oltre a rilassarmi durante la mia pausa pranzo di un'ora, mi concedo 15 minuti al giorno per leggere le notizie. Non ho un orario fisso, ma ogni volta che sento di aver bisogno di una pausa. Cerco su google news e scelgo due o tre titoli che mi interessano di più. Dopo aver finito quegli articoli, sono circa 15 minuti. Inoltre mi concedo un'altra pausa di circa 15 minuti per prendere l'acqua, usare il bagno, fare il cretino online, giocare con il mio telefono, qualsiasi cosa. La seconda pausa non è alla mia scrivania. Inoltre, se durante il giorno devo riempire la mia bottiglia d'acqua, o fare una breve sosta al bagno, o anche solo alzarmi per 5 minuti e sgranchirmi le gambe alla scrivania, non mi preoccupo.

Scrivere codice è un lavoro mentalmente impegnativo che la maggior parte delle persone non sa come fare, o anche come imparare a fare, e ha un grande impatto sul business. Generalmente i manager saranno comprensivi delle pause occasionali. In un negozio di programmazione in cui lavoravo, l'intero staff si prendeva una pausa giornaliera in cui condivideva gli spuntini e leggeva / parlava del giornale (quando i giornali erano una cosa). Sei giovane e sei uno stagista, quindi capisco che devi fare una buona impressione. Quindi, ovviamente, non ne abusate. Ma se fai qualche ragionevole pausa di 10-15 minuti al giorno, e una pausa pranzo, dovrebbe andare bene.

131
131
131
2016-04-20 13:40:11 +0000

A volte non riesco proprio a fare niente.

Certo, vengo in ufficio, faccio il putter, controllo la mia posta elettronica ogni dieci secondi, leggo il web, faccio anche qualche lavoretto senza cervello come pagare la bolletta dell'American Express. Ma rientrare nel flusso di scrittura del codice non succede.

These le crisi di improduttività durano di solito un giorno o due. Ma ci sono stati momenti nella mia carriera di sviluppatore in cui sono andato per settimane senza riuscire a fare nulla. Come si dice, non sono in flusso. Non sono nella zona. Non sono da nessuna parte.

Questo è un estratto da un blog post di Joel Spolsky, un'icona minore nel mondo dell'ingegneria del software. Ha avuto una carriera piuttosto diversificata, ha fondato una società di software di successo e i suoi blog sono fonte di ispirazione per molti. Ha anche co-creato un sito web di cui potreste aver sentito parlare, chiamato Stack Overflow ;)

E sembra avere problemi con l'esatto problema che descrivete. E lo faccio anch'io, di tanto in tanto. Forse è normale per i programmatori. O forse per le professioni altamente creative in generale; posso immaginare che gli scrittori abbiano problemi simili.

Probabilmente c'è scritto molto di più sul tema della produttività dei programmatori. Ne legga un po’. Potreste trovare consigli utili, o riconoscere la stessa cosa in altri. La cosa più importante è probabilmente quella di fare del proprio meglio, ma non siate troppo duri con voi stessi. È improbabile che il senso di colpa aiuti:)

61
61
61
2016-04-20 08:55:12 +0000

Prendere una pausa occasionale è abbastanza normale. Lavorare completamente concentrati per 8 ore di fila senza battere ciglio sembra quasi impossibile.

Per esempio, nel mio paese, è comunemente accettato che un fumatore possa andare a fumare due volte al giorno durante l'orario d'ufficio. Altri, come lei, potrebbero navigare un po’ su internet se hanno bisogno di schiarirsi le idee.

Tuttavia, lei afferma che la sua pausa può essere “un paio d'ore”, il che non è normale. Allo stesso tempo, dichiarate anche che il manager è soddisfatto del vostro lavoro. Questo suggerirebbe che non vi viene assegnato un lavoro sufficiente a tenervi occupati. O semplicemente non c'è abbastanza lavoro da svolgere, cosa che trovo incredibilmente frustrante, oppure si superano di gran lunga i propri colleghi.

IMO non avere abbastanza lavoro può rendere una giornata molto noiosa, e danneggiare gravemente la propria motivazione. Suggerirei di parlare con un manager per avere abbastanza lavoro da tenervi occupati. Se questo significa che otterrete molto di più rispetto ai vostri colleghi, sarà un vostro vantaggio nella prossima tornata di promozioni o aumenti di stipendio.

Se semplicemente non c'è abbastanza lavoro, potreste voler fare buon uso di questo “tempo extra”. Magari imparate una nuova abilità su internet, fate qualche miglioramento extra non pianificato, o cercate un altro lavoro che sfrutti al meglio il vostro talento.

Tuttavia, se non volete cambiare la situazione, se siete contenti così, e il vostro manager è contento di voi… beh, continuate.

48
48
48
2016-04-20 12:36:15 +0000

Non posso contare le volte in cui sono rimasto bloccato per ore su un problema che è stato risolto cinque minuti dopo aver navigato in rete o aver fatto BSing con un collega. Tuttavia, come ha sottolineato Sobrique, a volte i colleghi possono giudicarti.

Ciò detto, ciò che conta di più è che tu riesca a portare a termine il lavoro. Se hai un buon manager, questo è ciò che conta. Puoi anche avvicinarti a lui o a lei dicendo “ti dispiace se faccio una passeggiata, devo schiarirmi le idee”.

C'è un concetto chiamato “affilare la sega”, che risale fino ai boscaioli. Se la sega era noiosa, il duro lavoro non aveva importanza. Quindi fermare il lavoro per affilare la sega rende il lavoro più efficiente e migliori risultati.

In questo caso, la vostra mente è la sega, e facendo un passo indietro, facendo pause e spezzando il lavoro, vi rendete affilati e meglio in grado di portare a termine il lavoro.

12
12
12
2016-04-20 09:25:09 +0000

Se il tuo manager è impressionato dalla velocità del tuo lavoro, non mi preoccuperei.

Se ti senti ancora inefficiente, allora direi che invece di leggere qualsiasi cosa su internet, leggi cose che sono rilevanti per il tipo di lavoro che fai. In questo modo, le lunghe pause che ti prendi sono davvero solo tempo di sviluppo professionale.

10
10
10
2016-04-20 09:55:44 +0000

È quasi impossibile rimanere concentrati per 8 ore e non è nemmeno benefico per la salute. Oltre a questo, probabilmente sarete più inefficienti se non farete alcuna pausa. Tuttavia, si tenga presente che fare una pausa e poi tornare al lavoro “qualche ora dopo” è di solito oltre i limiti di una normale pausa di lavoro.

Una tecnica che si può cercare di aumentare la propria efficienza, che è la questione principale, è la Tecnica del Pomodoro https://en.wikipedia.org/wiki/Pomodoro_Tecnica ).

8
8
8
2016-04-20 17:11:17 +0000

Come molti dicono giustamente, non ci si aspetta che lavoriate per 8 ore in 8 ore. Tuttavia, poche risposte rispondono alla tua domanda principale che hai posto dopo la modifica:

Quale potrebbe essere l'approccio migliore per me per diventare più efficiente?

Se stai facendo delle pause di ore navigando in Internet, come dici tu, questo va oltre il senso di colpa per il brainlag occasionale o le troppe pause per il fumo.

Immagino che ci sia una ragione principale per cui hai difficoltà a concentrarti:

Di solito sono diverse settimane in anticipo sulla tabella di marcia

Certo, l'intero progetto non è finito, ma la parte che ci si aspetta da te è finita, e lo è anche la parte successiva e quella successiva. Non avere niente di immediatamente significativo su cui lavorare, con le parti su cui dovresti lavorare già fatte in anticipo, ridurrà la tua capacità di concentrazione - se quello che stai facendo non è significativo in questo momento , questo potrebbe impedirti di preoccuparti molto di lavorarci in questo momento.

Il tuo manager ha deciso che dovresti, come stagista, lavorare su un progetto. Questo non sembra essere un progetto sufficiente a riempire il tuo tempo. Inoltre non sembra abbastanza interessante per occupare la maggior parte di una giornata di lavoro.

O:

A) Chiedi di spostare la scadenza in alto.

Non so se hai uno stage retribuito, o come è strutturata la retribuzione, se esiste, e ovviamente se sposti la scadenza in alto corri il rischio di metterti fuori dal lavoro prima se finisci l'unico compito che vogliono darti prima. Se volete che le scadenze siano più ravvicinate, dovreste anche chiedere se voi (e il vostro manager) potreste pianificare un altro progetto se volete lavorare dopo la fine del progetto.

-oppure-

B) Chiedete un secondo progetto su cui lavorare che sia sostanzialmente diverso dal vostro progetto attuale e che potreste sicuramente utilizzare per acquisire esperienza.

Probabilmente l'approccio migliore. Anche in questo caso, chiedete qualcosa di significativamente diverso dal progetto a cui state lavorando. Se non c'è nessun altro progetto all'orizzonte, chiedete qualsiasi lavoro interessante che potreste fare a parte, migliorando gli indici del database o qualsiasi altra cosa. Non dite che non avete lavorato a tempo pieno, ma spiegate che ora avete abbastanza esperienza con il vostro progetto attuale da voler prendere in mano un progetto secondario per ampliare i vostri orizzonti, e che andare avanti con il vostro progetto attuale potrebbe non essere sufficiente a riempire il vostro tempo. Il tuo manager potrebbe chiederti di completare il tuo progetto attuale prima (vedi opzione A), ma si spera che lui o lei vedrà la saggezza nella tua richiesta.

Entrambi gli approcci hanno il potenziale per impressionare il tuo manager se stai cercando di ottenere una posizione permanente nell'azienda quando il tuo tirocinio è finito. Assicuratevi solo di non convincervi a rinunciare a un lavoro se verrete pagati.

6
6
6
2016-04-20 15:04:12 +0000

Altri l'hanno detto, quindi alcune di queste cose si ripeteranno. Io stesso scrivo il codice, e posso dirvi che non c'è modo di stare seduti per otto ore al giorno, scrivendo codice che richiede 2 15s e un pranzo e scrivere qualsiasi codice di qualità per qualsiasi periodo di tempo.

Hai necessario frequenti pause mentali per lasciare che il tuo cervello si rilassi. È molto importante fare queste pause quando “cambiate marcia” e passate da un compito all'altro.

Se non fate pause mentali frequenti, lavorerete invece un giorno di otto ore alla settimana e passerete gli altri quattro giorni a recuperare. Soprattutto dopo i primi mesi. Si combatte una vera e propria resistenza interna e ci si ritrova “noncuranti” perché si è semplicemente esausti.

Dall'altro lato, non si possono passare quattro ore di lavoro e il resto della giornata a navigare Stack Exchange.

Trovo un buon equilibrio intorno alla Tecnica del Pomodoro . Ora penso che la struttura completa della tecnica del Pomodoro sia sciocca nel mondo reale. Ma questo non significa che non possiamo prendere le lezioni apprese dalla tecnica e utilizzarle. Si abbandonerà la maggior parte del tracciamento e della pianificazione e ci si concentrerà invece su un paio di cose fondamentali. Lavorate 25 minuti, poi prendetevi una pausa di 5 minuti completa (alzatevi e allontanatevi dal computer). Per ogni quattro Pomodori si fa una pausa più lunga di 25 minuti (è più lunga del normale, ma trovo che aiuti). Quando si lavora, lavorare. Lavorare al 100%. Quando si fa una pausa, si fa una pausa al 100%. Non riempire le pause con e-mail o compilazioni, e non Alt + Tab su Stack Exchange durante l'orario di lavoro. L'unica cosa che vorrai tracciare sono i pomodorini completi. Questo vi darà una misura della produttività. Vi permetterà anche di sapere quanto tempo vi ci vorrà per certi compiti. Ad esempio, l'aggiunta della funzione due richiederà tre pomodorini. Non si vuole tenere traccia di un'attività per ogni pomodoro o qualcosa del genere, e probabilmente non si vuole tenere traccia delle interruzioni. Quello che vi preoccupa di più è 25 on - 5 off. Assicuratevi di avere un pomodoro “email”. Non volete che il lavoro sia solo di codifica. Volete che il lavoro includa tutto il vostro “lavoro”, anche se quel lavoro sta facendo finta di interessarsi alla conversazione in sala pausa.

5
5
5
2016-04-20 16:18:46 +0000

Poiché le altre risposte non ne parlavano, vorrei aggiungere, che si potrebbe chiedere al proprio manager per compiti non urgenti che richiedono meno potenza/focus cerebrale. Per esempio, scrivere documentazione.

Quindi, quando puoi concentrarti - fai la programmazione e quando il tuo cervello è esausto/è una “giornata del cervello”, lavori sui compiti meno impegnativi.

Anche fare un codice kata nel mezzo è un ottimo modo per imparare/addestrare le tue abilità.

5
5
5
2016-04-21 09:44:53 +0000

Dal punto di vista di un manager

Perché la programmazione è il tipo di lavoro che è molto difficile da misurare quando si tratta di tempistica, le aziende a volte si aspettano che lavoriate di più, ma non permettono a nessuno di lavorare meno di otto ore.

Perché è difficile misurare le prestazioni, se il vostro manager ha la sensazione che siete in ritardo per un progetto per qualsiasi motivo, può iniziare a monitorarvi ed è qui che leggete le notizie o giocate per ore o anche per un tempo più breve come 10 - 15 minuti, ma costantemente può causare TROPPO…

** Dal punto di vista di un programmatore onesto**

Alcuni compiti sono così interessanti che non abbiamo nemmeno il tempo di guardarci intorno, mentre altri sono così noiosi e complessi che di tanto in tanto facciamo delle pause più brevi, ma queste pause sono legate anche al nostro come lavoro, ad esempio guardare qualcosa su Pluralsight o leggere di future uscite in tecnologia che potrebbero aiutarci. …

** Dal punto di vista di un programmatore non molto onesto**

Potrebbe non trovare alcun compito interessante, quindi trova costantemente interessi in altre attività che non sono legate al lavoro.

Riepilogo

Se siete al lavoro, le vostre attività dovrebbero essere legate al lavoro; ora alcune aziende sono rigorose e altre no. Quindi modellatevi in base a questo.

4
4
4
2016-04-21 11:25:49 +0000

Vi consiglio di dare un'occhiata a questo libro ragmatic Thinking and Learning: Refactor Your Wetware

Spiega che il vostro cervello ha due modalità di funzionamento. Uno è un modo lineare, che è abbastanza lento. Questo è quello su cui vi state concentrando e su cui state pensando attivamente. C'è anche un'enorme quantità di elaborazione in background, asincrona, che continua.

Mentre vi state concentrando duramente, o state cercando di concentrarvi duramente su qualcosa, state rallentando questa elaborazione in background. Se si fa qualcos'altro, si libera il cervello per riflettere in modo non lineare.

Avere una pausa può aiutare a completare i compiti.

Personalmente direi che un'alta percentuale dei grandi problemi che risolvo sono mentre non sto codificando e facendo qualcosa di non correlato. Improvvisamente mi renderei conto che l'approccio che stavo adottando non era ottimo e un piccolo rifattore renderebbe tutto molto migliore.

Quindi non sentirti in colpa se non stai codificando, il tuo cervello sta ancora lavorando sulle cose. Ma ricordati che devi ancora fare il lavoro.

3
3
3
2016-04-21 07:37:44 +0000

Svolgere il lavoro al computer guardando le notizie su Internet non è l'idea migliore perché si può facilmente essere risucchiati in esso abitualmente come un modo di procrastinare senza che questo sia evidente né per voi né per i colleghi, dato che si sta utilizzando lo stesso computer tutto il tempo. Molte attività di programmazione più complicate hanno elementi che richiedono maturazione: non è possibile risolverli bene andando a pieno ritmo, ma non ci si svilupperà sopra se li si lascia completamente soli.

Quindi vi consiglio di stabilire delle pratiche per tenervi al passo: all'inizio della giornata, fate un elenco delle cose su cui volete concentrarvi/lavorare. Provate a capire come è andata a finire alla fine della giornata o della settimana.

Quando potete, non lavorate al computer. Prendete l'abitudine di fare tutte le vostre cose di design su carta e matita. Provate a capire come fare buon uso di una stampante per l'analisi del codice e il debug; anche se non volete lasciare mucchi di carta, qualsiasi pagina in cui vi aspettate di scarabocchiare e marcare le cose mentre assorbono le cose è ragionevole da stampare. Naturalmente, anche pianificate nel tempo e nelle risorse una volta che avete finito con qualche passaggio di codice come semplificare tutto questo per la prossima volta che voi o qualcun'altro colpisce lo stesso codice: scrivete i risultati di cui siete sicuri, se necessario riorganizzate il codice per una migliore ricezione.

Raccogliere le intuizioni sulla carta è di solito molto preferibile rispetto alla raccolta nel codice, perché potrebbe essere solo preliminare (e in seguito ti rendi conto di cosa non era corretto).

Lavorare con la carta permette ai tuoi occhi di rilassarsi, dà un'attenzione diversa, lascia una sensazione tangibile per te e per i tuoi colleghi su ciò su cui stai lavorando e quando smetti di fare progressi. E tiene lontana Internet quando è più pericoloso.

Un sacco di programmazione è un lavoro intensivo, non puoi stare al passo tutto il giorno senza scottarti prima o poi, ma molto in un lavoro di programmazione può essere anche un lavoro di routine. Organizzare il vostro flusso di lavoro e i vostri strumenti e materiali in un modo in cui siete in grado di fornire entrambi e di sfruttare al meglio la concentrazione, le competenze, l'esperienza e la presenza disponibili è una forma d'arte in sé.

Se riuscite a gestire così bene, cercando di capire come stare lontano da trappole improduttive e distrazioni, mettendo le vostre energie creative a disposizione nelle quantità e nei limiti che avete a disposizione, sarete efficaci anche se le competenze che riuscite a gestire, da soli, possono non essere necessariamente straordinarie.

2
2
2
2016-04-21 05:42:44 +0000

Essere in vantaggio è un bene, a volte per ottenere il miglior risultato possono essere necessarie due o tre riscritture, e bisogna dormire sullo sforzo precedente. Speriamo che questo sia il modo in cui avete affrontato i vostri incarichi all'Uni.

Quando siete intensamente impegnati, le ore possono volare via. Se non vi alzate e non camminate, vi ritroverete mezzi ciechi con un brutto caso di chalfonts. (Ne riparliamo tra 30 anni).

Anche per me è difficile tornare dalla “panchina” se sono stato tra un incarico e l'altro, aiuta a codificare le macro per compiti ripetitivi e ripetitivi.

È anche sorprendente ciò che si può risolvere al pub con i colleghi (anche se idealmente riservato al dopo lavoro).

Magari lavorate allo sviluppo di strumenti, o documentate soluzioni più difficili da utilizzare in futuro, arriverà un momento in cui Google e SO non potranno aiutarvi.

Provate ad arrivare 2 ore prima e a fare una pausa più lunga per il pranzo, ma gestite il tempo. Non lavorate più ore complessive per “giustificare” le pause. Se potete aiutare qualcun altro con i suoi problemi, tanto meglio. Il loro tempo costa tanto quanto il vostro.