I'm a consultant, and a colleague from the current client company asked me if I knew a developer with specific traits, and using specific technologies.
I know a guy exactly like that, from the previous mission which was about two months ago.
On the one hand, he is essential to his team and company (basically the only one able to maintain a few critical applications). They would probably suffer a major blow if he were to leave the ship.
On the other hand, I felt like (my perception of the situation) he was badly paid, wasn't improving, and was spending too many hours on the clock for a situation which seemed bad.
My dilemma is that I'm not sure how unethical it is to invite him for an interview, knowing perfectly how bad the situation would be for his current company.
If he were to leave his job, he would have to stay working for the previous company for up to 3 months.
I would recommend him to another client, not my consulting company.