If you rock up to a client and immediately let them set any kind of requirements on your life instead of having a "this is our goal, make it so!" relationship then a subtle kind of power relationship has been created, where they'll think it's acceptible to mandate employee rules on you like this.
If you're a contractor, then the corp you're whoring out to is NOT your employer and you must not let them act as such (this makes it worse for all of us, not just you).
They're paying your buisness to do something for theirs, how you do that is your business and yours alone. There's no need to be a total weirdo about the whole thing and go off on one because they want you at a meeting at 10 some day or whatever -- you have to be diplomatic and be mindful of the way you're being percieved by the perm staff -- but generally I will not tolerate requests from clients w/r/t anything like attendance outside of meetings, dress code, general sobriety or whatever else which isn't impacting the deliberables we're providing, and wouldn't attempt to push them on my staff either (contract or not).
I've walked away from several really lucrative contracts because of this sort of client behaviour and I don't regret that at all. Your clients aren't, and never will be in control of you, you're there because they need you and they should treat you with the respect an engineer with your day rate has earned.. shrug
Generally, this sort of attitude has been accepted in every contract I've had in london in the last 5 years or so..
The secret is to get this point across very soon after, or even before, starting the gig. Absolute confidence is probably rq too tho...
edit: butterfingers
I only have experience with two big corps so far (keep coming back to the second one ;), but I've seen quite a few contractors at both and some of them were just plain flaky. That of course makes it worse for all of us as well, wrt to clients tolerance for things like remote work, etc.
I'll be in Berlin next week (I missed Nikolaus and I have some belated shoes to fill; failing that though definately again around silvester)
If you're up for a beer or sixteen on me, I'd really find the insider scoop useful on a more personal medium; I'm sure we could probably both get something from it, at least the worst would be a lot of free beer!
You can find me on freenode as 'cyb3rpunk' (inside a shiny new irssi in some tmux somewhere so might take me a while to respond) if you're up for it -- otherwise, prost!
It's not some intentional psychological ploy or anything, but I've found that people generally don't take the absolute piss if you let them manage themselves totally (we are all adults, after all, and who the hell am I to tell anyone how to handle themselves professionally as long as our obligations are being met)
Sure, everyone has to get together sometimes, but being onsite and having a normal lifestyle doesn't work for everyone, especially some of the 'top tier' engineers I've had who tend to be a bit wild.. Pushing 'school rules' on people just leads to them exiting, and it's no use kidding yourself that they need you more than you need them.
One of the best engineers I ever had had some sort of really insane drink/drugs lifestyle, he would drop commits in between 2-7am and they'd be brilliant, then he'd vanish for a few days, and repeat. Did I depend on this person completely for the whole project? No. But why should I care as long as no one else is annoyed by this behaviour on the team, and the work was solid?
I've never had someone actually emigrate during a role, but often people would go away for a few weeks and it wasn't a problem, again, as long as work is being done.
I'm not really sure why this isn't the case everywhere, but as long as my staff act like adults then they'll be treated as such. Onsite requirements are usually a symptom of a lack of trust or an insecure lead.