programming sviluppo programmatore felicità happydev

Lo sviluppatore felice

Perché il buon sviluppatore è uno sviluppatore felice

Ho visto la data del precedente post e mi sono reso conto che è passato veramente tanto tempo dall'ultima volta che ho scritto.

È un peccato, perché nell'anno appena trascorso ho avuto molte idee, ho affrontato esperienze diverse e ho riempito il mio gist di snippet e appunti, che ora sono in attesa di diventare articoli. Non so se avrò mai il tempo di scriverli per bene, so solo che un po' mi vergogno di non averlo fatto. In fondo... questo sito esiste proprio per questo: una documentazione per gli altri, ma anche per me.

Visto che questo post sta diventando una specie di "buoni propositi per l'anno a venire" cercherò di farlo diventare qualcosa di più produttivo prima che sia troppo tardi.

E così inizio quello che vorrei diventasse il filo conduttore dei prossimi articoli: consigli per essere programmatori felici.

Da un anno e mezzo ormai sono sviluppatore freelance. Questo mi ha dato la possibilità di ritagliarmi del tempo per cercare di migliorare gli strumenti di lavoro.

Strumenti più efficienti ci rendono meno stressati. Essere meno stressati è un buon passo verso la felicità.

Ho anche imparato a dire di no a certe proposte di lavoro, cosa che non potevo permettermi quando ero dipendente.

I passi da fare sono ancora molti, so che ci sono certe cose da fare ma non è semplice trovare il tempo per apprenderle e metterle in pratica tutte.

Sto diventando prolisso, uno dei motivi per cui scrivo poco frequentemente: quando mi metto ci devo dedicare molto tempo.

Allora via, andiamo di lista, così si fa prima e ci schiariamo le idee!

