Trascorri le tue ore lavorative sull'apprendimento? [chiuso]


79

Trascorri le tue ore di lavoro imparando cose nuove, leggendo blog tecnici, libri sulla programmazione ecc.? Qual è la tua opinione al riguardo? Un datore di lavoro può avere vantaggi che consentono agli sviluppatori di dedicare circa 1-1,5 ore al giorno all'apprendimento. Verrà rimborsato in futuro (con una migliore produttività ecc.)?


5
Personalmente passo circa un'ora al giorno a leggere cose nuove, articoli ecc. Se non ho compiti urgenti e credo che sia utile. Puoi dire che è meglio farlo nel tempo libero, ma spesso è abbastanza difficile dedicare tempo su di esso, anche se tutto dipende dalle tue priorità.
make_sense,

4
Ho notato che Programmers.SE diventa molto meno attivo la sera (soggetto alla variazione del fuso orario), quindi immagino che la maggior parte di noi lo faccia.
Craige,

3
Trascorro molto tempo su SE ... metà del tempo, mi sta salvando la vita - e l'altra metà che passo cercando di partecipare alla comunità. Ad ogni modo, è un investimento negli obiettivi a lungo termine della mia azienda, perché imparo nuove cose fondamentali ogni giorno qui.
eckza,

3
Se sei un consulente o un appaltatore, non hai troppa scelta in materia, devi dedicare il 100% del tuo tempo fatturabile a un progetto.
aceinthehole,

1
Penso che questa domanda avrebbe potuto essere migliore se avesse chiarito se si riferiva all'apprendimento in un'area intimamente correlata al lavoro o all'apprendimento in un'area che è collegata solo alla programmazione in generale. È "Devo imparare questa sintassi SQL per risolvere i problemi del nostro database" o è più simile al tempo del 20% di Google? Penso che se il PO chiedesse circa il 20% del tempo, un gruppo di persone cambierebbe la loro risposta.
Neil Traft,

Risposte:


127

Sono dell'idea che sia essenziale che un buon ambiente di sviluppo consenta al massimo un'ora o due al massimo per l'esplorazione e l'apprendimento, salvo quando si tratta di "tempi di crisi" su un'applicazione, ovviamente.

Un ambiente che non lo fa è una bandiera rossa nel mio libro perché mi dice che non apprezzano il miglioramento.

MODIFICARE

La cosa peggiore è il luogo che rimprovera ai suoi sviluppatori di leggere blog / siti tecnici invece di "scrivere codice". Ciò, per me, indica un ambiente a cui non interessano i suoi sviluppatori al di là di ciò che possono spremere da loro.


9
La parte triste è che ho incontrato molte, molte, molte aziende che cadono sotto questo e non consentono affatto "tempi di inattività" per gli sviluppatori. Sentire "c'è sempre qualcosa su cui lavorare" è la cosa peggiore di sempre per me.
Wayne Molina,

Essenziale, ma molto difficile.
Brian Knoblauch,

5
È molto difficile convincere un'azienda a rendersi conto che è essenziale;)
Wayne Molina,

9
Spiega che è come un layager, hanno bisogno di conoscere tutte le nuove leggi. O meglio, dottori, hanno bisogno di conoscere tutte le nuove tecniche e studi per essere un grande dottore. I riferimenti sono in continua evoluzione, proprio come nella programmazione.

1
@jwenting Questo è il mio punto; una buona compagnia sa che "imparare durante l'orario d'ufficio" è una buona cosa; uno cattivo non lo sa o si aspetta che venga compensato. Molte più aziende rientrano nella categoria "cattiva" rispetto al "buono" in questo senso, purtroppo.
Wayne Molina,

44

Penso che quasi tutti i datori di lavoro finiscano per pagare le persone per circa 1-2 ore di apprendimento almeno qualche giorno ogni settimana. Anche se stai solo cercando la documentazione, stai ancora imparando qualcosa che non sapevi prima.

Personalmente non mi piace impostare 'fettine' di tempo per gli altri, mi sembra un po 'troppo gestire il tempo di qualcun altro. Se ti ho assunto, l'ho fatto perché ho una bella sensazione che tu sappia come gestire il tuo tempo meglio di me. Stabilisci obiettivi di produttività e scadenze occasionali, ma a parte questo, lasci che il dipendente faccia ciò che lo rende più produttivo.

Se hai bisogno di passare sei ore a capire come affrontare al meglio un problema studiando diversi algoritmi, va bene. Se hai bisogno di passare 20 minuti a leggere un riferimento di un'implementazione del linguaggio, va bene.

