views:

2957

answers:

55

Do you cultivate an alternative career/hobby which complements or refreshes your primary role as a developer? If so, what is it and why?

Also see these related questions:

+28  A: 

Alcoholism. Ted Dziuba has some other suggestions, too: http://teddziuba.com/2009/02/effective-vices-for-the-it-pro.html

womble
http://imgs.xkcd.com/comics/ballmer_peak.png[Apple uses automated Schnapps IVs]
JMD
I'm glad I'm not the only one who loves Ted.
Paul Fisher
im glad this got upvoted 12 times, that is so sweet
Who is the prudish ninny who marked this offensive?
Simucal
+1 Cheers mate!!!
rocknroll
+43  A: 

Answering questions on Stackoverflow.com

GvS
did not even consider that but know that you say it... I am spending more time on SO then with my other hobbies.
Berek Bryan
Answering questions on Stackoverflow.com is a way of life, not a hobby.
JacobM
So is programming. But it is also a hobby :-D
GvS
I believe closing questions is another hobby of some here.
JTA
"Answering questions on Stackoverflow.com" - Please don't confuse an addiction with a hobby/career. ;-P
Adam Davis
+5  A: 

MUDding. Learn how to slash, hack and slay your boss. In text mode. Learn regexps with TinyFugue(mud client). Because proper scripts and regexps will save you characters life :P

And then become programmer / wizard in a LPMud (today rather the branched LDMud) and stop cheating. Darn. Learn about OOP in LPC, a totally awkward language with PCRE and Lambdas. Wohoo! Learn about developer-hierarchies that are sometimes worse than everything you might experience at work (the don't name the "chief" developer at some MUDs "God" for fun)!

Alternative: Windows-Installer-and-Maintenance-Idiot for the whole family! Yeah! The boredom! The anguish!

Leonidas
+7  A: 

Poker. I'm convinced that there's no hobby more tightly linked to programming than a good game of Texas Hold 'Em.

Jekke
+33  A: 

My hobbies (drums and motorcycles) have nothing to do with computers whatsoever. I find that having hobbies outside of the industry help to clear my head and provide balance to my life.

Dana
I can't agree more.
Berek Bryan
I agree. Used to study CS as a hobby, now I try to spend time on art and martial arts. Something non-intellectual is key.
Steve B.
+1 Drums are great.
Sergey
+22  A: 

Photography. If you see beauty in code, you can see beauty in imagery.

achinda99
Not true for me. Never had any eye for image beauty (paintings, sculptures, artistic photography). I wouldn't voluntarily hang a Picasso on my wall for example :D Music though... different business.
Alvaro Rodriguez
Maybe its just me and my D60. But I can't function without music.
achinda99
I don't agree with the 'see beauty' correlation but I do agree that photography is fun and has some aspects that cross-over. Such as the ability to 'zoom in and zoom out' - to look at the very fine details but also the big picture (no pun intended). And thinking visually helps with UI as well
David HAust
Programming Skill -> (read: implies) Math/Science Background -> Ability to understand physics behind photography and concepts like light, shutter speed, aperture, etc. -> Photography Skill
advs89
+17  A: 

Playing guitar, believe it or not. When I work from home, I find I can work through problems easier if I take guitar breaks.

Matt Briggs
+22  A: 

Ladies

...I kid, I kid.

Dustin Getz
you kid, or -- given your hobby -- now have kids? ;)
Joel Coehoorn
I'd vote up @Joel's comment if I could.
Tom
Ladies, true. Kids too, after 9 months or so.
Tadeusz A. Kadłubowski
+4  A: 

Video Games! and Cigarettes!

Kelly
And blackjack! And... and hookers!
womble
and gin, don't forget the gin
Todd Friedlich
In fact, forget the programming!
Wickethewok
OMG FEMALE!!!!!!!!!!!111
+22  A: 

Woodworking - it exercises a similar portion of the brain but gives you something more tangible as a result. The two complement each other quite well - woodworking gets you up and moving and working physical muscles and programming lets you sit down and relax. Both require similar skills in problem solving and optimization.

Eclipse
And Jesus was a carpenter!
Ali A
Nice point Ali A :)
epochwolf
+8  A: 

Playing any kind of instrument/music. I'm especially a fan of some improv guitar. After hours of programming or reading a book about it, theres nothing like throwing on a nice jam track and throwing down a jam session.

For some reason it especially helps when I am stuck on a problem.

+5  A: 

Wargaming. Programming is Strategy.

Lance Roberts
+24  A: 

Rock Climbing and Cycling. Another vote for having hobbies completely unrelated to computers.

