I always pick companies where work is not required after hours. I work 8 hours a day (plus 30min for break) and go home. Not a minute longer. I enjoy my time during work but that's about it. I can't even access email outside work and don't answer phone over hours - to be honest nobody even expects it.
I try to be efficient in work but it's just work so I set the deadlines in a way that I can have time to learn while making projects (reading EE Times included) to make myself even more efficient and employable.

Yes, engineers tend to put in a lot of hours because they love their work, but many companies take advantage of that to get free labor. Also, when the job market is like it is now, engineers put in more hours to avoid being the next casualty.

Engineers love a challenge. Chasing down a bug successfully can consume hours before you realize it.
There are also "business" reasons for forcing overtime, but in my experience, you seldom get any real benefit for the extra hours you force people to work.
Now when they work because they are excited about the project, thats just magic.
Companies need to encourage the magic without using a whipp. The results benefit all concerned.
Just my opinion.

“Choose a job you love, and you will never have to work a day in your life.” ? Confucius
But that's not always the reason people work long hours. If you are working long hours and it's NOT for the above reason, there's something wrong.

Working for a few hours on weekends, for no pay, is not an imposition if the work can be conducted efficently and if you do it voluntarily. Seems to me that to qualify as a workaholic, a person has to consider himself almost like a martyr. But if you do the work because you feel like it and it's fun anyway, pretty tough to consider yourself a workaholic. Unless you enjoy that term, for some reason.