pouët.net

Coders: How do you stay sharp in the everyday?

category: offtopic [glöplog]
Hey all,

I've started coding quite a lot recently on an intense full time game development team that I am part of through my university. And it kind of sucks to work so much! Transportation is demanding too, which doesn't help. And we will enter crunch mode soon, too.

It's all been a really big change for me (going somewhere new, working in a big team, long hours), and it really wears me down! There are of course a lot of fun and good moments, and I feel like I am learning a lot, but I haven't got much energy.

I get my sleep (though it's hard when you're stressed), and I exercise too (but not every day). I also get my vitamins (multivitamin, D, Zink, C), but eat a little boringly.

What matters the most to you guys who have a regular coding job? How do you stay sharp? Are there any "hacks" you do, or anything you do to keep your mind extra sharp?
cocaine
added on the 2012-11-20 18:14:48 by maali maali
I chose a different path than prof. coder and today I keep my self fresh and sharp through tumblr.

Never been sharper or happier :)
added on the 2012-11-20 18:41:20 by maytz maytz
You will get used to it after it becomes routine for you and it sort of gets better, but not much. Here are some basic things from my own perspective:

First of all, you simply can not work too much. This is the key to everything, really. If you stick to that, you will be fine. Keep it at 8 hours or whatever per day and then go home and do other stuff. Keep a two-day weekend every week, especially if you work longer hours during the week. Sustained long hours will not do any project any good, you will just make more mistakes when you are tired and spend all the extra time hunting down issues you wouldn't have had in the first place if you were sharp and refreshed. There's a lot of actual research done on this and if your coworkers or teammates have an issue with it, give them the finger. If your boss gives you hard time, quit. If you absolutely have to do it, demand comp time and/or overtime pay. In writing. A crunch weekend or so near the end of the project might be fun and good for motivation, but no human being can handle that kind of stress for a long period of time. I have been there and burnout is not a place for anyone to be and living such life is not worth living. Crunch mode can really feel like a mass psychosis after you look at it in hindsight. I've been through it twice and there will not be a third time.

Exercise is paramount to your state of mind. You don't have to be an athlete but do try to keep in shape somehow. I try to walk the ~5 kilometers home every day and then go running at least once or twice a week. It will help more than you can imagine. If you can, during the day, it's good to take a short break and go outside for a minute even if it's just a walk around the block.

Watch your diet. Junk like greasy pizzas and burgers and cheapo Chinese food seem to be staples in pretty much every environment with coders but eating lightly enough will make a world of difference. As with everything, it's the moderation. Ending up in crunch mode where you eat two pizzas per day, code for 12 hours straight and sleep for 6 will literally kill you if you sustain it too long. When I was young and foolish and didn't know better, a doctor told me that if I intend on doing what I was, I'll get Type 2 diabetes and eventually a heart attack. There are old pictures of me on slengpung where I am fat and tired (I gained 20kgs in a year during a particularly stressful time) and that is not a place where I want to ever be again. Of course, what kind of diet is good for you depends a lot on your personal metabolism. I'm happy with lots of vegetables, lots of protein and as little sugar as possible but YMMV. And caffeine really is bad for you even if it's so precious.

Sleep enough. This is the hard thing, especially if you're stressed out, but trying to cut sleep will not make any of it easier, instead it will make the quality of your life a lot worse. Do anything you can to make your sleep better: avoid caffeine in the evening, give yourself time to relax when your bedtime is approaching, make sure that you have at least 8 hours for sleeping. If you've worked late, it's better to skip whatever it was that you'd rather have spent the evening on than the sleep. You can always do your own stuff later if you must scrimp something but you can't get a poorly slept night back, and once you've had a few of those in a row, then it's a highway to Stressville.