In breve, incoraggia semplicemente le persone a imparare e migliorare quando vedono la necessità e l'opportunità di farlo. Paga per la formazione quando ha senso e non risparmiare sui libri. Questo di solito finisce con una grande produttività e mantenendo ottimi dipendenti.


4
+1 solo per l'ultimo paragrafo. Vorrei che più aziende pensassero così!
Wayne Molina,

3
+1 perché sono d'accordo sul fatto che non dovresti impostare "intervalli" di tempo per imparare. Impara come è necessario e se hai imparato ciò che devi sapere e dovresti lavorare per implementarlo, inizia a farlo.
Rachel,

una compagnia può sicuramente aumentare la lealtà dei suoi sviluppatori se segue i consigli dell'ultimo paragrafo.
make_sense,

Non credo proprio che questo sia ciò che l'OP stava chiedendo. Naturalmente tutti i programmatori apprendono nel corso del lavoro, questa non è nemmeno una domanda. La domanda che vorrei porre è "Passi le ore lavorative a imparare qualcosa che non ti aiuterà a risolvere qualsiasi problema immediato (ma che potrebbe renderti un programmatore migliore)?"
Neil Traft,

Libri - yay, training - nay
Arnis Lapsa

13

Trascorro alcune ore ogni mattina concentrandomi sull'apprendimento di qualcosa di nuovo. Questo può essere qualcosa correlato al mio stack tecnologico principale (.NET, WPF, ASP.NET MVC, Linq, ecc.) Oppure giocherò con nuovi linguaggi, framework web, o anche facendo qualche calcolo e altri calcoli difficili da mantenere la mente agile. Certo, mi metto al lavoro alle 6:30 e lo faccio fino alle 9:00 quando inizia la giornata lavorativa. Quando hai bambini piccoli a casa come me, devi fare il tuo lavoro la mattina presto lontano da casa in modo da poterti concentrare totalmente. Questo lascia anche le mie serate aperte per essere papà. Quindi sì, penso che sia importante per un datore di lavoro dedicare tempo ai suoi knowledge workerper raggiungere nuove conoscenze. Dico sempre ai miei sviluppatori di prendere tempo per imparare nuove cose e persino incoraggiarli a partecipare a conferenze e seminari per mantenere la mente sempre agile. Anche se non scrivono nulla in Erlang, potrebbe eventualmente manifestarsi da qualche parte concettualmente in seguito e dimostrarsi davvero utile in un altro progetto.


2
Quindi, impari dalle 6: 30-9: 00 e poi lavori dalle 9: 00-5: 00, e quindi non impari durante l'orario di lavoro? Sono contento che tu abbia l'atteggiamento giusto e penso che tu sia la prima persona che ha effettivamente risposto alla domanda del PO, ma non posso fare a meno di interpretare un po 'l'avvocato del diavolo. :-)
Neil Traft

@NeilTraft - Ah, ho capito bene. Penso di riferirmi al puro apprendimento accademico e all'esplorazione di nuovi concetti. Ovviamente continuiamo a imparare mentre stiamo lavorando, ma è più una conoscenza applicata, almeno per me. Potrei imparare come usare qualcosa di nuovo con ASP.NET MVC o scrivere alcune domande killer Linq o qualcosa del genere, ma non c'è troppo tempo per dare un'occhiata a Rust o Go o ad alcune nuove tecnologie.
Nodey The Node Guy,

8

Ecco perché si chiama "Sala di lettura" :) Imposta un lettore RSS o qualsiasi cosa ti piaccia che può aggregare post da vari luoghi che ritieni preziosi e quindi stampare alcuni articoli al giorno e portarli con te.

Ma oltre a ciò, se stai facendo qualcosa a cui conosci già le risposte e non stai trascorrendo almeno parte della tua giornata rintracciando la risposta a qualcosa (che sta anche imparando), allora devi cambiare lavoro. Complacency è un assassino in questa professione.


11
Anche molto vero. La compiacenza porta alla stagnazione. La stagnazione porta alla pigrizia. La pigrizia porta all'obsolescenza. Percorso per il lato oscuro, lo sono. Una volta che avvierai il sentiero oscuro, dominerà per sempre il tuo destino.
Wayne Molina,

7

Di solito non mi occupavo di scrivere codice fino a dopo pranzo. Comunemente i miei giorni andrebbero qualcosa del genere:

