On the other hand, many people already have jobs are were contacted by the company looking for a candidate. I would have to take a day off work to go in for a full day interview, so some compensation is also reasonable.
> On the other hand, many people already have jobs are were contacted by the company looking for a candidate. I would have to take a day off work to go in for a full day interview, so some compensation is also reasonable.
I would say that if getting the opportunity to evaluate the company as a fit more substantially than a traditional interview isn't adequate compensation for the company getting to do the same for you, that's quite possibly a good sign to you and the company that you aren't really a good fit.
I disagree. While I have an awesome job, I'm always casually open to new opportunities. That doesn't mean that I'm willing to sacrifice a day of my time for an opportunity which I know very little about before making the sacrifice. If I'm out of work and/or desperate, then yes, the potential benefit outweighs the cost/risk. Since I'm not by any means desperate or looking, asking me to take the risk/make the sacrifice with no compensation is more than the possibility of some yet unknown potential gain.
That isn't any logical grounds to assume I wouldn't be a good fit. That just means the ROI tells me it's not worth my time. Without seeing significant potential reward and a reasonable possibility of getting the job, and actually wanting it, there is no way I'd go in for more than a couple hours of coding without compensation.
The issue here is that I'm making a significant investment (both time and potentially money) in what sounds like quite a long shot. You're casually open to a new opportunity but that sounds like I've only got a relatively limited chance of landing you (and that's on top of us deciding you're a good candidate for us).
You say that the ROI doesn't work for you, but the chances are those odds mean it doesn't work for the company either (we could invest the time and money in the interview and still not land you - that's always a possibility but here it sounds pretty likely).
In all honesty it sounds like the right thing in these situations isn't to pay money, it's to either find a more efficient way to work out whether it's a good match (so that a long interview was either unnecessary or something the candidate was willing to do) or for both parties to walk away and look for a better way to spend their time.
Just to be clear, it's not that I don't value the developers time, I absolutely do, it's just that I think handing over money in this situation (a) may work for the developer but doesn't for the company and (b) rather muddies the water.