Do other stuff that interests you and keep your private life separate from your work. This is also very important. The amount of my hobby-related coding (ie. demos) took a serious nosedive after I got a job in the game industry. Before that I used to fiddle with all kinds of stuff in the evenings after school, now my demo development is done in short bursts during vacations etc (right now I got the same two things under development that I had back in April. Väre was done in a week from scratch after I realized that I can't get either of the other ones done). But that is fine. There is a definite limit on how much you can tolerate sitting in front of the screen so don't exceed that. Read a book, meet with friends, go on a date, play guitar, learn a language, do community work, do whatever it is that moves you. Don't let work get in the way of all that, because your own things are really what keeps you sane. Nowadays if I'm feeling really stressed out, I practice new Chinese characters. It's really meditative for me. Again, YMMV. Also, don't use your own e-mail for work purposes, don't answer work e-mails from home, don't answer work-related phone calls. Your time is yours and the distinction needs to be kept.

There are no hacks to surviving crunch hours, really, at least not any that work in the long term. This is basically an awful industry and if you don't watch out for yourself, who will? I don't ever recall having a discussion with an industry veteran saying that they are truly happy to do whatever they do is for living. Such people must be out there but they're a lot more rare than engineering college brochures would have you believe. Take care of yourself, you only have one life.
added on the 2012-11-20 18:54:01 by Preacher Preacher
The TL; DR version: Respect yourself. No one else will do it for you, and you will in your heart know when it's going the wrong way.
added on the 2012-11-20 18:58:52 by Preacher Preacher
Limit the amount of time you work. There's absolutely no way you can stay focused for longer than n hours every day, for many days in a row (where n is usually somewhere between 6 and 9). If your team/boss/whoever demands more, say ok, but demand a date when that "more" ends again.

Also, morning pages.
added on the 2012-11-20 19:23:37 by skrebbel skrebbel
ps. what game? where? good luck!
added on the 2012-11-20 19:26:31 by skrebbel skrebbel
> guys who have a regular coding job? How do you stay sharp?

Quit.

They suck the life out of you in those "employee" jobs. Not worth it. Life has more to offer. I will soon prove that another way of development is possible.
added on the 2012-11-20 19:30:07 by vibrator vibrator
The thing is, they (the slave holders) are monopolizing (sitting on) the resources. But that will soon change. I think I'm ready to really "start-up" now. The time is right.

btw, I'm now very close to actually owning a whole programming language. Just took the next step (got official maintainership of another important Lua library).

Why am I telling you this? (a.) for bragging (of course) :D But also (b.) because I'll prove I can be a better employer than today's universities are. :] (Believe me. I worked for them. Better stuff IS possible.)
added on the 2012-11-20 19:35:36 by vibrator vibrator
On a side note, there was a programming contest in Vienna a couple of weeks ago. There were 7 tasks to solve, and one coder managed to complete all tasks in less than 2 hours! The maximum time allowed was 4 hours and most participants managed to complete only 2 - 3 tasks in this time (me too). This has made me wonder how fast we are expected to code. I did not really try to hurry up during the contest and more or less worked in the pace I usually do, with the only difference that I did not make breaks. I wonder how one is expected to do that in professional life as a software developer, when you are programming 8 hours a day.
added on the 2012-11-20 20:19:48 by Adok Adok
Quit, THEN do cocaine.
added on the 2012-11-20 20:20:44 by krabob krabob
One trick to maintain a good nights sleep (because, as Preacher say, it's key!) will be to help your mind relax when going to bed. During stressfull days, make sure to have a notepad next to your bed. When something pops into your mind, jot down a few notes, and you'll find that you're again able to relax instead of working some problem frantically in your mind. Also, make sure your wife/girlfriend/family are aware of your situation. If only for short periods of time, you'll find, that help with normal tasks like laundry, dishes, cooking and stuff like that, can be a very effective way to stay on to of everything. Stress usually doesn't come from the most prominent task, but from all the other stuff you have no time for ;-)
added on the 2012-11-20 20:52:55 by Punqtured Punqtured
- read Preacher's advice twice
- limit caffeine, tobacco, sleep debt, and exciters (vitamins won't really help you and you know it)
- find ways to work less
added on the 2012-11-20 20:53:04 by ponce ponce
burn-in is much worse than burn-out.
added on the 2012-11-20 23:23:52 by Gargaj Gargaj
Bike to work.
added on the 2012-11-20 23:56:39 by bloodnok bloodnok
Krokodil
added on the 2012-11-21 00:03:33 by cruzer cruzer
Preacher: amen.
Thank you so much for writing these words of wisdom.
Really.
If you don't mind I'll save them :)
Aaargh :D. I had a long reply written out but then I pressed back accidentally. So, what preacher said. But make more demos than him, I've found that letting work ruin the love (and steal the motivation for) of programming is a bad thing, but it's possible to balance that if you just explore how you can keep doing it in small increments.

PS.

Stay away from short-term performance enhancers outside those magical moments where you need superhuman performance. Don't be like the others and drown yourself in coffee and caffeine-rich tea and fill yourself on junky food. Life's too short to kill yourself for ephemeral software projects.

PPS.

Do varied shit outside work. I make demos, play the piano, make good food, host people from CouchSurfing, read, write, compose, draw, plan, design, compete, play, watch and explore.
added on the 2012-11-21 01:05:44 by visy visy
I've seen a few people burn out. It's always ugly and sad, when the only way to help them would have been more humane treatment and even drastic measures as quitting a job for a more peaceful one.

I've seen people who had to stop programming altogether, for good because of burning out. Don't allow that to happen to you. It's just as bad a work injury as any sort of bodily harm or post-traumatic stress disorder and might hinder and disable you for the rest of your life.
added on the 2012-11-21 01:14:09 by visy visy
I'm on the verge of burning out myself, and it sucks.

Here's my todo list to turn it around:


  • Exercise more.
  • Care less about work.
  • Stop doing stuff on the computer that isn't coding (translation: no more diablo3).
  • Spend more time in nature.
  • Know when to stop.

added on the 2012-11-21 01:37:33 by bloodnok bloodnok
I'd like to add a few things:

If you have a relationship, make time for that. Crunch time can put a lot of stress on your loved ones and to be honest, for crunching, it is your fault. Also, if the crunch is sustained for long, recovering from it will take a lot of time. After working for double hours for a few weeks or months, you won't be fine after a week or two. I have a personal experience on this and it really did put a lot of strain into the relationship I was in at that time. It fell apart for other reasons half a year later but now looking back, our problems really were exacerbated by the crunch time.

And lastly: unless you are working with idiots, the crunch is the fault of bad management. Always. The project is either mismanaged in some way (changing scopes, internal politics, whatever) or then planned and/or resourced poorly. It is not your fault and you should not share the blame or bear the consequences. Also, because they are the management, they need to be part of the crunch. Nothing is worse for morale if you're toiling until midnight and you watch your boss leave at five. I concede that sometimes you really need to pull the extra mile to ship the fucker even if you didn't cause the problems, but the captain(s) should stay on board.

And never crunch for anyone's bonus. Ever.
added on the 2012-11-21 08:19:16 by Preacher Preacher
How to thank you, guys?
added on the 2012-11-21 08:19:22 by MyO MyO
"- read Preacher's advice twice"

and do that every day!

Preacher for president \ö/
added on the 2012-11-21 08:22:48 by Danzig Danzig
find a forest, go out into it and sit the fuck down. Just sit. When you get bored, thats when the fun start. You still sit. Sit there through the night and let your spirit congeal with Khaela-Mensha-Khaine or ponder what Sandra with the perky titties from high school looks like now. It is not very important. The important thing is that you sit the fuck down and just exist :)
added on the 2012-11-21 09:12:04 by nic0 nic0

login