I mean for me that's no problem, but I don't live in the US and therefore have pretty liberal employee leave arrangements. I know that many companies in the US are a lot harder on giving out leave. That said, it wouldn't surprise me if this issue is minimised in the tech sector with their progressive business approaches.
For every position they are hiring, there would typically be 2 or 3 candidates who spend the day in the school (including teaching a class).
Is getting 2 days off of work really that difficulty (if you plan far enough in advance)?
If you work in the US and have kids for which you take any level of responsibility chances are you can barely keep up with a typical schedule and have very little leave to play with. Pulling two days out of your ass for a job interview is almost impossible.
For a sufficiently awesome job, sure.
I know that in the US, it's often less. I've heard friends mention only a handful of days per year for leave, with sometimes needing to take that for 'sick' leave because of such low limits. For them, 2 days off to do a single interview would be impossible.
Obviously they're at the low end of the leave spectrum in the US, but given that the culture there is on the whole more restrictive I wasn't sure how that would affect interviewing.
Is your stack that simple that someone can get up to speed on it in a few minutes so that they can actually build out a feature in two days? Most places I've worked, requires significant onboarding to setup dev machines with all the environments and then understanding how the code flows.
Proving why an engineer would want to work with us is exactly why we interview with this system of two try-out days. How can we possibly convey that we're doing cool stuff in a one hour talk around the table? Besides, we think the try-out is not only for us to "judge" the candidate, it's also the ideal time for the candidate to see if he fits our culture and way of working, and if he actually likes what we're doing. Hiring someone that decides to leave a month later is waste of time for all people involved :-).
Of course we also do the regular "around the table" interview before we invite someone to work with us for two days. We have a chat of about an hour, tell the candidate we will contact him and then have some internal discussion. If everyone agrees we invite the candidate for a two day try-out. If we feel the candidate fits our company and we like his work, we usually try to make him an offer on the second day.
Concerning our stack: it's all Ruby and Rails, and a lot of Amazon Web Services. Our engineers all have at least 3 years of experience with Ruby and Rails (or similar) and we are usually only looking for somewhat experienced people. We simply don't have the time nor the budget to train a new hire for a few months. To get going on a try-out feature a candidate usually only needs Ruby, git, an editor and a small introduction to our codebase from one of the engineers. Most of them are productive within two hours of entering our office on their first try-out day. Of course these try-out features are very isolated and require little to no background knowledge of the entire codebase. Once the candidate is hired we will take sufficient time to get him comfortable with the code.
Ethically, I would never be able to interview for your company. Don't most companies like tech companies operate in a similar manner? If so, aren't you limiting your hiring pool to either programmers without those types of agreements or thise whom are ethically challenged.
But in many cases, unenforceable. For example, every contract I signed (both in the UK and Portugal) have it, and while I don't know for the UK, here in Portugal you can't sign your rights away which this falls under. So people just sign it and know if worst comes, the courts will always side by you.
You can sign some rights away just not all of them.
Um IANAL but I am an "approved person" as it applies in the UK (ie I could represent some one at a discipline or grievance hearing)
In the UK and the USA employment law descends from the Masters and servants act.
The argument used would be having another job without your employers agreement is a fundamental breach of trust between the employer (master ) and the employee (servant)