Programmering som sunn livsstil


lørdag 28. august 2010 Meninger

Her om dagen leste jeg en blogpost kalt some lesser known thruts about programming, som snakker om forskjellen mellom gode og dårlige utviklere. Jeg twitret også et sitat fra bloggen som sa:

"Good programmers think about their work 24/7. They write their most important code in the shower and in their dreams."

Jeg følte dette var en god beskrivelse av hvordan jeg har det. Sitatet førte derimot til en del reaksjoner, bl.a. fra @fossmo, som sa (jeg har klippet litt..):

Thinking about work 24/7 is also the reason a lot of programmers burn out :-( We are sitting on the buttocks all day, drink lots of coffee, working in the evenings, getting little sleep, little physical activity; a perfect combination for a burnout.

I think it is important that developers who have been in the game for a few years dares speak out about that this is not very good lifestyle over time.

Jeg er enig i det han sier, men ikke i at det er en nødvendig sammenheng mellom å ha programmering som livsstil og at man har en usunn livsstil. For meg vil det å være en dyktig utvikler også si at man er bevisst disse tingene, og innretter seg deretter. Men Fossmo har sikkert rett i at vi bør være flinkere til å opplyse om dette. Vi fokuserer nok litt for mye på de harde tingene, og glemmer at det viktigste i utvikling av software er menneskene – inkludert de som utvikler det.

Programmering er ikke bare rock n'roll! Det er gøy, men man vil få enda mer ut av det om man er disiplinert. Ønsker du å bli en über-ninja-programmerer må du utvikle allsidige egenskaper, og du er nødt til å jobbe med å forbedre ferdighetene dine på fritiden. Men i bunn må du ha en sunn kropp og en allsidig og opplagt hjerne. Vil du være blant de beste må du tenke litt som en idrettsutøver.

Her følger mine råd om hvordan man kan ha prorammering som en sunn livsstil…

Søvn, trening og kosthold

sleep1 En "profesjonell utvikler", slik Uncle Bob ville ha sagt det, sørger for å få nok søvn – uten det kan han ikke konsentrere seg godt nok til å skrive god kode. En profesjonell utvikler sørger også for å holde seg i form – om kroppen ikke har det bra vil konsentrasjonen også lide. Og det hjelper lite med søvn og trening om man har et dårlig kosthold. Disse tre punktene er et minstekrav, og kutter du ut ett av dem mister du effekten av de to andre.

Når det gjelder søvn er mengden som trengs nokså individuell. Jeg har faktisk snakket med en søvnforsker om dette, og hun sier at sålenge man føler seg opplagt så får man nok søvn. Undersøkelser viser at det er best med mellom 6,5 og 7,5 timer i døgnet. Over 8 timer er ikke bra, det tar man faktisk skade av, og det er mindre problematisk med 5 timer i døgnet. (kilde)

exercise Utviklere sitter mye i ro mens de jobber, og det er ikke kroppen laget for. Vi må derfor kompensere med ekstra, fysisk aktivitet. Personlig går jeg en times tur med hunden hver dag, og trener i alle fall én gang i uka på treningssenter. Dessuten er jeg pappa til en smårolling, og det krever jo sitt. Har du en kontorjobb og ikke gjør noe tilsvarende kan du ikke regne med at kroppen holder så veldig lenge. I stedet kan du forvente deg vond rygg og en rekke, andre plager som vil gå ut over både din evne til å yte på jobb og din livskvalitet forøvrig.

Mens trening krever at man setter av ekstra tid i hverdagen er kosthold kanskje det man kan gjøre mest med for å øke livskvaliteten uten omfattende tiltak. Man må passe på å spise nok, slik at man ikke blir sløv og at man får utbytte av treningen. Man bør også spise ofte, da det øker det gjevne forbrenningen og gir et stabilt blodsukker. Fem måltider pr dag er bra. Og så må man selvfølgelig spise variert, slik at man får alt det man trenger. Tran, tre melkeporsjoner og tre fruktprosjoner hver dag, mye fiber og grønnsaker, og DRIKK MYE VANN!

Ta et Grete Roede-kurs om du trenger hjelp.., jeg har gjort det, og det gav meg MYE!

Ikke bli ensporet

I tillegg til tilstrekkelig søvn og trening og et godt kosthold trenger man også andre input for at programmering som livsstil skal funke over tid. Det er viktig å ha andre interesser, å få impulser fra et bredere spektrum. Det vil ikke bare holde deg mentalt sunn, men potensielt også kunne få deg til å tenke i nye baner når du skal løse utviklingsproblemer. Hjernen må ikke bli for "satt" i én måte å tenke på. Så les bøker eller andre kilder ting som ikke har med programmering å gjøre. Det er ikke alle hobbier som trenger å stjele så mye tid fra det du har aller mest lyst til å holde på med. Selv leser jeg endel science fiction, og synes det er herlig avkobling.

Til sist må man ikke glemme venner og familie. Mennesker er soiale dyr – også utviklere! Det er ingen ting som vil gi deg så mye nyttig avkobling som din sosiale omgangskrets, og et stabilt sosial-/familieliv vil gi deg økt trygghet og yteevne i jobben. Lar du jobben gå ut over dine relasjoner vil det igjen påvirke din evne til å konsentrere deg og gjøre en god jobb.

Hvordan få tid til alt dette

old_tv Det kan kanskje virke som om jeg får tid til usannsynlig mye. En av hemmelighetene er at man orker mer når man er opplagt - ref søvn, trening og kosthold. Men det er også snakk om enkelte prioriteringer. De fleste har tidshull i livet sitt som suger klokketimer uten at man får særlig mye igjen.

Selv har jeg droppet dataspilling, og ser nesten ikke på TV lengre. Aviser leser jeg ikke, og ser bare 5-10 minutter med nyheter hver uke (de resirkuleres stort sett uansett). Dermed får jeg tid til både familie, trening og fritidsaktiviteter, samtidig som jeg både jobber og studerer/øver på ulike teknikker og teknologier, og blogger to ganger i uken.

Ikke stress

@borge3000 twitret noe veldig interessant:

"IMO Burnout happens when you think your work is more important than it really is..."

Utbrendthet skyldes altså ikke nødvendigvis at man har utvikling som en livsstil, eller at hjernen jobber med programmeringsutfordringer og abstrakte problemer nesten hele tiden. Sålenge man sørger for å gi kroppen og hjernen det den trenger av andre ting vil man kunne holde det gående lenge. Problemet kommer når man stresser, når man tenker på deadlines (reelle og/eller kunstige) - når man tar jobben for seriøst.

Har du tenkt å drive med utvikling i mange år – og jeg tar gjerne 30 til 50 år til takk – så må man slappe av. Ting tar den tiden det tar, og dessuten går det alltid raskere når man tar seg god tid (og får nok søvn, trening, adspredelse etc.) uansett.

Ikke forsøk å ri på hver eneste bølge (nye rammeverk/teknologier) som kommer, plukk deg ut noen få av betydning. Ikke forsøk å realisere alle ideene du får, utforsk noen av dem i et fornuftig tempo. Du har resten av karrieren på deg. Gjør litt hver dag, og du vil bli en tilfreds og dyktig utvikler!

Relaterte artikler: Utviklerprofiler og fire ferdighetskategorier | Å bruke av egen fritid


comments powered by Disqus