While this makes total sense, there are in fact roles where working more makes you progress faster. I feel that this is less the case in programming roles. But, in many business roles, working more allows you to learn more about the business, which in turn allows you to contribute more. As long as you are in a meritocratic environment (as I was in), where results are rewarded with advancement/higher pay.
I'm not against doing some extra time if needed, but working overtime regularly with the 'I like my work' mentality is for me the wrong way of thinking, since anything you could be doing sitting at a desk for your employer outside the agreed hours you could be doing it for yourself.