I worked as a math tutor to put myself through college, most of my remaining work has been in teaching programming in the industry.
Item 1: Math makes sense. If something doesn't make sense, find another explanation/teacher. Item 2: When tutoring, I have a 95% confidence that if someone can't do topic N, they don't quite understand topic N-1 well enough. Item 3: Practice, and indeed speed at doing problems is very important. Many topics will not make proper sense if you can't hold intermediate steps in your head. Item 4: Learning for adults is usually best accomplished by either
(a) having a task one is trying to do, and having to learn the bits.
(b) having a live person/teacher to both help and motivate schedule-wise
As previously noted on multiple slashdot book reviews, 60% of the cost of an arbitrary medium-large (100K lines of code) project is maintenance, and 50% of such projects are total failures (never used).
Agile methodologies are targetted towards folks who are using OO languages C++/C#/Java and who already have a nice handle on patterns (GoF).
In that environment, over-planning is a greater cost to the project than under-planning. Why? Because you waste lots of time trying to architect around feature Q...and then the project requirements change before you get to implementing feature Q. Instead we need feature Q' which has an entirely different necessary architecture, and which we might also change by the time we get there. I, and the Agile people assert that it is _better_, given experienced, OO-pattern-thinking code-geeks to let them solve problem A, and then refactor to solve problems B+ as necessary.
If they ain't willing to re-approach the problem with each iteration, and refactor as necessary, it ain't gonna work. If there aren't at least some leads who are experienced enough to snoop through the code and point out the necessary (or useful) refactorings, the it ain't gonna work.
However, in my experience, Agile is like OO. Once someone starts doing things that way, and does a successful porject using the new approach, they never go back to the old way of doing things, because once you're there...it's better than the old approach.
Disclaimer: I am a trainer. I teach C++/Java/Oracle and related stuff to geeks.
As noted elsewhere in this discussion, there are two very large problems in the training industry.
1. People who know the material, and therefore think they can explain it...without lots of communication skills.
2. People who are excellent trainers who are not subject matter experts as well...so they can't actually answer the questions.
I have a relatively simple test for High Quality training. Ask them to skip the slides. If someone can give a coherent explanation and answer questions without the slides...they are usually worth listening to.
At the same time...the high-end geeks are usually not the target audience for management-created-training. I find as a trainer that management tends to expect me to make sure that the least technical of my students get up to speed on whatever I am teaching. My guess is that if you read slashdot, and you read O'Reilly books, then you could get a lot of what I teach without me there. However, that is not the normals state for people learning. Training classes exist so the people who don't read O'Reilly and slashdot can learn new technologies (well, that's why the worthwhile training courses exist).
It is very rare to find a trainer who can answer the really hard questions. Why? Because mostly, the really hard questions don't come up in training gigs...so it is not useful to know.
If someone were to want a serious training, try finding a trainer to start a project with a team. Bring someone in for 2-3 weeks, and sign them up as project manager/mentor for a technology that the group doesn't have. That's a serious training...that no one seems to want.
One last thing...from inside the industry
A lot of the training firms have gone under, and a lot of them have slimmed down. What I have most noticed though (being there myself) is that the industry is heavily populated by independents, almost all of whom have left. Only the ones who have the rep. (and skills) are left. If you get a contract trainer now, very good odds that they are good at what they do.
Evolutionary biology suggests that the original claim in the article is not unfounded...
Look at Susan Blackmore's _The_Meme_Machine_, or _The_Mating_Mind_ by Geoffrey Miller for instance. Essentially, the claim is that higher vocal capacity would allow higher communication abilities. That is a major advantage, which would explain killing off/out-reproducing the non-mutants. But then, over the course of the next say...10k years, the advantages of being able to communicate more clearly become more and more pronounced...hence an arms race for clarity of communication--once the mouth works well enough, then the brain evolution towards language (Pinker's stuff is interesting here) has a reasonable chance of following.
Vocal cords + Big brains drive evolution of culture, and of the mental capability to run slashdot.
I worked as a math tutor to put myself through college, most of my remaining work has been in teaching programming in the industry.
Item 1: Math makes sense. If something doesn't make sense, find another explanation/teacher.
Item 2: When tutoring, I have a 95% confidence that if someone can't do topic N, they don't quite understand topic N-1 well enough.
Item 3: Practice, and indeed speed at doing problems is very important. Many topics will not make proper sense if you can't hold intermediate steps in your head.
Item 4: Learning for adults is usually best accomplished by either
(a) having a task one is trying to do, and having to learn the bits.
(b) having a live person/teacher to both help and motivate schedule-wise
As previously noted on multiple slashdot book reviews, 60% of the cost of an arbitrary medium-large (100K lines of code) project is maintenance, and 50% of such projects are total failures (never used).
Agile methodologies are targetted towards folks who are using OO languages C++/C#/Java and who already have a nice handle on patterns (GoF).
In that environment, over-planning is a greater cost to the project than under-planning. Why? Because you waste lots of time trying to architect around feature Q...and then the project requirements change before you get to implementing feature Q. Instead we need feature Q' which has an entirely different necessary architecture, and which we might also change by the time we get there. I, and the Agile people assert that it is _better_, given experienced, OO-pattern-thinking code-geeks to let them solve problem A, and then refactor to solve problems B+ as necessary.
If they ain't willing to re-approach the problem with each iteration, and refactor as necessary, it ain't gonna work. If there aren't at least some leads who are experienced enough to snoop through the code and point out the necessary (or useful) refactorings, the it ain't gonna work.
However, in my experience, Agile is like OO. Once someone starts doing things that way, and does a successful porject using the new approach, they never go back to the old way of doing things, because once you're there...it's better than the old approach.
Disclaimer: I am a trainer. I teach C++/Java/Oracle and related stuff to geeks.
As noted elsewhere in this discussion, there are two very large problems in the training industry.
1. People who know the material, and therefore think they can explain it...without lots of communication skills.
2. People who are excellent trainers who are not subject matter experts as well...so they can't actually answer the questions.
I have a relatively simple test for High Quality training. Ask them to skip the slides. If someone can give a coherent explanation and answer questions without the slides...they are usually worth listening to.
At the same time...the high-end geeks are usually not the target audience for management-created-training. I find as a trainer that management tends to expect me to make sure that the least technical of my students get up to speed on whatever I am teaching. My guess is that if you read slashdot, and you read O'Reilly books, then you could get a lot of what I teach without me there. However, that is not the normals state for people learning. Training classes exist so the people who don't read O'Reilly and slashdot can learn new technologies (well, that's why the worthwhile training courses exist).
It is very rare to find a trainer who can answer the really hard questions. Why? Because mostly, the really hard questions don't come up in training gigs...so it is not useful to know.
If someone were to want a serious training, try finding a trainer to start a project with a team. Bring someone in for 2-3 weeks, and sign them up as project manager/mentor for a technology that the group doesn't have. That's a serious training...that no one seems to want.
One last thing...from inside the industry
A lot of the training firms have gone under, and a lot of them have slimmed down. What I have most noticed though (being there myself) is that the industry is heavily populated by independents, almost all of whom have left. Only the ones who have the rep. (and skills) are left. If you get a contract trainer now, very good odds that they are good at what they do.
--K
Evolutionary biology suggests that the original claim in the article is not unfounded...
Look at Susan Blackmore's _The_Meme_Machine_, or _The_Mating_Mind_ by Geoffrey Miller for instance. Essentially, the claim is that higher vocal capacity would allow higher communication abilities. That is a major advantage, which would explain killing off/out-reproducing the non-mutants. But then, over the course of the next say...10k years, the advantages of being able to communicate more clearly become more and more pronounced...hence an arms race for clarity of communication--once the mouth works well enough, then the brain evolution towards language (Pinker's stuff is interesting here) has a reasonable chance of following.
Vocal cords + Big brains drive evolution of culture, and of the mental capability to run slashdot.
--K
//Beware of rant
I am a teacher.
I am actually currently a corporate Java trainer, but my primary love is teaching rather than technology.
Quick Google search provided the following:
$40,574 as the national average teacher salary (1999 number).
Is this a fair salary to pay a college-educated person who is educating our young? Perhaps it's low.
Of course, this does not count a couple pieces of important information.
1. 9-10 months a year of work, 2-3 months a year of vacation.
2. The teachers, I seem to remember, have lower GPAs, lower entering SAT's, etc. than anyone else coming into or exiting college.
So...maybe that $40k for 9 months of work for the lowest tiers of college graduates is not all that bad.
of course, those numbers are for the public schools. Private schools tend to run lower salary, and higher satisfaction/lower turnover.
but what do you expect?
Government sponsored semi-monopolistic competition makes running any business kind of tough.
--K