Often I'll learn some maths, experiment with some new approaches to solving problems, or watch screen casts to learn how other people approach the craft.
I don't do it because I'm some corporate shill. I just really love programming.
I also have a wife, a child on the way, and my life seems pretty balanced to me.
I just look at overtime and think: well I only have so many minutes left to live, what's in it for me if I do this? Sometimes the answer is just money because that's probably what I needed at that moment... more often than not in recent years I don't bother unless there's equity on the line (which has never been on the table anyway). If my employers ever had a problem with it I just moved on. Things got tight but they never hit rock bottom.
It's all just about priorities and sticking up for yourself.
I have at times had to suffer such treatment because I needed the paycheck even if I wasn't getting paid extra for the extra hours.
However there was still the choice to leave such a job and deal with the consequences.
On one occasion I wasn't even given the choice. It was expected and I didn't live up to those expectations. I wasn't that upset in the end because even though money was tight for a while I still made it through and got another job within a couple of weeks. I was much happier in the new position and most of the people I knew who worked for that company eventually left anyway.
At some companies I would get paid for the extra time or at least would be given paid time off later on. I just had to ask. Otherwise I would just go home at my normal time.
These days I probably wouldn't even work over time if you paid me extra. I only work overtime if I made a promise to deliver something by a certain date (and I rarely make those promises unless I'm certain) or if I have some stake in the company. That's largely because I'm in a position where I'm not living paycheck to paycheck anymore and don't need to work for my employers if I don't want to.
Admittedly if you're just starting out or this kind of "overtime culture," is pervasive everywhere ymmv.
Exactly. Before I ever got a job programming I couldn't leave it alone. I simply had to do it. I enjoy my other interests and spending time with my family, but I'm also drawn to reading, playing, building in code. There's endless fascination there for me.
I do have some pity for people for whom it's "just a job." To spend approximately 1/2 your adult waking life doing something that merely enables you to pursue other interests and pay the bills. Poor saps. I suppose not everyone can get work doing something they find compellingly fascinating, but I wish everyone could.