Some other points to consider.
Lots of Politics.
No recognition for the work you do.
Most people avoid work since firing / layoffs are difficult if not impossible.
Since you are the newbie, whether full time or contract, you will get dumped with work, yet, no recognition.
Java - Although this is a good technology to be in.
More recognition for the work.
Salary / Bonus much better.
C++ - Still strong, Java a little more popular in IT.