78

The title really says it all. Let's face it, programming is an extremely stressful job. I've seen half of my class crying in programming courses at college (I'm a CL student, we have about 70% women ;-), and I remember myself way too often as a train wreck ready to smash everything into pieces.

There are a lot of things that can put a programmer under stress. Most commonly, it's client's expectations, deadlines, nasty bugs that have been slowing you down for a week already. Sometimes you feel like you have to compete with somebody, and produce the better code, of course. Sometimes it's your own stubbornness that can get you into trouble. We probably know it all: you're sitting in front of the computer at 5 a.m., the damn birds already start singing outside and you're still hunting that bug, because? well, BECAUSE! As a result, you don't get enough sleep and next the day everything starts over again, because you cannot concentrate.

The list probably goes on for a while, so feel free to add stuff.

In the past I've had numerous approaches to relieving myself from the strain. Some of them I wouldn't want to talk about on a public forum. Other than that, I've played games (mostly RTS and Shooters, although normally I despise the latter.), went out for a walk, procrastinated work until it was too late?

I have yet to come up with a surefire, or at least marginally reliable method of "letting things go". I think I've made a good step in the right direction in not allowing myself anymore to get angry at 5 a.m. If it's past, say 2 a.m. I just go to bed when something doesn't work as expected, and do it the next day.

But that doesn't cut it. I'm still young (I guess), I don't want to die from a heart attack at age 46. That's why I'd like to find out how more experienced (or clever) people than I are handling a typical porgrammer's stress situations.

If you have some resources on time-management or anti-procrastination techniques, I'd be happy to hear about them, too.

Thanks.

132 accepted

It's about prevention and lifestyle choices.

By applying ideas from performance psychology and wellness, and by learning to think about work a little differently in general, I believe it's possible to make huge strides in your stress level and your productivity.

Prevention

I take a 5 to 10 minute break every hour. Yes, that's a good chunk of my day and on a large scale it adds up to countless lost man-hours. But you can't consistently go full blast 8+ hours straight, it's just not sustainable.

Perhaps counter-intuitively, the breaks make me more creative and productive. There are countless benefits. Even just taking an hourly walk to the water cooler could make an impact.

These are not popular ideas in most corporate cultures, but pay attention to yourself. Do you feel like a zombie? Are you having trouble focusing? Have you been banging your head against a single inane problem for over an hour?

That's what happens to me when I don't take breaks. My experience is that once you're past the point of crashing, it takes about 20 minutes of non-activity to recover. You could try to cure this malady with the ole' programming fluid (that's coffee, son) but that's not a sustainable way to do things either. Stimulants are for emergencies only.

The most shocking discovery I've had here is that most developers are not aware that they crash in this way, even when it's obvious to observers. So be aware of yourself and your state. Learn to prevent the crash.

One last thing here: the worst thing I did to myself as a developer is the destruction of my eyes. I completely screwed them up and it was preventable. Computer vision syndrome is a serious issue and all knowledge workers should take steps to avoid it. Frequent breaks is one of the best things you can do to save your eyes.

Exercise

I used to play competitive chess. I would go to a hotel across the state and spend the weekend playing five games of chess that lasted up to six hours each.

This is intense physical exertion. If you've never done it, you have no idea. In my last tournament, I showed up thinking it was a class event where I could play against people of my own level. I was way under-rated and I had been training hard, so I expected to dominate. Well, as it turns out, it was actually an open tournament and I ended up playing against masters and senior masters.

I poured everything I had into those games and I did okay. I surprised everyone and upset a strong player who underestimated me, but then I was so burned out that I spent the rest of the weekened getting mentally pounded. It was brutal.

Afterwords I got the flu and was sick for a week.

How is that possible? Well, as you know, mental stress has a huge physical component and in this case I pushed myself way too far without preparing for it correctly. Top level chess players train their bodies (cardio, etc) constantly to sustain the strain of these events, which are even more of a grind at their level.

I'm not suggesting that you start training like an elite athlete to write code, but there are some tricks that will help. Consider checking out Josh Waitzkin's book, The Art of Learning - he's a fascinating guy because he went to the highest levels in chess and then switched disciplines and is now a world class martial artist. Not only is his book entertaining, it presents an informed perspective on the psychology and challenges of excellence that are common to all fields. And that includes software.

Waitzkin gives tips like this: After studying at a performance psychology institute in Orlando, he learned that if he starts to lose focus in a chess match, he can go outside and sprint 50 yards. After that, he walks back in completely refreshed every time.

Is that an extreme thing to do? Well, yes. Especially if you happen to be wearing a suit. But these things are situational, and ideas like this have helped me a lot, partially because I have a lot of control over my work environment.

Lifestyle

I don't play serious chess any more. I went through a phase where I wiped out all the things in my life that were holding me back professionally and personally, and the intense battle of wills that is chess was the first one on the block.

All that mental work at the board was stealing from my ability to be my best elsewhere in my life, to show up for the people who needed me. I was out of balance because my whole life was built around my mind.

So, create a life that lets you use more than just your ability to calculate. Set some boundaries and learn that it's okay to stop coding at midnight. :) Not only does that make you a more interesting and adaptable person, it keeps you sharp, balanced, and resilient.

These days I practice kung fu, which is fascinating and primal. I also do yoga (actually, I ended up marrying a yoga instructor!) and I meditate an hour a day, which has been huge for me. I'm in touch with my body, which is a big deal that many of us cerebral types miss out on.

To wrap this very long answer up, I feel that I owe a lot to these ideas and I sincerely hope that some of you will find value in them. Thanks for reading!

43

If you have the money to do so, I'd suggest taking up a martial art of some form.

The physical activity (especially if it involves some form of sparring or other simulated combat) will help to remove mental stress, and the discipline involved will help you to better focus and discipline yourself in standard day-to-day affairs.

Also, it's good fun and a great thing on a c.v. :)

27

sex...

(I'm sure this will get deleted)

23

Juggling

Juggling

17

Shooting range....

12

A few approaches:

  • Meditation
  • Tea
  • Observe the secondhand for about 30 seconds
  • Organise your work better
  • Make a pause from time to time
11

Extremely fast, extremely loud heavy metal music (think Dragonforce) and violent video games.

11

Go and give some carrots to a pony. It makes everything better ^.^

9

I take art classes. It's cheaper than therapy.

Also, DON'T TAKE WORK HOME WITH YOU!!!

When you leave the office, stop thinking about work. I don't know how many times I've walked away from a tough problem and had the answer come to me during my morning shower.

9

The biggest factor for me was watching my caffeine intake. It seems to simple to work, but it was amazing to see my attitude change after I cut back.

8

I find that the best way to beat work day stress is to do some physical activity that doesn't require a lot of thought. This lets my mind wander where it will. I jog a few miles or play Wii Sports a few times a week. This also doubles as good "flash of insight" time. When you let your mind wander, it usually subconsciously wanders back to some hard problem you're trying to solve consciously.

8

Honestly, if you find programming so stressful, and unless you thrive on stress, find another way to make a living.

The people writing the best code are probably not constantly set to explode.

7

The gym. Exercise is an important component of a programmer's life as our jobs are hardly physically exerting, and nothing else compares for eliminating stress.

Also, not to be awfully explicit, but sex is an excellent de-stressor as well, if such an thing is available to you :-).

6

To answer my own question:

I bike to work. Everyday an hour in one direction, makes two hours for about 40km. That helped a lot. But now that Winter is approaching in this hemisphere, I was looking for alternatives.

I also play an instrument (bass), but that doesn't relieve just enough stress.

Sometimes I like to eat a lot. Luckily, since I'm riding my bike to work, I didn't get particularly fat.

Red wine also helps from time to time, but I'd rather not rely on any "substances".

6

I simply smash my keyboard and yell out obscenities (see: tourretes). But I seldom get stressed over code.

6

Women, I linked to wikipedia in case someone doesn't know what they are ;), and of course, beer.

6

Write posts about it on stackoverflow.com

5

Run, run and then keep running. I find that once I ripped through my 10km course in near record time that I've completely forgotten what caused the stress in the first place. That, and the sudden burst of ideas that have subconsciously built up over the last hour or so that can only inspire me to solve my stressing problem(s) be they technological or not.

5

Play with your...

  • Xbox
  • Kids
  • Wife (Might just be the best one)

Great ways to relieve stress!!!

4

Find a hobby... I've heared that sport should work but ... uh ... we are programmers, so no sports :-)

When I'm exhaused I like to spank my e-guitar for an hour or two.. That's my way of stress relief.

4

Being just out of college myself, I always found the best way to destress was to have a good group of friends to just go hang out and talk with. Nothing was more stress relieving to me than to just go joke around with about 2-3 other people for about an hour or two. The nice thing about college is I can garuntee some of your friends will be awake at all hours of the night too. Not to mention they could also use the stress relief more than likely.

4

Juggling. I've read that juggling opens up a part of your brain that you don't normally use. When I juggle for 10 minutes, I always come back refreshed, and the ideas come easier.

3

I juggle, play banjo, and, when angry, pound a heavy punching bag. A chainsaw also works, provided you have trees to cut.

However, I agree with the comments here suggesting that you look at root causes. Why do you have so much stress? It's not an inevitable part of the job. I have spent the last five years looking into the sources of my own stress. Many of them boil down to not having an accurate image of myself, which leaves me riding the genius/shithead roller coaster. I have a talk about this, Ease At Work, which summarizes what I found and what I'm doing about it.

3

Throw chairs

2

Yesterday I discovered that the job offer that I'd handed in my notice to my current job and turned down another job offer for is withdrawn because I'm not a US citizen - it seems the recruiter deleted that part of the job description before passing it on to me. After kicking a filing cabinet so hard I broke a toe, and yelling at a co-worker, I went home and did a really long hard workout in my kayak. I probably should have done that first.

BTW: Don't use Adecco, they're idiots.

2

Video Games! :-)

2
  1. Go out and meet people, friends, coworkers. Chat, laugh, eat & drink.
  2. Go out for a walk. Take some sunlight. Watch the trees, Watch your breath and body while doing all this.
  3. Listen to music, participate in some forums etc.
  4. Read some world news.
  5. Go meet your family and kids for some time.
  6. Take a longer drive to a short route.
2

Percussion

When I started my first programming job I played the drums but not very well. I found that even in my small company that intelligence is synonomyous with our career path and was able to start a 5 piece rock band w/ fellow co-workers. All but one that is a programmer and the one that isn't has a BS in Computer information Systems.

Nothing beat's being able to play loud, fast, and dirty for the angry and/or depressing times or playing a little jazz riff for when something goes right. All and all there is a little physical exercise that you get out of it plus being able to hit shit as hard as you want.

2

If your in an office, go out to lunch, leave the building.

2

Just to echo a few other answers here:

1) Talk with other programmers. We all have our war stories to tell and co-miserate with each other about it. To some extent sites like the daily WTF or the Sharky Blog on Computerworld provide some humour into my life that makes it somewhat more bearable.

