I second the first and last statements. As far as compensation goes, here, an average Java developer makes a least 3x of what is the average salary for the region in which I live. Yet all local companies are complaining about the quality of job applicants and interns. Those high salaries seem to be attracting quite a few lazy people seeking easy money.