It is easy to say, "I'm only going to hire self-motivated people and if they can't get the work done they're fired." But the reality is most people aren't like that. And it's a hassle to have to fire people if they can be productive with more management.
So I'm not sure what the best way to handle this is, but I think HN would be better served by an actual discussion of practical solutions rather than rants by disaffected programmers howling with rage at being asked to keep regular hours. On the employee side, I still believe doing really good work solves pretty much all of your problems if you can effectively communicate what you're doing to the manager (and put in the required time). On the employer side, giving people a bit of slack (30 minutes), a fair degree of autonomy and coming down on them hard if/when they miss their deadlines is the best I've been able to come up with. I'd welcome a better discussion of this since as a manager I don't want to have to waste my time micromanaging this stuff either.