2) Playing games. This can be card, board or video games where the idea is to take that rage and put it into the game, my preference tends to be RTS and RPGs myself.

3) Play sports. This would also be where you'd get some exercise and may help in some areas.

4) Find entertainment. Sometimes a good TV show or movie can be like comfort food, but without the calories. "This job would be great if it wasn't for the customers," - Clerks.

5) Get a pet. Sometimes the company of an animal can be soothing and give you something to enjoy away from the office.

6) Relax with a massage or spa treatment. Ok, this may sound girlie but a pedicure or manicure can be a nice way to look nice and relax those parts of our bodies were work on so hard.

7) Find a soothing food or drink. This is like that tea or coffee suggestions, though near Seattle it is more common to find lattes and cappucinos was my experience. Sometimes there will be that dish that takes you back to the joy of your youth and sometimes there will be that dish that makes you feel great for a few days.

8) Consider finding a counsellor or therapist to work on finding what will work for you. This would be my main suggestion if you have difficulty with the first 7 in trying to find a combination that works for you. After all, it isn't like just one will work, ya know.

2

In order to relieve you form stress, you should not be stressed in the first place.

It seems like an obvious statement, but instead of looking for a way to relieve you from stress, you should concentrate more on what you are doing, and trying to understand, what is really stressing you.