09: 00-10: 00 Stackoverflow (compresi collegamenti a blog interessanti, ecc.), E-mail, forse rivedere alcune delle recenti modifiche al controllo del codice sorgente per avere un'idea di dove il progetto è diretto negli ultimi tempi.

10: 00-12: 00: di solito speso facendo la codifica "leggera". Refactoring, piccole correzioni di bug e progettazione di come funzionerà l'implementazione per qualunque cosa, con la progettazione a volte un po 'di livello superiore quando necessario

13: 00-15: 00: codifica solitamente pesante. La noiosa codifica si adatta qui.

15: 00-15: 30/4: un po 'più di apprendimento come una "pausa".

4 pm- ?: Se fossi davvero nella zona, sarei noto per stare con un'ora di ritardo circa. Questo è stranamente probabilmente il momento più produttivo per me. Vale a dire perché di solito vengo lasciato solo dopo le 16:00 e sono una persona di notte naturale quindi qualsiasi cosa prima delle 12:00 mi sembra "presto".

Ora, dico che è ingiusto per l'azienda pagarti per aver scritto post sul blog e simili. Ciò include le risposte Stack Overflow a volte .


3
È importante conoscere il momento migliore per lavorare su una programmazione "difficile" o su problemi "difficili". Trovo che quando la mia mente è al massimo (al mattino), posso risolvere qualcosa in 10 minuti che può richiedere ore in altre occasioni.
B Seven

1
Ottengo molto da StackExchange. I siti della community come questo funzionano solo se le persone rimettono qualcosa dentro. Se un manager si lamentasse dei miei contributi, risponderei che questo è il costo di fare affari: ottieni ciò che dai.
Underverse,

5

Stai imparando, eh? Direi che lo faccio quasi sempre al lavoro. Per me, l' apprendimento è l'essenza fondamentale della programmazione e un corollario naturale del fatto che stai sempre risolvendo nuovi problemi (cioè non facendo la stessa cosa due volte). 

Se si non imparando durante le ore di lavoro, si sta facendo sia sbagliato o si dovrebbe cercare un ambiente di lavoro modo migliore.

(Detto questo, per blog e libri tendo principalmente a usare il mio tempo libero, tranne quando è strettamente correlato al lavoro a portata di mano.)


4

Da un punto di vista gestionale, i datori di lavoro generalmente vogliono che i loro dipendenti apprendano costantemente. Potrebbe trattarsi di formazione formale in classe o e-learning, recupero dei feed RSS, lettura di riviste tecniche, visione di video, presenza di un tutor, tutoraggio di altri, ecc.

Lo sfregamento arriva quando

  1. il tuo manager pensa che dovresti già sapere queste cose
  2. hai una scadenza per un progetto
  3. inizi a forzare il tuo nuovo apprendimento sul business senza che passi attraverso i canali appropriati (ad esempio ho appena imparato tutto su ObservableCollections e pensi che sia fantastico, quindi inizierò a farlo dalla mia parte del codebase .)

Detto questo, l'aspettativa generale è che devi guidare il tuo apprendimento contro il modello 70-20-10

  • Il 70% dovrebbe essere l'apprendimento sul posto di lavoro, come correggere il codice con qualcosa di più efficiente
  • Il 20% dovrebbe essere un apprendimento informale, come essere istruito, leggere blog o partecipare a una conferenza
  • Il 10% dovrebbe essere una formazione formale, come un evento in aula di 2 giorni o moduli di e-learning con tracciamento SCORM

Se la tua azienda non ha una quota di formazione formale del 10%, richiedila.


3

Per me, la programmazione è l'apprendimento . Ogni volta che scrivo un metodo posso imparare qualcosa:

  • È questo il modo migliore per farlo?
  • Qual è l'utilizzo della memoria / CPU?
  • Quali sono i compromessi?
  • Quali sono i potenziali problemi che potrebbero far fallire questo metodo? (deadlock, connessione interrotta, ecc.)
  • Questo metodo deve far parte di una libreria in modo da poterlo riutilizzare in un secondo momento?
  • Come posso spiegare questo sistema in termini non tecnici in modo che chiunque possa capirlo?
  • Come ricorderò e organizzerò tutto ciò che ho appena imparato?

Ogni volta che vado su Programmers.SE o Stack Overflow imparo qualcosa.

Penso che essere programmatore significhi imparare. Inoltre, tutto ciò che apprendiamo può essere utilizzato per renderci programmatori migliori e contribuire a rendere efficaci i progetti su cui lavoriamo.


2

