There’s a difference between programming for fun on personal projects etc in your own time vs. doing work without compensation. Working overtime for free is not only allowing your employer to steal from you, but sets unreasonable expectations on all of your colleagues, too.
I work at a place where if you don't work overtime you are considered garbage. Everyone will beat up on you any chance they can because they are bitter. Meanwhile, not everyone has that luxury. Single parents, caregivers, etc. Just because you write code doesn't mean you live a kushy life...
Plus I've observed that people who consistently do a lot of overtime for prolonged periods of time rarely seem stop and think, and are fairly consistently some of the worst programmers I've had to work with. They're not necessarily stupid or lacking in skill – often the opposite actually, they just never stop long enough for their brain to actually process things, so questions like "hey, is this actually a good idea?" or "how can this be done better?" just don't seem to percolate; your brain just needs some "downtime" for that.
LOL. Correct. This guy who works weekends without even being asked to, is genuinely a genius in that area but he just churns out complete sh*t. Mindlessly building.
I haven't faced this, although I could expect it at the worst places.
If I do really high quality work, am positive and proactive towards the companies goals, contribute and encourage others, I have never been looked down on for working reasonable hours and not working weekends.
I think some employees think they can be fulfilled as a spectator in their companies journey rather than someone who believes in it and helps it. At my current employer, it isn't necessarily the subject I would choose as my most favourite thing but I believe in what they are doing to help people with online data collection and I am an active part in that journey so I can feel fulfilled.
For me, I need motivation and flow. Meetings often disturb my flow and if I’m not in the mood I‘ll work less hours between Monday to Friday and add a few hours on the weekend.
If there are production issues there also might be benefits of solving or working around a bug as soon as possible vs fixing and cleaning up later.
But doing consistently more than 40 hours per week will lead to burnout. Don’t do this. Work smarter, not harder.