If the task you are on at the moment seems unapproachable to you, maybe it is because:

-you don't know how to do it (as you said too young, so, stop doing it, and learn how to do it) -it's too big (and you have to split it down in little parts)

I really don't believe too much in anti-stress activities.

edit: oh yes, and don't work forever, you cant' work 16 hours a day and pretend staying productive.

2

Running.

It's amazing how it just empties your mind of all thoughts other than moving your feet. And you get a great sense of achievement to boot.

2

I've found one of the best forms of success I've had in dealing with stress in programming is to try and head it off at the pass. I do my best to make the moment itself as relaxing as possible, I also find this is more conducive to better programming. Generally, I'll throw on my headphones and listen to something with a heavy beat. Not metal, nothing aggressive, usually some form (or subgenre) of techno. It's got a generally driving repetitive sound to it that keeps my head bobbing and gives me something soothing to focus on if I start getting stressed out, and on the flip side it generally has no vocal tracks that would be competing for your attention. I've also found that classical is really good too, once again - nothing too aggressive. Beethoven's wilder pieces are probably not a great idea, but some Bach or Chopin is great when you are really getting worked up.

The other important part is to take a break! I can't stress that enough (excuse the pun). If you feel like you are getting really frustrated, walk away! Get up from the keyboard, walk around for a few minutes. Grab a soda, if you smoke then smoke, walk over and plop down on your couch, talk to another programmer and see if you can help them with what they are doing. Just get away from the keyboard for a few minutes to unwind!

I'm sure that there's no one answer that's going to work for everyone, but hopefully this will click with you!

2

For a break, code something you actually enjoy. I love programming too much to only do it at work, and I get a lot of enjoyment out of working on hobby applications with no deadline. It's especially nice when you completely break away from the environment you usually code in and learn another language/paradigm. Second Life, for all its quirks, is a hell of a change from your typical business programming.

2

To vent stress, I lift weights. That's how I keep in shape.

1

Non-computer related hobbies are the way to go.

I keep an aquarium, and find it very stress relieving.

1

Spend time in StackOverflow

1

I go for bike rides. Also just going for a walk with some tunes from the iPod going (nothing metal or hard rock) eases stress.

1

your best bet if your having problems, is get up go for a pint and come back

chances are you'll see the problem straight away then

1

Physical activity is fine and if you don't want to go too far from the computer, try DDR (Dance Dance Revolution). It's really enjoyable.

1

get kids. it forced me to think about something else when home from work ;)

1

Hard to believe the content of a programming class would cause anybody to cry, but still!

Best ways I have found to de-stress:

1) Watch something unbelievably silly like Blackadder 2) Listen to Motorhead on full blast for half an hour while chugging vodka

1

I vent stress by stepping back from the situation and playing a video game. When I am focused on playing a video game I am not thinking about the stressful situation and it gives my brain time to calm down.

1

Alcohol! Have some beer, or perhaps vodka and it will definitely eliminate stress and put you into sweet nirvana.

1

It's important to know your limits and choose to step away from the code. Ignore the macho attitude prevalant in our industry that says you are a better person if you work ridiculous long hours. Basically, choose to not think about your programming on a regular basis - I remember when I first started I would get so obsessed with whatever I was working on that it seemed almost impossible to let go - it takes practice to do so, and it's worth it.

Also - as has been mentioned - exercise helps on two fronts: 1) helps you not to stress out as easily in the first place and 2) blows off stress if you are already there.