Kibbee
Cycling (at least road anyways, mountain biking, not so much) gives lots of good time for thinking.
Brian Knoblauch
Running is my way to limber up and get the blood flowing after a day of sitting hunkered down in a chair.
JMD
I found that climbing helped with my RSI issues. Now that's a complementary hobby!
Zac Thompson
Hmmm, running hurts my knees, which makes me sit in my chair longer and do more programming, so that could be complementary too. :-)
Brian Knoblauch
I've been climbing for 2 years now too! I love it, recently hurt my finger and just getting back into it, ahh i've missed it!
Brad Goss
+12  A: 

Puzzles of pretty much any kind. Sudoku, Crosswords, Logic and classic jigsaw.

ShaneB
+2  A: 

A good alternative career is commercial training (NOT academic teaching) - you learn a hell of a lot when training other people. Unfortunately, training jobs are the first to go in hard economic times.

anon
+1  A: 

Run a little server farm in your basement. I've got 3 old computers so far. :)

epochwolf
If I had the space I would *definitely* be doing this. Not for anything practical, of course.
JMD
+7  A: 

Playing chess.

SDX2000
+30  A: 

Probably the hobby that aids a programming career the most: reading.

Tech careers require constant learning, because of all the new tools, languages, and methodologies coming out all the time. Reading technical books is the most cost-effective way of improving your knowledge.

Even reading non-technical books for fun is good because it keeps you in the habit of stepping away from the keyboard and concentrating on a book for a while.

Bill Karwin
+2  A: 

Amateur (Ham) Radio.

JTA
thats cool, i want to get into this area. Do you toy around with software defined radios?
Not not really. Mainly I use development for logging contacts that I have made through the years.
JTA
+5  A: 

Reading. Studying philosophy. Learning languages & translating poetry (Ancient Greek currently. It's fun.)

All of these actually have surprising similarities to programming. They're hard to name, but I just feel myself using the same parts of my mind and thinking in the same patterns.

levand
+11  A: 
  • Cycling
  • CounterstrikeSource/TeamFortress2/PerfectWorld
  • Sudoku
  • Movies
  • Hobby Programming (projects rarely go beyond proof of concept stage, where the fun is)
  • StackOverflow
  • 2 Kids
  • Reading
  • Music
Joel Coehoorn
+1 for cycling!I code when I'm cycling.
Mario
joel i saw you camping with an awp on fy_iceworld like wtf
When was this? I hardly play anything but gungame anymore.
Joel Coehoorn
Make it 5 kids for me. Other than that, I'm with ya!
Boydski
How can you work, have 2 kids AND have time for hobbies? Work and 1 kid (and a demanding wife) take most of my time! And sailing.
Hooloovoo
+5  A: 

I spend a lot of my time working on http://www.projecteuler.net math problems solved by a computer. I'm not too good at getting an efficient algorithm, but I try everyday to learn something new from projecteuler.

+2  A: 

One of the things that helped me a lot with performance tuning large scale systems was playing with cars and trying to make them perform "better". In fact a lot of stuff was immediately transferable. I'd rip the engine out of a car, put it on a dyno and know how it performed independantly of the drive train... make some major/minor changes and then put it under load and test it again, carefully recording my changes and aiming towards specific goals.

Plus its a more immediate reward to get your car 1-2 seconds faster then it is to get your code base's execution time avg down 1-2 seconds :)

David
+3  A: 

I find juggling to be a perfect complement to programming. You need to stand up, relax your whole body, let go of your conscious thoughts and just juggle. If i can't solve a problem or are just tense from sitting at the keyboard for to long, just 5 minutes of keeping the balls in the air help enormously.

jdisk
A: 

iPod. I can see pure Abstraction.

Techmaddy
Your hobby is a music player?
recursive
+2  A: 
  • Daughter - The single most important thing in my life.
  • Real Estate - Keeps me on top of my game and makes some money (I love social engineering)
  • Chess/Dominoes - Helps get your mind right.
  • Black Label/Night Life - Relax & let some steam out / love to meet friendly ladies.
  • Debate / Public Speaking - This is just plain fun, I love playing devils advocate (great movie btw) as well as expressing my opinion & fact.
Quintin Robinson
+1 (actually, plus a million) for prioritizing one's kids!
Bill Karwin
Thanks, there's just nothing more important to me then her, she's the best thing on earth (then again I am a bit biased =P)
Quintin Robinson
+2  A: 

My favorite hobby, and one that I find relieves an incredible amount of stress that's largely attributed to programming, is taking any old hardware i can find out into my field with an axe, shotgun, compressed gunpowder, lighter + aerosol can, gun + aerosol can, (once put an old propane tank into an old server rack), large truck, small truck, old car, baseball bat a la Office Space, pneumatic wood chopper, and finally, harsh verbal insults.

Additionally, I play guitar a lot, as a previous poster said, it does seem to help with problem solving. I also rock climb and bike quite a bit. The contrast is relaxing for me.

Cyprus106
+1 A while back I finally got to drag an old server from out of its rack and throw it out the window into the empty dumpster 3 stories down.... I felt a lot better after that POS died.
David
+4  A: 

Play the piano, proper posturing helps a lot with your wrists when coding.

yx
+2  A: 

Try Brazilian Jui Jitsu. Not only will you receive the much needed physical excercise and stress relief programmers are typically lacking, it's also very tactical. Its similar to a large switch statement...if he puts his arm here, break it, if he grabs there, break the grip, if he shifts weight this way, sweep him over to his back, etc etc.

The combinations of different techniques is endless, like programming, but is largely focused on "the basics".

Not to mention there's a certain amount of confidence you gain when you know you can snap on a cross collar choke and have your boss blacked out in under six seconds :D

Cory Dee
“if he shifts weight this way, sweep him over to his back” there's a fall through in this case. If it was intentional, you document the behaviour.
sjmulder
+4  A: 

Electronics (see Arduino.)

Adam Davis
Any kind of electronics projects, see Parallax.com propeller chip or BASIC stamp. Electronics plus software can get you into robotics.
Bratch
PIC processors.
David Sykes
A: 

Music. it's relaxing and studies have shown that there are many intelligence type of advatages as well. pick up a guitar!

Derek B.
+5  A: 

Rock Climbing.

I've done my share of hiring in this industry, and the only strong correlation between programming skill and any other activity has been with Climbing. The strongest team I ever worked with was 4 climbers and 1 non-climbing junior dev.

The correlation goes the other way too. Traveling the world to climbing destinations, it's astonishing how many of my fellow dirtbag wanderers are contract developers back in the world. (Generally working in Microsoft technologies, so maybe there's a pragmatism correlation there too!)

