I've been a full time software developer for 12 years and I have always averaged around 40 hours a week. I can't think of any year that I worked more then a few weeks over 45 hours. Despite this I am well paid for the profession, have always had ample job opportunities and have a contact list full of people who would gladly work with me again.

There is an unspoken expectation among some in the industry that you will frequently work uncompensated hours. My tactic is that I simply don't. I don't commit to deadlines that require unreasonable hours. If I see something heading that way I try to divert it as soon as possible by changing the deadline or the requirements. Sometimes the situation can't be manipulated and the hours are necessary to complete the job. In this case, I'll do it if it's a rare situation or I'll find another job if it is a pattern. Maybe I've been lucky that I've never had any really terrible situations but I've always been able to restrain my hours - even when people around me felt compelled to work more. It hasn't hurt me professionally that I can tell.

I'm also careful when I take a job what the work environment is like. I ask point blank how many hours a week the developers typically work. I once politely ended an interview when I was told to expect 50+ hour work weeks.

This is why I've always worked on boring IT applications instead of cool games or commercial web sites. While there would be a thrill and satisfaction from working on something in the public eye, the quality of life that often comes with those projects isn't worth it to me.