It seems a bit self inflicted to me. Managers where I work expect you to correct them if your workload is too much. But people are just hyper ambitious and/or anxious to do that so they under estimate the work and end up working overtime to deliver what they promised. Over time it becomes the norm among developers. I'm guilty of this as well. Like last night I had to help a new developer, I explicitly said that we could have a meeting the next day if he wanted, I told him not to feel pressured, but he insisted it was fine so we ended up working together late at night to get his environment set up.
The workplace is an inherently biased and unbalanced environment for a worker, and anyone about you is a potential threat. The company can afford to have you gone, you usually can't afford to be gone. So, when asked by a representative of said company's authority and power over you if everything is fine, you are very likely to say it's all good, even if it isn't, especially if you live in a country where being fired is easy. Your decisions as a manager can have me fired if you have a bad impression of me, or if something you repeat to your superiors itches them the wrong way.
In the same way, as a new developer, the impressions of more senior ones are a massive factor in whether or not you stay for more than 6 months. Not recognizing this inherent power imbalance is foolish.
As the other comment said, if you're managing someone, then _cut that shit quick_. Developer works super fast and finishes 1 week worth of work in a day ? Don't give them more work. What was assigned initially is done. Prevent them from giving more. But to avoid boring them, encourage them to take on more personal tasks, some general cleanups that they might have wanted, that is less of a duty to the employer and more of a pleasant head scratcher to them.
> like last night I had to help a new developer, I explicitly said that we could have a meeting the next day if he wanted, I told him not to feel pressured, but he insisted it was fine so we ended up working together late at night to get his environment set up
Its most likely he wanted to leave a positive impression. We're in a bad economy, people want to hold onto their jobs .. and the "easiest" way to appear like a good worker is doing long hours.
Its up to you and your team to cut that shit immediately otherwise you will all work all the time.