And finally - I do music - which seems to give the programming part of my brain some time off (unless I'm writing music - yeah, weird, I know) - but having some activity, maybe reading or fishing or whatever that occupies your thoughts but doesn't exercise that hyper-creative, problem-solving piece of your brain that gets over heated after too much programming is very VERY valuable.

1

I typically work on a project that does not have a deadline, that I can reap the benefits from. For example, a few years back I build a pool table I have also worked on numerous home improvement projects. I tend to find peace in being able to not only see the benefits of my projects, but to be able to physically use them too. So many of my accomplishments are either too difficult for a non-programmer to understand or I am not allowed to talk about due to NDAs, that I become frustrated in not being able to show them off. These projects help with that.

Once I built the pool I got into competitive Pool playing at the local bar league teams. As a passionate programmer, it is very easy to get too tied up into my work. Before I know it, it's 3 am and I have been studying different ways to attack my current assignment for 6 hours. This forces me to get out of the house and socialize at least once a week.

In the end, finding a non-technical goal and completing it works the best for me.

1

I run 5 days a week. On two of those days, I run at lunch. Those are usually my most productive afternoons. I think a lot of it has to do with getting away from the desk for a bit and getting the blood flowing.

1

Beer, or whatever social lubricant of your choice. A huge step away from technology.. maybe camping

1

Long compile times.

XCKD comic

(from XKCD)

1

Work on a free software project.

1

bacon and alcohol... playing pool is a nice relaxing time i can think alone (this entails playing alone, obviously).

1

Start playing squash.

1

Bikram Yoga takes me away from it all. I come out a new man after each session.

1

I'd say it really depends what kind of stress your are suffering from.

.) If it's time-lines, deadlines, expectations of others, these "mission critical" things, more or less external pressure

  • STEP BACK! Just try to set up a routine to detect your self under stress. You can only handle stress and act if you realize your are suffering stress. 11 hours into a crunchy day is to late to invest your remaining energy to get things done.

  • Try to rethink what they really need. The silly word is "focus", but what's into it, is that if under pressure it's very easy to lose energy on the way to nowhere. If you're under pressure you're hunted and that's when you don't want to choose the wrong way through the jungle. If in hurry walk slowly.

  • Try to understand them: yes, it's always them who put you into that situation. It's them with their incomplete planning, specs and no clue of efforts really needed. Still they are depending on you, they want you to create something for them. Something which will help them to do their job better, provide them information they need. Put yourself into their shoes, make their problem at hand your own. Solve it for yourself.

  • Try to plan: cut that huge monster into small handy pieces. On paper. Don't bother to use any tools. Any piece of paper YOU created, any set of small bites you thought at some point were the right size for you to handle, will help you. On paper, because it will get you away from the machine/keyboard, on paper because you will have to write, draw, scribble and this will ssssslllllooowwww you down and that's just like taking a walk... relaxing.

  • Do you enjoy some special computer game? Does it have remarkable background music? Use that as your background music when crunching away ;)

.) If it's your self putting you under pressure because of a some kind of hard problem you can't get solved, some bug not being possible to happen in this universe

  • Simply STOP. The longer the better. You might think you really stopped handling the problem, but despite your best intentions your mind will not stop. It will continue working on the problem without your attention, yet in a way which is more suitable to find creative solutions, creating connections pure logic does not allow even. Distract yourself.

  • Play really silly. Especially when hunting bugs almost every test case, every thing you try out will give you more information either by disproving a theory or by giving you some hints pointing into the direction of the solution. The trick is to keep track of things tried and putting the pieces together, that's were notes are helpful.

  • Explain the problem to someone. Give you're best to make them really understand the issue at hand. Make sure they really understand. Most of the time YOU will present them the solution, all they will really have to do is accept your: "Thanks for listening".

1

Punching Bag - once place I worked had one on the loading doc. I'd go and rail on that thing! Fists, kicks, pipes, bats, boxes, etc.. It took whatever you could throw at it. Two or three minutes of that and you were good to go.

1

What's with all the e-Guitar, Guitar Hero stuff?

Bass Guitar, second-hand amplifier, find a tame drummer, job done.

Six string guitarists and singers are tuppence a bucketful but we know who wields the power!

1

I just find a few old cynical COBOL programmers and vent on them...verbally and physically, if required.

1

Programming (as a job) shouldn't be stressful. Most jobs are terrible to begin with. Just because programming is a better career choice on average doesn't mean your current programming job is as good as it gets.

If every job you get is equally stressful, perhaps your decision making process is dysfunctional. This means that the values you are applying in making your decisions do not accurately reflect the values you need to be happy. This kind of cognitive dissonance can be very hard to undo. An easy shortcut to solving this problem is to simply do something totally irrational. Do you hate finance? Do you hate wearing suits? Do you hate getting up early? Great, try to find a job where you have to do all three. You may surprise yourself.

None of this advice doing it for you? Alright, consider this: you are going to die, guaranteed, and there's mostly nothing you can do about when. Maybe you haven't quite internalized it yet. If not, try to. Once you have come to terms with that fact, everything else by contrast ought to be a non-event.

1

People have said it before, but i'll say it again, and be a little more specific. Games. social games are a perfect way to let off steam. The people in your team, their personalities, and even age group will determine which games you'll want to play. You can always switch it up. Play some oldschool Quake one week, Rockband the next, and after that, some good old fashion low stakes Texas Holdem. With real cards.

Not everyone is going to go for the Quake, or the Poker, or the Rockband even, but if you mix it up enough, you get everyone involved sometimes, and stronger team cohesion.

1

tune in StackOverFlow.com :)

1

My primary release is Tae Kwon Do. I realized how important it was for my work life when I thought about:

  1. It's a place where everyone is required to be polite. Your mileage may vary, of course, but it's refreshing to have a place where you go on a regular basis where the first tenet is "courtesy."
  2. I literally can't think about work while I'm in class. It's just not safe. You have to focus on where you are right now or run the risk of injury.
  3. It has given me a sense of perspective. My primary form of recreation has me getting thrown to the mat on a regular basis. An awkward discussion in a meeting pales in comparison.
1

Relax music, cup of tea, sex, pc games... =)

1

I go outside every 2-3 hours for 5 minutes. I try to go talk to other developper to get in touch with their work too, this way I take a little rest of coding.

1