Sto spendendo circa (delle ore lavorative):

  • ~ 5% del tempo per scrivere il codice
  • ~ 10% del tempo per guardare i video di Starcraft2 su YouTube e bere un caffè
  • ~ 20% del tempo per pensare ai problemi attuali che il progetto sta affrontando
  • ~ 65% del tempo per imparare cose nuove ed eccitanti

3
pubblicare con cura cose del genere ... Alcuni datori di lavoro potrebbero non prendere alla leggera il fatto che passi metà della giornata retribuita a settimana a guardare cose stellari su YouTube. A meno che tu non stia realmente lavorando sulla cosa!
Newtopian,

1
I risultati di @Newtopian contano
Arnis Lapsa,

@Arnis: non fraintendermi qui, se fossi il tuo capo e tu consegnassi la merce, non potrei dare il culo a un topo se passassi un po 'di tempo sul tuo tubo. Potrei vederlo come un segno che non ti sto sfidando abbastanza, ma è tutto. Per molti altri boss dei capelli appuntiti li stai rubando efficacemente e non gli piacerà un po '. Detto questo, il mio commento è stato più perché le persone sono state licenziate per molto meno pubblicando cose stupide sulla loro pagina Facebook, ad esempio. Speravo solo per il tuo bene che il tuo capo non fosse del tipo di capelli a punta :-) evviva
Newtopian

2
@Newtopian come la vedo io - la programmazione è un'arte. Non puoi forzarlo. se lo fai, finisci con una pessima musica pop. non è che non voglio lavorare, è che a volte non riesco proprio. e sono completamente spudorato e onesto al riguardo. :)
Arnis Lapsa,

1
@nikie o_0 perché mai i programmatori dovrebbero lavorare vicino al lavandino della tua cucina ?! scusa, non posso rispondere. Penso che sia un'analogia parziale e negativa.
Arnis Lapsa,

2

Leggere articoli tecnici sul web è stata un'abitudine per me negli ultimi 2 anni. Ogni giorno passo almeno un'ora o più saltando attraverso gli articoli. All'inizio, saltavo su ogni articolo e cercavo di imparare. Quello era il mio interesse e sembrava poco produttivo a causa della grande quantità di articoli e argomenti che si potevano affrontare. Probabilmente, "Jack di tutti i mestieri, ma padrone di nessuno" si adatta a questa situazione. Nel corso del tempo, ho trovato molte buone risorse e identificato i miei interessi. Post che, ho ristretto uno degli argomenti e ho iniziato a essere selettivo.

Quello che ho guadagnato da tutta la lettura è trovare buone risorse come overflow dello stack, Y Combinator, smashing magazine, ecc. Ciò che guadagnerò è la competenza sugli argomenti che sto leggendo. Quindi, il mio punto è che si dovrebbe anche essere selettivi riguardo alla lettura. Leggere è sempre una buona abitudine. La lettura selettiva è fantastica.

Inoltre, un'altra osservazione è che quasi tutte le persone intorno a me che ritengo siano buoni programmatori, continuano a leggere e mi indicano grandi cose. È come se la nostra lettura aiutasse gli altri a migliorare - La parte sociale.


1

Preferisco il tempo di apprendimento al mattino. Comincio la giornata imparando nuove cose che sono state nella mia mente e / o leggendo i feed di notizie tecnologiche che seguo in Google Reader. A volte passo anche un po 'di tempo dopo pranzo. Se sento di imparare qualcosa di nuovo che non sta bloccando il mio compito attuale, lo metto in piedi per la mattina seguente.

Bene, evito anche di scrivere blog durante l'orario di lavoro poiché potrebbe richiedere più del tempo stimato. Il momento migliore per scrivere blog o partecipare alla community (per me) è dopo l'orario di ufficio.


1

si possono trovare i problemi intorno o dai progetti a cui sta lavorando. Crea o risolvi alcuni problemi per la tua resistenza karmica. Guarda più in profondità che puoi. Si troverà la strada per i percorsi glorificati della vita lavorativa autodidatta. Quando uno diventa più produttivo, troverà il tempo per imparare a diventare più produttivo di lui. Il nutrimento intellettuale evolutivo di me stesso, dico, fa sempre del bene anche se non sei un programmatore. Migliora solo il processo di pensiero. Esistono diversi modi per affrontare il problema. Scegli l'opzione per scavare di più. Non essere mai soddisfatto della soluzione. Anche dopo la consegna impegnata, è possibile rivedere nuovamente l'output. Uno deve affinare i suoi strumenti. Il posto migliore per sviluppare il tuo disco volante è sicuramente nella tua stanza oscura personale!

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.