todo-list per il programmatore in cerca di felicità

  • Trova il tempo per dedicarti alla ricerca della felicità.
  • Datti degli obiettivi, inclusi di data di scadenza, altrimenti non sono obiettivi.
  • Crea una buona playlist che ti aiuti a lavorare. Se lavori in team, la playlist deve essere condivisa: non usare le cuffie!
  • Personalizza il tuo ambiente di sviluppo.
  • Trova una tastiera comoda.
  • E un mouse comodo.
  • E una sedia comoda.
  • E una scrivania comoda.
  • E uno schermo comodo (anche più schermi, se ti fa stare meglio).
  • E un computer abbastanza veloce da stare al passo con la tua mente.
  • Ho già detto la tastiera?
  • Sii spiritoso, non aver paura di sfoggiare il tuo umorismo nerd con i colleghi. Con loro puoi.
  • Usa un sistema di backup veloce, altrimenti non lo usi mai.
  • Fai sport, per il corpo e per la mente.
  • Fai pausa ogni circa due ore.
  • Prova a fare stretching durante le pause.
  • Usa un buon sistema di version control, non serve impararlo nei minimi dettagli, ma quel tanto che basta per avere un workflow veloce.
  • Impara le shortcut, per tutti i programmi che usi.
  • Modifica le shortcut, se quelle predefinite non sono comode per te.
  • Allena le tue capacità di touch-typing.
  • Durante le pause, chiacchiera con i colleghi del più e del meno.
  • Scopri cosa sono i dotfiles
  • Conosci i tuoi colleghi.
  • Conosci altri sviluppatori al di fuori dell'ambiente di lavoro.
  • Lavora al massimo 8 ore.
  • Datti scadenze precise.
  • Rispetta le scadenze.
  • Tieni sempre con te un taccuino o registratore per prendere note (anche una buona app funziona bene).
  • A metà mattina e metà pomeriggio mangia un frutto piuttosto di bere un caffè o fumare una sigaretta.
  • Tieni dei manubri (pesi) a portata di mano, fai un leggero esercizio quando devi pensare a come risolvere un problema.
  • Tieni sempre a portata matita e blocco note.
  • Anche dei fogli bianchi sfusi, A4. Anche qualche A3 per diagrammi e disegni.
  • Quando fai pausa, meglio andare all'aperto se ne hai la possibilità.
  • Evita distrazioni mentre stai lavorando.
  • Leggi spesso le email.
  • Rispondi alle email il prima possibile, ma prima devi finire quello che stai facendo. Email e messaggi istantanei non vanno nemmeno letti finché non hai finito il task iniziato (e committato).
  • Distogli lo sguardo dal monitor quando stai pensando o comunque non c'è niente che ti interessi vedere nel monitor..
  • Rispetta i colleghi.
  • Non aver paura di chiedere aiuto a un collega.
  • Non portare il lavoro a casa.
  • Durante la pausa, non parlare di lavoro ai colleghi. È un momento per lo svago e va rispettato.
  • La pausa va fatta ogni circa due ore, ma devi comunque portare a termine il lavoro e committare prima di andare in pausa.
  • Non parlare male di un collega con gli altri colleghi.
  • Aiuta un collega in difficoltà, ma non solo dopo aver completato il tuo task corrente.
  • Dai soddisfazione ad un collega che ha raggiunto un obiettivo.
  • Partecipa ad un progetto opensource, meglio se è un programma o una libreria che usi spesso e che conosci bene.
  • Se mentre usi un programma o una libreria trovi un problema, segnalalo a chi la gestisce. Soprattutto se è un prodotto dell'azienda in cui lavori, ma anche se è un progetto opensource o del software acquistato.
  • Tieni una postura adeguata.
  • Impara almeno un nuovo linguaggio ogni anno.
  • Se i progetti a cui lavori non ti permettono di imparare un nuovo linguaggio ogni anno, imparalo per hobby o almeno leggi un libro a riguardo.
  • Impara almeno un linguaggio ad oggetti.
  • Impara almeno un linguaggio funzionale.
  • Impara almeno un linguaggio di markup.
  • Impara almeno un linguaggio di scripting.
  • Impara almeno un linguaggio compilato.
  • Impara almeno le basi di C.
  • Tieni sotto controllo versione anche la documentazione, oltre che il codice.
  • Non aver paura di spendere denaro, se questo ti aiuta a lavorare in maniera più efficiente o più sana.
  • Ricorda che il tuo tempo vale denaro, più di quanto il tuo datore di lavoro voglia farti credere, addirittura più di quanto lui pensi.
  • Abbi sempre a portata una bottiglia d'acqua. Bevi quando hai sete, ogni tanto bevi anche se non hai sete. Un litro e mezzo durante l'orario lavorativo, pasti esclusi, è sufficiente. Riempi la bottiglia appena inizi a lavorare.
  • Fai una passeggiata dopo pranzo. Se fa caldo, falla dopo cena
  • Fai in modo di avere una temperatura adeguata nel posto di lavoro. Deve accontentare tutti i colleghi. Se gli altri stanno bene e tu hai freddo, copriti.
  • Pulisci la tastiera. Spesso. Non hai idea di cosa possa nascondersi.
  • Non usare il layout italiano. Per programmare fa schifo. Le shortcut dei programmi sono state pensate per la tastiera inglese. Per non parlare delle parentesi.
  • Se usi un layout non italiano, trova comunque un modo per scrivere le lettere accentate quando scrivi in italiano. Io uso il layout "US keyboard with italian letters".
  • Prova anche dvorak o colemak, potresti trovarti a tuo agio.
  • Personalizza il sistema operativo per migliorare l'efficienza nel lavoro.
  • Blocca l'accesso ai siti che ti distraggono. Ci sono modi per farlo automaticamente durante gli orari di lavoro, oppure con un pulsante che blocchi o sblocchi.
  • Nei momenti in cui non puoi lavorare perché: sta compilando, sta testando, sta aggiornando... fai qualcosa di utile e che impieghi poco tempo, come leggere le email o scrivere degli appunti su quello che si è fatto. Se la pausa è molto lunga, sfruttala per fare una pausa vera e propria, lontano dal pc.
  • Se ti accorgi di fare operazioni ripetitive, trova il modo di automatizzarle.
  • Fai in modo che build, test e deploy possano essere azionate da un semplice pulsante.
  • Sfrutta i tempi morti per fare qualcosa di utile e/o sano.
  • Se abiti distante dal luogo di lavoro, sfrutta il tempo del viaggio per imparare qualcosa, non deve essere per forza legato al lavoro.
  • Se usi la macchina per andare al lavoro, puoi sfruttare il viaggio per ascoltare degli audio libri.
  • Se usi i mezzi pubblici, puoi leggere, guardare video tutorial o anche fare un pisolino (ma non usarlo come scusa per dormire meno di notte).
  • Se lavori in un posto non raggiunto da mezzi pubblici, cerca di trovare dei compagni di viaggio con cui condividere l'auto e fare quattro chiacchere.
  • Scopri cos'è il TDD
  • Fai una buona colazione, pranza leggero e vai a letto con la fame.
  • Documentati, impara, leggi, guarda video tutorial di programmazione.
  • Leggi narrativa, saper scrivere bene aiuta anche a sviluppare bene e a produrre documentazione comprensibile.
  • Leggi The phoenix project
  • Impara l'inglese e tienilo allenato.
  • Guarda film e serie televisive in inglese, ti aiuta a migliorare l'ascolto e ad imparare modi di dire informali, prima o poi avrai a che fare con colleghi o clienti stranieri. O con video tutorial.
  • Scrivi il codice in inglese.
  • Testa il tuo codice
  • Investi del tempo a trovare la parola giusta per una funzione, una classe, il nome di una variabile.
  • Scrivi anche i commenti in inglese, a meno che non ci siano colleghi che proprio non lo capiscono.
  • Bevi pure il caffè, ma non troppo. Meglio se senza zucchero.
  • Ogni tanto chiedi ai colleghi come stanno, ma non essere invasivo.
  • Partecipa ad eventi per programmatori, come hackaton, meeting, conferenze...
  • Invita i tuoi colleghi e i tuoi amici programmatori a questi eventi.
  • Se trovi un modo migliore per fare qualcosa, spiegalo ai tuoi colleghi.
  • Meglio ancora, pubblica un articolo a riguardo.
  • Evita di parlare di politica o religione durante le pause, a meno che non ci sia una certa confidenza.
  • Usa password sicure, diverse per ogni account.
  • Usa un sistema per gestire le password, come passwordstore
  • Evita di dover scrivere password troppo spesso. Ad esempio, usa ssh agent per le connessioni ssh, lastpassper i siti.
  • Fatti un blog.
  • Fatti un biglietto da visita cartaceo, anche se sei dipendente.
  • Porta dei biglietti da visita sempre con te.
  • Fatti un indirizzo di posta elettronica personale serio, tipo mio-nome@mio-cognome.me oppure mio.nome.cognome@gmail.com, oltre a quello aziendale.
  • Sii sempre pronto ad accettare nuove opportunità lavorative.
  • Partecipa a stackoverflow, ogni tanto rispondi a qualcosa.
  • Se correggi un bug in un progetto opensource, condividi il fix.
  • Non fare il lavoro che dovrebbero fare gli altri.
  • Impara a dire di no.
  • Insegna ai non-programmatori qualcosa da programmatori.
  • Puoi anche insegnare le basi di programmazione ai non-programmatori.
  • Ricorda che anche tu sei stato un non-programmatore.
  • Impara a usare i tre principali sistemi operativi: Windows, OSX e Linux.
  • Usa il sistema operativo con cui ti trovi meglio, non quello che costa meno.
  • Ricorda che la tua felicità non ha prezzo.
  • Impara le basi dei due principali sistemi di version control: git e subversion. Impara anche gli altri (mercurial, bazaar, cvs...)
  • Impara le basi dell'editor vi. Tutti i sistemi operativi unix-based hanno vi.
  • Usa uno sfondo del desktop neutro, piacevole e che magari dica qualcosa della tua personalità.
  • Prepara una foto fatta bene da usare come avatar nei principali siti che usi come sviluppatore.
  • Usa il tuo nome reale per gli account legati al tuo lavoro, per certe cose non ha senso la privacy.
  • Se proprio non hai voglia di farti un blog, crea almeno una pagina con i link ai tuoi profili nei principali siti, come twitter, linkedin stackoverflow, github, etc...
  • Tieni aggiornata la tua presentazione in linkedin.
  • Scrivi e tieni aggiornato un curriculum completo, ma non renderlo pubblico.
  • Scrivi una lista delle tue skill con il voto relativo.
  • Tieni aggiornata questa lista, se ti accorgi di aver perso smalto in qualcosa, abbassa il punteggio oppure dedica del tempo a fare un ripassino.
  • Committa al massimo ogni 30 minuti.
  • Se in 30 minuti non hai risolto, scrivi un appunto su quello che hai fatto e committalo.
  • Sii sempre pronto agli imprevisti: tieni a portata di mano una macchina virtuale con l'ambiente di sviluppo, così se si rompe il pc puoi fartene prestare uno.
  • Fai spesso il backup dei dati.
  • Fai anche, meno spesso, un backup del sistema operativo su cui lavori.
  • Controlla che si possa recuperare velocemente il contenuto del backup.
  • Se usi un sistema di controllo versione senza server (come git) fai in modo di avere una repository remota a cui mandare velocemente i commit (git push). Puoi usare servizi come github o bitbucket, ma anche un hard disk esterno.
  • Tieni in ordine la scrivania.
  • Tieni in ordine i documenti, compresi quelli cartacei
  • Ogni tanto organizza una serata con i colleghi, per conoscerli al di fuori del contesto lavorativo.
  • Abilita la syntax highlightning nel tuo editor/IDE.
  • Usa un sistema di formattazione automatica del codice, ma solo sui nuovi file, non è il caso di sporcare il versionamento di un file con le riformattazioni.
  • Non trascurare la famiglia per il lavoro.
  • Tieni traccia del tempo che dedichi ai tuoi task. Se committi abbastanza spesso, puoi fare riferimento alla storia dei commit.
  • Usa un sistema per salvare bookmarks in modo ordinato, come delicious
  • Mostra ai colleghi questa lista.

Ti è piaciuto l'articolo? Condividilo! Commentalo!

comments powered by Disqus