I vent the stress of programmig in various ways (not in this order actualy)

  • Listen Music (while not programming)
  • Make my own home project of programming (the most stressful thing is the time, at home i manage my own time
  • My girlfriend
  • My friends
  • Playing Games (Computer ones too)
  • Seeing movies
  • And get 5 minutes breaks every 2 hrs. of work (very helpful)
1

One Word: FOOSBALL

One of our Managing Directors brought his Foosball Table from his house where it was not getting much use. Since then afternoon (lunchtime) and after work Foos have become a part of the culture, at least among us boys. I have successfully ran two tournaments in the past year and a half since the Table arrived. There are times when the Foosball game leaves you more stressed and frustrated but most of the time, it is a great help to just take your mind off whatever is bothering you.

1

What works for me:

Involvement in Church. Doing things outside of the house with family. Riding my motorcycle.

I do all of these things regularly and I also stay as fit as possible. I make sure to make time away from computers and away from the TV. I get out into nature with people I love. I Leave the cell phones at home. I completely disconnect for at least a weekend a month. I spend time fostering meaningful relationships. That's what life is about. These days I work a full day for a fair wage, and when I leave the office, I don't give it a second thought until I'm due back.

As far as handling stress during the work day, I always have several projects to work on. If I hit a brain block on one, I jump to another for a change of pace. Not everyone can do that, but the point is, if you feel yourself hitting a block, don't try and push through it. I find that even 15 minutes of doing something else often gives me a fresher view of the problem when I return.

1

I kill serial killers.

1

Kiss a pretty girl :)

1

I drink with my co-workers. A lot.

0

I'm playing in an amateur hockey league. Spending some energy in a sport you like is very valuable. It helps to release the stress and think about something else.

0

Unplug!

I took up board gaming (not your average off-the-shelf stuff, check boardgamegeek.com) and the time spent unplugged, and socializing, is a great stress reliever.

We've even got a lunch time gaming group at lunch which is a great way to break up a stressful day.

0

Try yoga,but dont expect to much from it ;)

0

Second the board-games: it's something that even my video-game averse girlfriend can get into. Carcassone and Settlers of Catan are good starting points.

0

Excercise and pleasure reading. Get away from the computer for a while.

0

Write long noisy emails to my manager.

Away from the computer? Drink and play guitar.

0

Honestly, just find something you enjoy doing. Personally, I write short stories in a notebook. Get away from the computer for a few minutes at a time. Obviously you don't have enough time to write a story every time you need to get away. Just stop, go to your notebook and work on story development, characters, ideas. Just brainstorm.

The idea is to get your mind onto something else, preferably something creative rather than pragmatic.

0

Physical activity is often good because it fools the body and mind to think one have actually done something for a problem, thus tuning down stress.

Also, empty the brain as in writing lists of what keeps one stressed is also good. Checkout GTD

0

I run. I find by the time I get to the 5km (~3 mile) mark I'm working hard enough that I can't think about anything else other than the run, great way to stay in shape and get outside with those birds too.

0

lunchtime games of Team Fortress 2 with the whole dev team

0

I usually keep a home-improvement project on the go. Repaint this, reframe that, hang this, take that down.

I find that manual work is really rewarding because it is very concrete. It has a start and it has an end. It contrasts well with the more abstract work that I do day-in day out.

Doing something social also helps a lot. I play boardgames. Which really are an excuse to sit around a table with real people and have a drink.

0

I agree with the shooting range -- I find the focus necessary to shoot well or even plinking just for fun to be quite relaxing. Plus you get to make really loud noises.

0

I bike to and from work every day when there's not snow on the ground. That helps quite a bit. Try to pay attention to the traffic. Get a speedometer, and pay attention to how fast you are going. I also find video games quite enjoyable. Good for relieving stress. It's hard to think about work when you have to concentrate on the game.

Personally, I find it pretty easy just to stop at the end of the day, and forget about work until I show up the next morning. It sounds like you need a different job if you are spending such long hours at work. Work shouldn't be something that you spend 16 hours a day doing. It shouldn't be something that stresses you out.

The other thing that works really well is sitting down and playing with the kids. Read a book to them. Play with their toys. Stuff like that. If your wife will let you, just play with their toys anyway, even if they're sleeping. While kids can bring a lot of stress, they can also be great at helping to relieve it.

0

Role playing games.

0

I play softball weekly. I workout a couple times a week. I run every other day. I have a good group of friends to hang out with when stressed or on the weekends. The biggest part to stress relief is to get as far away from the stressed environment as you. You just need to pick something non-related and run with it.

0

The biggest thing to remember is not to ever take work home. When you leave the office leave the work with it.

The best stress relief? I have 2 favorites: An evening with my wife :) or I will go skydiving on the weekend.

0

Find your nearest climbing wall/gym and start climbing. Climbing will increase your hand strength and core stability helping prevent RSI and posture problems common with software developers. Also climbing is all about problem solving which may not appeal to most people but as a developer I find it extremely enjoyable and relaxing. Not only that climbing will get you outdoors away from that computer screen meeting new like minded people.

0

I do something physical that does not requiert my brain to work too much like sports or working around the house.

0

music, coffee, sweets, loosening up my chair, moving around with the laptop, getting some fresh air... a short nap. :)

0

I find it is important to try and manage the stress before it reaches such a critical mass. Routines usually help this. Getting a good night's sleep, eating well (something I find particularly difficult), and generally living healthy when you aren't at a computer.

I thoroughly enjoy listening to music while working. If I do get to that critical point I will generally walk away or turn around and start an esoteric conversation with the nearest person.

After some time away, I generally seek help upon returning to the problem from a co-worker or google (assuming I haven't tried that already).

0

Yo Yo.... heh

0

I second Settlers of Catan and Carcassonne, as well as Citadels. Board games work well after staring at a screen of spaghetti code...

0

Table Tennis!

Dr. Daniel Amen on the the best brain sport

0

Since getting a bike, I've been taking occasional lunchtime bike rides to clear my head and get a little exercise at the same time.

0

I'm definitely going to get flamed for this, but there's just no problem (programming or otherwise) that a cigarette cant solve...

P.S. ...well other than health related problems :)

0

I ride my motorcycle.

0

I have found two things that work for destressing:

1) Do some sort of physical activity, games, such as basketball, work best.

