Just say "no" to certification
Pat Eyler is looking into designing a certification program, in conjunction with a university course. This really got me thinking.
As a general rule, I believe certifications are a joke. Plain and simple. When I was at BYU, and the mandate came from the suits that we had to drop everything and become Java certified, I saw firsthand what a joke it was. The very idea that a test can, in any way, imply competence is laughable.
Now, I know and respect Pat. He’s got more planned for this than just a test, and that’s great. I certainly commend the idea of a Ruby course. But I have to plead against the introduction of “certification.”
Can certification produce competent programmers? I say “no”. If you are certified and are competent, then you were competent before you were certified. The two have no relation, except insofar as the certification process might ignite the passion of a competent programmer to improve themselves. The problem is that you don’t have to be passionate or competent to take and pass these tests. You just have to be good at memorizing and cargo culting.
Certifications are used primarily by ignorant decision makers as a discriminator. Thus, if someone wants to get noticed by said decision makers, they need to take and pass the test. It’s certification for certification’s sake. This encourages anything but learning. It encourages large-scale mediocrity, caused by people memorizing exactly what the test demands, and nothing more. It encourages learning out of context. It encourages cargo culting, rather than original thinking.
And what happens to the community when this happens? It becomes diluted. The passion gets leeched away. The language becomes inundated by people with little concern for the language itself, or for what they will use the language. They have little care for the community, except insomuch as the community can help them solve their own problems. They take. They demand. They question. They do not give. And the community suffers.
So please, Pat, and anyone else out there that is contemplating a certification program of any sort: don’t do it. By all means, educate, teach, spread the word, and encourage passionate programmers. But don’t certify.