Jason Kester
+5  A: 

Yoga.

My team leader on one of the previous jobs did yoga sessions during his lunch break. (This involved a headstand for a certain fixed lenght of time and, of course, other exercises).

I have to tell you, if he had a problem he was trying to solve, he ALWAYS came back from his yoga session with a solution. Would the effect be the same for any other type of physical activity? I don't know. Maybe. Or maybe the headstands are the 'secret'. I should try it someday.

Evgeny
+12  A: 

WHATEVER YOU ENJOY. Don't pay any attention to what others say.

There's no ONE thing that's best for everyone.

Do something YOU enjoy and can lose yourself in.

Clayton
I agree totally. I take the other folks' suggestions on this thread as examples of complementary hobbies, not as advocacy for adopting any particular hobby over another.
Bill Karwin
+2  A: 

Playing video games. Even better writing your own games for fun.

Gulzar
+3  A: 

I brew beer in my spare time. It's a lot of fun to be able to make something that gets you drunk. Plus there's the creative aspect of creating a beer that no one has ever made before (or one that's so crazy the big beer companies would never go near it). It's also a long-term project because of the time it takes to ferment, so it's a good contrast to the must-do-it-now deadlines in the software world. I also enjoy cooking in general... it's much more analog, with recipes being very flexible and not subject to rigid rules and exact amounts.

I also collect, use, and restore fountain pens. There's very little that contrasts with a word processor as well as a writing instrument (for paper!) that has to be filled with ink from a bottle. The feel of writing with one is so smooth and different/better than a ballpoint that it actually makes me want to take notes (it was this effect on me that made me switch to using them in college -- I think I would have failed a lot of classes if it didn't make me take so many notes). Then there's the fact that they're works of art, many made out of precious metals and quite stunning, plus the older ones are antiques. They're also user-serviceable machines, so you get the fun of tinkering with them. And they're a great way to spend a lot of money really quick, since antique + precious metals = expensive. Wait, that's not a good thing...

rmeador
A: 

Puzzle solving (sudoku and the like) is definitely one. I like algorithms. The downside is that i always wind up creating programs that solve those puzzles for me, so i'm back to programming.

tehvan
+2  A: 

Topcoder and Project Euler.

Jace Jung
+1  A: 

Running. It is a meditative dynamic dream-like state that clears out your head and refreshes your body.

mannicken
+1  A: 

I play the Violin. This hobby started off long before I discovered programming or computers for that matter. It has helped me be a little more creative while writing my code and a little more thoughtful when I play my Violin. I remember reading a paper about how both, playing an instrument and writing code, complement each other.