2) Ask myself a series of "what then" questions so that I see the consequences of what I'm stressing about. For example,

I'm not figuring this out. Agggh!

What then?

well I'll fail my task.

What then? (branch into alternative cases)

I'll get help from coworkers, or friends, or online I'll get fired etc.

What then? I'll have to get a new job, or things worked and I'm on a new task.

I find this technique helps me put the consequences of the source of my stress into perspective and allows me to think of alternative paths to getting a solution.

0

Sometimes I go for a drive.. or listen to songs or spend time with my friends who are not geeks so that I will have a completely free and relaxed mind!

0

Your family

I'm a bit surprised that your family doesn't see more mentions. It's a great way to blow off steam.

If you don't have one yet, go out and procreate now!

0

I can heartily reccommend two things:

1. Running

I took up running a couple of years ago, and it's amazing how much less stressed you feel after a run. It also helps you sleep better, which brings your stress down a bit too.

2. Writing stuff down

Keeping things in your head is what really keeps my stress up. If I write it down, I know I can 'forget' about it and it'll be there for me when I need it - especially if I put it in an calendar reminder or something like that.

0

Xbox360, Call of Duty 4, GTA 4

....and beer.

0

This works for me...

  1. Watch/read something funny (i.e. Family Guy, Monty Python) Laughter really is the best form of medicine

  2. Go for a run - something to get your mind off the strain

  3. Go for a walk. Often on those "all nighters" I'll disappear around 6pm and go for a 40 minute walk. It allows me to prioritise.

  4. Leave out the coffee. When I first started in software I'd fill up on coffee. It dehydrates you, you always need to go to the toilet and you can't concentrate on what your meant to be doing. I found myself just staring at the screen after too much caffeine.

0

Video games and music (playing an instrument, not an iPod).

0

I simply vent. I swear up a storm, release a string of expletives that would make George Carlin proud, then complain loudly about having to use OpenID for anything, for any reason.

Then, I get back to work.

0

I am a cigar smoker and I think that helps. I have a humidor on my desk at my day job and when I work in my home office I often enjoy a few. This keeps my stress levels down and helps me concentrate.

The key is to find something that you enjoy and relaxes you, for me it is cigars.

Flipping off the screen helps too!!!

0

Exercise, Hobbies, Friends/ Family, Marketable Skills, and Money in the Bank

Find a form of exercise that you can do a few days a week on a regular basis and do it. I usually listen to podcasts while on the rowing machine. I also used to ride my bike to work a lot. Both give you time to think, and you will probably solve most of your problems while you allow your mind to wander.

Find something non computer related that you love and harness that. I happen to love the arts, mostly Theatre, Indy/Foreign films, and live music. This also gives you the ability to hold conversations with people who aren?t technical.

Make sure that you stay in close contact with your good friends and family, especially those outside the industry. This will keep you grounded. Many of my friends are not in the same city that I am, so I have to make time to call them or chat with them on a fairly regular basis.

Make sure that your skills are up to date and you have a good amount of liquid money in a savings account (the so called FU fund). Most people recommend 3-6 months worth of living expenses. If you know that you can find another job whenever you want to, then things become easier to deal with because you are not worried about how you are going to pay the mortgage. Also, live way bellow your means, especially if you have a high salary that might not be easily transferable to another job.

0

Exercise and video games help out after work, but I'm usually able to keep my work life and home life separate very easily. I combat stress at work by surrounding my desk with things that remind me of life outside the office. I have pictures of my family and friends, I have random action figures and games. I have some posters that used to be in my old college dorm room. Most importantly: I have some foam toys and hacky sacks that I can squeeze.

Whenever I am feeling a little overwhelmed, I'll squeeze something and look around my office. It lets me take my mind off work for a couple minutes and relax. Sometimes I'll also take that time to scribble some notes down on paper or do some doodling.

0

I like to create things in maile. The process is slow and there is no way to hurry so it almost work like meditation.

Other ways to loose the stress is to spend time with the kids (or with other relatives). It even helps to improve on your social skills.

0

Humor. Whenever I run into a brick wall (or worse: deadline) I take a break or spend some time joking around with the guys. Put things in perspective. Of course, I still have to solve the problem later, so I still have to get cracking.

OP's example of people crying about programming is something I've never witnessed, but I have seen similar things - people falling apart because of work related stress - so I can sympathize .

That is why a while ago I decided to never let stressfull situations get to me personally, and when things become impossible, I try to see it as a challenging exercise, rather than a problem.

That's probably the worst cliche you could apply to situations like this, but I find it worrks. Most times, when I run into a nasty bug that I can't get my head around, I tell myself I'm playing a game. The objective is to solve the problem in time, but if I shouldn't make it, that's just game over. not the end of the world.

I'm certainly not advocating that you should not take work seriously. It's still hard work - because when you play a game, you still play to win ;)

But a key factor in handling stress is recognizing it, and knowing when to take a breath. Taking some distance from the job at hand has saved my brain from overheating many a time.

0

Drink more, Think less.

0

Exercise is the best way I've found to cut stress. Going for a run or hitting the gym is a sure fire way to melt the stress away.

0

You only need two things: foosball and office pranks

0

Cracking on Guitar or playing counter strike works for me. Depends on every individual.

0

There are a lot of answers already, but to chime in my 2 cents I use four things mainly.

  • Guitar -- I play guitar and running a website about learning guitar (UnderstandingGuitar.org) (Also, music in general)
  • Motorcycle - There is literally nothing more relaxing (to me) then going down a major highway on my 'cycle at 80MPH. It can put programming and the stressors related to programming in to perspective. (We are not doctors and we do not save lives with our work).
  • More Programming -- I'm sure most people on this site actually do this too. I run a small "stress-free" project at home and it helps remind me why I got in to programming in the first place (I Love it!)
  • Intense Weight Lifting -- Power Lifting and pushing my self hard on this. (Gotta becareful though.)

