This question already has an answer here:
I've been working with a consulting company on client site for almost two years, as a software engineer, specifically DevOps engineer who has done cool things like automated the integration/delivery process, among other things.
I just love the client and the app I work on. The consulting agency I work for, not so much and the main reason is that I find them to be incompetent and unreasonable (to be short). However, this company also "manages" the project, i.e. are not just a temp agency that places contractors to be managed by the client.
So I want to keep my job with the client but quit this consulting company. I am sure I am not the first person ever to want to do this and I am sure there are tried heuristics how to do it. For example, should I find another agency that is willing to represent me and that agency contacts the client with a proposal to disentangle my relationship with the present company and contract me through them or directly? Kind of like when a pro athlete hires a new manager.
I am asking for ideas because this may be a conflict of interest type of situation, however, I do not feel ethically compromised because I don't think the current company are providing quality service to their client and don't want to be associated with them -- without giving up the job and the client I really like. So I don't want to quit because I think it's them who are not good.