In Work/Life Balance Will Make You a Better Software Engineer · Code Without Rules, I read:
The final benefit of work/life balance is attitude: the way you think about your job. If you work extra hours on your normal job you are training yourself to do your work with more time than necessary. To improve as a software engineer you want to learn how to do your work in less time, which is important if you want to take on bigger, harder projects.
Working a reasonable, limited work week will help focus you on becoming a more productive programmer rather than trying to solve problems the hard, slow way.
I can relate to this. There’s always something broken than needs urgent fixing, and there’s always more work to be done than can fit in a day.
It’s tempting to think, “If I work on this a little tonight, then tomorrow my day will be better, because the problem will be gone”.
Sadly, what actually happens is even if I manage to fix the problem (as opposed to making it break in new and interesting ways), each new day brings new problems, so I’ve given away my precious evening for no gain and…
…I’ve also increased my capacity to take on work, all while keeping up the appearance of being efficient with my time. So rather than become more efficient with my working hours, I become lazy and ‘catch up’ with what I should have done during the workday.
It’s a formula for frustration and more overwork.