Regards all,
Frank

0

I assume you've already tried the traditional self-gratify, imbibe, blow-up digital monsters loop?

You might try simply walking away from the computer for awhile. Take a walk. Read a book. Catch up with friends. Make new friends. What have you...

Believe it or not, I have solved and even debugged more annoying problems by walking away from the KVM than by "slogging it out" coding.

The mind is a funny thing!

0

I doodle.. http://www.madcolor.com

0

Halo, specifically the beach assault in the Silent Cartographer section on Legendary.

0

I practice meditation & play the shakuhachi, a Japanese end-blown bamboo flute. I would definitely recommend meditation of some sort as a strategy to control and avoid as well as vent stress. I believe that meditation also yields great cognitive benefits.

0

If you have a big list of things to do, the most depressing thing is to look at that list, especially when crossing something off only accomplishes a few percent of it. Instead, look at the one thing you have to do now, and keep a big list of all the things you've already done. Adding to that list is satisfying.

0

Ear plugs! (For a more hi-tech solution, try noise reduction headphones - a big help, with or without music)

0

I bottle up 8+ hours of annoyance then go to my local gym and thrash it out.

0

In college after late nights in the computer lab I enjoyed hiking up the hill overlooking the city and praying as I watched the stars and city lights.

Nowadays reading a good book, watching a movie, hanging out with friends, taking walks and singing/listening to praise music are refreshing.

0

Nerf weapons.

0

I used to be a chip designer working for a design house in Taiwan. Those of you who are in the chip fab business probably knows that it is a 10 hour per day job where they expect you to stay at work over the weekend when the chip comes back from a tape out.

It was an insane lifestyle. I kid you not, my manager once asked me to call up a colleague to come to work at 3AM in the morning on a Sunday morning. (I was at work with a few colleagues).

How did I stay sane and not get burnt out? I took up ballroom dancing. It provided enough physical exertion so that when I eventually get home at 10PM, I can fall asleep right away. The activity provided social stimulus at the same time as you get to meet people from all walks of life. The idea is to take up something to exert your physical body so your brain can shut itself down easier at night. If you don't do this, you might end up dreaming about work, which will result in you waking up feeling even worst.

0

drumming! or any other kind of playing music...

0

Getting away from the situation for a short period of time is helpful.

It's odd that this is asked, I just had a similar situation. I was asked as a developer to do something incredibly stupid, and there was no way I was going to be able to get through to the particular manager that their request was not a technically sound solution to the issue at hand. The response is always, "Just do it!" I took a few moments to just go across the street to the Einstein's Bagels, have a mocha latte and read a paper, came back after I calmed down, and "just did it." The client is complaining that things aren't working they way they want, but at least, I have documented emails to the project manager stating this was going to be the case, and the normal documented response email of "Just do it!"

0

First get enough sleep. Do not ever stay at work past midnight (actually I try to leave by 9 but I'm old) on a regular basis. When you are sleep deprived you make more mistakes and it takes much longer to do things, so working past midnight on a regular basis is counterproductive.

Do not log in from home to work unless it is a genuine emergency (ie the site is down, not there is a deadline coming up). Home should be sacrosanct. Do not mix home and work, you will find this relieves a lot of work stress. Do not provide your cell phone number to your employer. If they want to call you after hours, let them give you a cell phone. If they can't call you, you will get disturbed less.

Meditation is the only thing that got me through the recent stress of having my beloved die. If it works for that greatest of stressors, it should work to help your work stress as well.

Freinds, family, hobbies all help. When I had a particularly annoying co-worker (a secretary promoted to project manager because she was sleeping with the CEO), I bought a punching bag and named it after her. Very helpful!

0

I am married and have a child, there is no way that I will let the stress get to me any more that my relationship with them gets messed up. I have a work switch, as soon as I leave the office I take a deep breath and leave work inside the building for the next day, I switch off.

0

Though i don't get to go very often, fishing is very relaxing...as long as you don't stress about catching anything...lol

0

Alcohol and tobacco.

0

@Dan Adams: watching someone fishing is even more relaxing ;)

0

Loud music in the car with the windows down. Make sure to choose a song you know and don't feel shy about giving the people in the car next to you a live show. This will work wonders to calm you down and make you feel alive again after spending 8+ hours basking in the warm glow of your CRT or LCD.

0

The shooting range here too! .22LRs for mild annoyances, .45ACPs after 4 hour meetings from hell...

0

Hit people till you feel better! =)

0

Good ol' guitar(could be also good ol' book, or good progressive metal song). Recently, I'm also having immense fun playing Frets on Fire :)

0

When I'm being really stressed at work, one of the things I've found to be useful for relaxing my brain is to go out of the building and walk around. It doesn't take long - five or ten minutes - but just getting away and looking at something other than my computer helps.

Another thing that seems to help is to make sure I don't spend my luncthime staring at my computer. Sure, it's nice to keep reading neat stuff online, but getting out of my chair and spending time somewhere else gives me a good break from the workday and prevents me from sitting at my chair at 3pm thinking that I'd been there for ten hours.

0

Cycling in the Country for me

Also swimming before/after work is great, something about being underwater I find most relaxing. I like to do a km or 2 before work if possible as it means there are no annoying kids, means getting up extra early though.

0

Brazilian jiu-jitsu works for me.

As far as martial arts go, I like it because it's highly practical and very intricate. It's very much a thinking-man's fighting art and is often compared to chess.

