HI, although I am still a newbe to
Java, I do know something about contracts and have been a contractor myself. Your situation has to areas you need to be very clear about. 1) will company B sue you if you leave prior to your 2 year commitment and 2) can company A hire you if you have been a recent employee of company B. Often contracts are written to �lock the Tech In� so you can not move to the often much larger company.
The first approach I would take would be to make a case by showing my track record of good work done with company B. If they do not want to give you a raise, you have put them on notice you may leave. This will answer the question CAN you leave prior to your 2 year commitment IF you have one; IF not (no 2 year commitment) tell company A your thinking of leaving, let them make you an offer if they really want you. OR IF not (no 2 year commitment) look for totally new work in a direct company A situation,
In any case you must research what a TECH in your area with your EXPIRENCE is normally paid. Ask other consulting firms, and ask other TECHs in your area. Andy