Apart from this I also enjoy reading - Poetry, Philosophy, SF. Cycling is something I picked up recently so I could keep fit. :)

tsps
+2  A: 

Gaming,

  • It's fun
  • Nowadays you can do it in anywhere,
  • It'll give you lots of ideas,
  • You can hack them for fun,
  • Social, Multiplayer, MMORPG or similar games also might help to satisfy social requirements :)
dr. evil
+2  A: 

I practice parkour (a real agile method) to keep in shape. When your work is totally non-physical, you need some physical exercise to be able to continue working. (Although sometimes it feels that I get the disadvantages of both - sore neck and back from not moving enough, plus sore leg and arm joints from moving too much. O_o)

Esko Luontola
+2  A: 

Paragliding.

Nothing else is so relaxing and endorphine-filling. Well, maybe drugs, but there are cooler ways to kill oneself (I.e. paragliding).

christian studer
+5  A: 

Flying. It gives you a great feeling of freedom. It has practical math, physics, meteorology, and yet anyone can do it. It is full of interesting puzzles. As in programming, there are differences of opinion about things, but you can always get down to brass tacks. There is a cameraderie among pilots, and an attitude of looking out for each other, that we could all learn from.

Mike Dunlavey
Maybe we could start an association: "Flying Programmers". :-)
Rui Craveiro
Hey, I'm up for that!
Mike Dunlavey
+1  A: 

Acrobatics! Without really `working out' you exercise all the muscles in your body. Including the problem areas for computer users: arms and shoulders.

And it is also a great way to practise your social skills: working together and trusting others to save you, should you fall. Works both ways: learn to care for others.

Most importantly: it is great fun!

+2  A: 

Chess, guitar and exercise. Each refreshes your mind.

Dean Madden
+1  A: 

Absolutely anything that makes you happy and helps you relax.

Adam Jaskiewicz
+1  A: 

Playing TT (ping pong)

Binoj Antony
A: 

Cycling at summer and snowboarding at winter. They really help me clear my mind.

+3  A: 

Flying airplanes and sailplanes. When I'm flying it is guaranteed I am giving the part of the brain that I use to program a rest. It is the most live reminder of a physical life rather than the virtual world I'm usually stuck in. It is the definite red pill... without the pain.

Rui Craveiro
Mike Dunlavey
... One of my co-workers is also into it. It's a great antidote to the petty little tensions that can creep into a project team. My bugaboo has been doing steep turns consistently. He's had a lot of glider time, and steep turns come naturally, so he gave me some great tips.
Mike Dunlavey
Hi Mike. I try to teach my students a few tricks (during weekends, when I am not towing gliders, I'm teaching how to fly them). The first of them is attitude. Either straight and level or during a turn, maintain attitude. Everything else comes into place. Basically, look outside and only ocasionally glance inside to the instruments. :-)
Rui Craveiro
A: 

Poetry, reading, sketching, rebooting Windows (it's more of a compulsion), taking loooooong walks (yikes I sound like I'm dead) and my favourite: DOING NOTHING.

intrinsic
+2  A: 

Sailing I find the variables you have to take into consideration, the patterns you have to follow and the physical excersion you have to put in to get a good result all go clean to hell when you get slapped by a wave and the boat stops dead in the water.

Whenever something breaks or goes wrong, there's always the opportunity to do some problem solving. I've learned everything I know about Marine diesel engines upside down in a lumpy sea. (The most important things I've learned are to make sure you have plenty of diesel and that you service the engine!)

I've also learned that with appropriate use, rope can be a good substitute for steel if you think laterally about the applciation.

It also gives you a chance to speak to the crew on your boat, and the crew of other boats in the bar afterwards.

That, and it's a great leveller. I have shared boats with Project Managers, company owners, network engineers, nurses, builders and students. We all have to work together every time, or somebody will get hurt.

Rather a bad day on the water than a good day in the office.

Hooloovoo
+2  A: 
  • Guitar & Piano playing/learning
  • Reading (Hawking, Greene, etc. fascinating stuff :-))
  • Live For Speed + Logitech G25
  • Listening music
  • Composing music
  • Mountain-trekking

Cheers ! :)

+2  A: 

Exercise, it helps the mind clear and in the end you feel better. I think it's more important that I get that hour of just me time to decompress against the day.

mcauthorn
+1  A: 

Cooking and baking, especially baking breads and cakes. Any sort of culinary endeavor is basically science you can eat.

Besides this, I work out often, play chess, read books and articles in many different subjects (although I seem to drift back to cookbooks...).