I don't cavalierly criticize the teaching profession, but I do criticize teachers individually and collectively when I think it needs to be done.

If I had to roughly (very roughly) ascribe blame for failure:
90% students and their parents
9% teachers
1% the "system"

(Of course, any particular cause might not reflect this.)

There are legion of disadvantages a child might have - being poor, being blind, being slow. Among the worst, though, is having idiots for parents. This said, I've known - and know - a number of teachers who are ostensibly dedicated to students, but who are utterly incompetent. Ten hours a day or 24 hours per day in the classroom would make no difference.

I've considered leaving my current profession and becoming a teacher. My wife has stated outright she would divorce me. It would be a huge pay cut, but moreover, it seems to me I'd be put on the same pay scale as a person with no experience. I might even have to get another master's degree (not sure on this one). A teacher switching to a computer related field would not have near the hassle, assuming he already possessed the required knowledge. Still, I do what I can.

1) I monitor my own kids' educations and fill in gaps
a. I read to my own kids.
b. I talk to them regularly about different topics, some of which they discuss in school, and others of which they don't.
c. I tell them that having an abysmal teacher is no excuse for their not trying. If anything, when you have an imbecile for a teacher, you have to work harder.
d. I kick them in the butt when they need it, but I'm also willing to kick the teachers and administrators in the butt when they need it. (A teacher has to be really seriously screwed up for me to get involved. "So and so is mean" or "She's so unfair!" is dealt with by a single response - "You go talk to so and so.")

2) I tutor students and teachers.
a. I've helped students learn: physics, algebra, geometry, programming.
b. I've mentored high school students
c. I've coordinated other mentors and tutors. (Who are pretty universally pissed off, because the parents let the kids get away with making appointments for free tutoring and then not showing up.)
d. Currently I'm tutoring an entire class - including the teacher - in java.
This is the first time I've tutored avanced students. I get 1 to 5 problems a week via email that I solve and answer - usually within a few hours. I also go out to the class and give lectures on specific topics, but only rarely. About 5 to 7 times this year.

I could talk about this endlessly, but that's enough for now.

k