But these are token measures right now. I have a colleague who has roughly 100,000 in loans. If you think this is unreasonable, keep in mind that in many states you need a master's degree to keep teaching. There is a 10-year forgiveness program, where if you pay off your loans at an income-adjusted rate for 10 years, the rest of your loan is forgiven. But, you pay income tax on the amount that is forgiven. So we have people paying appropriate income-based amounts, which don't cover interest. Then you get a taxed on a "windfall" of 100,000+. So now you have a 20-40,000 IRS bill, which doesn't qualify for any forgiveness programs. One arm of the government giveth, another arm taketh.
So I think the answer does lie in scaling college costs according to expected incomes, with appropriate measures in place to guard against gaming that system. It seems to come down to a question of whether we, as a society, actually value these service-oriented fields. Many of our elected politicians don't appear to, because they can afford to pay privately for these services (education, counseling, health care, etc.).
If we subsidize education towards less valuable skills at the expense of the most valuable, we end up discouraging people from going into the most needed professions.
That's a pretty loaded statement. Teacher pay is based on years in the system because it is so difficult to measure individual teacher effectiveness, without incentivizing people to pay more attention to the "good" students and marginalize those who are difficult to teach.
Salaries are largely dependent on how much economic return the position provides to the employer, not on how valuable the skills are to society.
It's politically difficult, not statistically difficult. Statistically VAM does a great job.
Paying attention to the "good" students vs the difficult to teach ones is not enforced by every objective measurement system, it's purely a function of how you compute the teacher's score. There are many choices:
# focus on the best, ignore the rest
student_scores.max()
# focus on the worst, ignore the rest
student_scores.min()
# Focus on the cheapest improvements possible
# independent of whether best or worst
student_scores.mean()
# Somewhere in between mean and max
pow(student_scores,K).mean()
# 1 < K < infinity
#Minimize inequality
student_scores.variance()