You'll spend a good ten years advancing through the ranks before you achieve your black belt which is a gigantic achievement. I've found that as a combat sport it attracts patient, intelligent people, and I think this is part of the reason.

Check it out, and if you can get past the personal space issues and time commitments then it'll serve you well.

0

A few minutes used at failblog.org or something similar is usually a good investment if I need to clear my mind. Laughing is one of the few things that everyone enjoys doing :)

0

Most of my stress usually comes from something that I'm not working on nagging at me. And it tends to stay on my mind. One way to get it out is pacing around talking to yourself and looking crazy. That doesn't seem work too well, though.

A better way is writing your problem down on a piece of paper. You don't have to solve it, just put it into writing. A potential solution often comes up; if it does write it down. It's not essential though.

This seems to help to keep my mind from wandering back to the subject and away from the task at hand. When your brain knows the problem is in writing it seems to let it go.

This is very much inspired by the whole GTD empty-your-mind methodology. Works amazingly well for me, hope it works for others as well.

0

I myself don't get stressed much, so I don't know what to suggest, but my wife (who is also a programmer) has some suggestions:

  • Drive a car;
  • Excercise (she rides a stationary bike at home);
  • Knitting. :)
0

Headphones + some of my favorite music, played very loudly ...

0

Kill small woodland creatures.

0

Physical activity, of course. It's one thing to read about it; it's another to actually do it. You won't know for yourself until you actually try. It works wonders. Start today. Do 30 minutes of SOMETHING and see how you feel afterwards.

0

I listen to Anoushka Shankar music... You don't need any drug to relax, after listening to her ;)

0

We have bought a Fooseball table which we play during breaks

0

I love programming. I don?t see it as a job. I see it as a hobby, even fun but I have done this hobby for over 17 years and like so many hobbies, they take up a lot of time and they never covers the true costs.

I have always provided a very affordable programming service. Some clients may not think so because they can see they have paid thousand dollars and they feel that they should have more for there money.

In fact, much of the money they have paid is for hardware, technical support, the purchase of the base products, training, and installation. To this we are now able to produce a new report that highlights the various categories of spend to help customers see their true investment on their core business operating system.

The actual dollars spent on programming tends to get lumped in with these services and the customer sees their overall spend as being part of the consideration of today?s discussion.

In truth, the actual cost of development is usually much higher that is quoted and we fail to help the customer understand what has to be done and how much true time it will take to produce a procedure. This is very common in the small business market and many programmers fall into this scenario and eventually simply go broke.

When a customer requires a modification, any modification, here are the areas that require time.

  1. The project requires discussion
  2. It has to be designed
  3. It has to be thought about
  4. It has to be reviewed for how it will impact on other areas of the program and user?s experience
  5. It has to be created
  6. It has to be tested with a set of test data
  7. An installation routine has to be created to install it into everyone?s application
  8. It has to be tested and debugged at the customers site
  9. A training manual has to be adjusted or created
  10. Videos have to be made
  11. New entries into the Certified Training Program have to be made
  12. Staff and Distributors need to be re-trained as well as all customers
  13. A period of time needs to elapse before we can send it out through our standard update
  14. Support procedures need to be established and web pages updated
  15. If it is a new module it has to go through a marketing process
  16. If it is a new module it has to have a new registration process established

The whole process requires creativity on behalf of the programmer and has to be done in a relaxed state of mind which is not easy to achieve whilst you have many other responsibilities. Hence most programming tends to happen after hours so the programmer not only works all day, but also works throughout the night, weekends and public holidays. The impact of such a work habit on the programmer is considerable and tends to result in poor personal relationships, constant sleep deprivation, stress and anxiety.

Long term exposure to a programmer makes anyone feel that the programmer has a personality disorder and is simply ?quirky?.

Our new terms of trade are designed to address these findings.

The main changes to the terms of trade are:

  1. All quotes for modifications are estimates only
  2. True costs will be charged
  3. All sundry costs such as the cost of visiting a site, are charged for
  4. For each modification a ?Discovery Document? will provide a reasonably true estimate of actual time required for the job to be completed and the customer will be kept informed on a daily basis as to what progress has been made so that they can keep track of charges
  5. A project will have a specific start and finish date

These changes will not only resolve the actual problems of creating modifications, but will also provide the customer with a faster turnaround of their desired modifications.

The programmer will be more relaxed and not feel the same amount of pressure.

There is a current job vacancy. It is for the cure to the flue virus. Can someone give me a fixed quote on the costs and when will it be complete? Only a fool would fix the price for this job and programming is very much the same.

If the customer will not abide by these terms, find another customer, it?s that simple.

One company I know sets up a new company for each development project. If the project fails, the new company closes down but the parent stays up. This is the cost of creation, Big Kids Rules. Why should you place your life and the happyness of your family in the hands of a business owner?

0

I find writing haiku can be stress relieving. I also find playing Go to be a great activity to involve the mind and still not be stressful.

0

For me, there's a few things. As far as activities, I find that gaming or spending some time outside can both help a lot.

One of the main things that helps me is to compartmentalize my life a bit. Work stays at work. I purposely take the bus instead of driving home. On the bus I'm not responsible for anything, so I listen to a podcast or just sit an think. By the time I'm home, I'm not thinking about work anymore, and I'm ready to just be at home. Follow that by about 5-10 minutes of quiet time before responsibilities set in and I'm ready for real life even on the stressful work days. This obviously won't work if you find taking public transit to be stressful.

0

Skydive :)

It requires that much concentration that every other problem simply disappears. You can not think about anything else.

Then, later, when the adrenaline is gone, you have fresh insight :)

0

Use my boxing bag

0

Make sure that you use your vacation time (and make sure that when you get hired that you get enough during the year)...