Friday, November 10, 2006

For some reason industry certification is a real hot-button. Some people think they're not worth the paper their printed on, while others base hiring decisions on them. I'm encouraged by the fact that the university is putting some real training behind the certification, but I wonder if the Ruby community is ready for (or interested in) something like this. What do you think?

Posted by
pat eyler

22 comments:

Ammon
said...

Certification is like a referral. If it comes from someone that you trust, then it is valued. In terms of making job decisions, I think that certification isn't enough. I think that the open source projects you work on and the way you interact with the community on mailing lists, etc. become your informal resume and it is up to any individual to judge its worth.

Certifications generally come across as a money grab to me. More often than not I find myself confused as to what the certification is supposed to be proving. Is the person a competent individual at the field in question, or did they just study for the test. The latter especially is of concern to me given that many a classmate of mine in University have obtained old midterms, studied said midterms, and achieved high marks without actually being competent at the subject matter.

Something far more valuable, and perhaps far more proactive, would be boot camps. I envision these to be intensive training wherein you receive a certificate of completion at the end. Something like this would prove far more valuable in the long run -- albeit expensive.

With the growing size of the Ruby community (and demand for Ruby programmers) there will undoubtedly be programs of this sort. Of course having said that, I personally consider certifications programs (especially for programming languages) one of the worst hiring metrics available. If you want to find a good programmer, looking for a language specific certificate is a terrible mistake.

I like your analogy of a referral, and you're right the protfolio of Open Source work and community involvement should weigh much more heavily than any certification.

James:

I think one thing this program is shooting for is providing some real education (and hands on experience) instead of just giving tests. On the other hand any system could be gamed. :(

Boot camps (or wizard schools, if you like stevey's idea) are a great idea, and I'd love to see something like that crop up.

Patrick:You make a good point that a certificate alone is worthless (as is a college degree for the most part), but taken together with a portfolio (as per ammon's comments), I think there might be a bit more value. I dunno, I'm not sure I'm sold in either direction.

To be honest, I see zero value in most certification programs. When I was at BYU, we were all required to be Java certified, and I saw first hand what a joke that was. Like any test, people will study and cram and study and cram, and then take the test, and then pass, and then within days they will have forgotten 90% of what they learned.

If the goal of certification is to show by some piece of paper that you know 10% of what was required in the certification exam, then I think it meets its goal.

I think we're talking past each other here. Maybe not though ...

This program isn't designed as a test that measure your coding knowledge, it's a 3 quarter continuing education program with a heavy (though still undefined) hands-on component. The intent is that it should combine classroom instruction, practical lab exercises, and homework (some of which needs to 'give back' to the community in my opinion). To my mind it's more like a technical school's program and certification than an A+ or MCSE kind of thing.

I think I'd be sad to see a certification program for Ruby. The Ruby community is, in general, sharp enough that a certification program feels almost insulting. "Yah, you SAY you know Ruby...take this test and prove it!" If you really want to know whether someone knows something, look at what they do in their spare time. Do they write Ruby code? Do they not? That ought to be good enough, IMO.

Pat, I think I do still feel that way. You can mean whatever you want by it, but the fact that it is called a "certification" is going to mean something pretty specific, especially to suits. If Ruby starts going this way, you'll soon find jobs that require a Ruby "certified" programmer, and that's just bogus.

I have nothing against classes that teach Ruby. But to come away saying you're "certified"...

I suppose my real beef with this is the idea that a class+test can in any way determine your competency at something. If someone is self-motivated and determined to really learn, a class can be a means to an end, but once certification becomes a requirement, you get people who take the class for no other reason than to get the paper. That's meaningless.

So, by all means, offer the class. Teach people. Educate. Those are good things. But please, don't certify.

My wife is required to have a certain number of continuing ed hours for her national SLP license, proven by certificates of completions. They aren't recognized as anything other than to prove you were there and hopefully learned something.

It sounds like you want the cert to have more acceptance than that. It's my belief that once that is the case the cert can be used as proof of something that may or may not be true as others have already commented on. I'm guessing you want a program more like Google's summer of code camp or whatever it is called.

Based on other's comments, maybe offering a portfolio of work that can be added to one's resume as tangible and referenceable experience would be the reward for completion, rather than a certificate. Experience doesn't prove anything, it just states that you were involved to some degree. Being involved in OSS projects I think has taught me more than I learned getting my BSCS.

I don't think that certs are evil, but they can muck up an industry pretty good.

What you describe seems more like a Ruby component of an Associate's degree in CS than a certification. If so, that's great, and call it that. My initial reaction was "what's a university doing issuing certifications" and assumed it was a money grab.

Calling it a certification does a disservice to the uncertified, who then get asked "where's your cert?" by management, but also to the people who went through your program, who come out with a document their peers perceive as a crock... at least in my opinion.

I don't know whether it's worth it or not, but if in fact a Ruby certification is created, it will serve as a legal method of winnowing out the hundreds of uncertified applicants for a Ruby job in favor of the few who are certified. If that's what we want, go for it.

As a former employee of Smartforce, now Skillsoft, I was on the front line of the certification argument. We employed numerous mentors to handle questions with our students. These mentors were certified in everything from A+ to Oracle. I worked as an Oracle DBA and supported numerous database as part of the Technical Support team.

The mentors were intelligent, educated people. However, the knowledge most of them possessed as a result of being certified was of little use outside of the boundaries of answering questions posed by students. The practical knowledge and the ability to use this knowledge in a typical work environment eludes them.

The only valuable certification is one that requires concepts to be applied in an unscripted fashion. One that can be marked by a human, not a computer. Or perhaps with the excellent testing facilities available, this can be automated to a certain extent. It requires a test that doesnt rely on multiple choice answers. Inevitably these tests have errors and tests that may or may not mark correctly.

There are too many ambiguous factors that go into making a programmer good. Learning a language is only one of them. Am I against certification entirely, no. Have I found it valuable as a judge of talent and ability, definitely not!

The Ruby community does not need a formal certification program. Certification programs are there to make a few big companies think that they are hiring the right people.

I feel that the community already has a way of certification through what you have to say in your blog, how you interact within the community and what open source projects you contribute to, that is the best way to find the right person for the job. IMHO

Coming from the .NET community, working for a fair sized "enterprise" dev team, and watching the hiring process has left me feeling that having certifications are, for the most part, a bad joke. Rookies parroting acronyms. Buzzword laden phrases that sound scripted by a cheesy corporate marketing department.

I do not discourage the idea of people striving to 'better' themselves and learn more. That's cool. The problem I do have is many people think a certification means the software developer is proficient. This perception is, of course, false. Only real experience demonstrates proficiency.

And have since considered the Ruby certification to really contain little to no value.

I now consider programming something of an art form, especially with Ruby being as open as it is. The language alows significant creativity and a multitude of choices can be made for any single challenge.

That being said, would you give an artist a certification? How could you say that Picasso or Da Vinci were authentic artists?

What certification may hold some value towards, is knowing the basics. Being tested on all the elements of Ruby and even Rails if you are considering that path as well, may hold value.

When looking for new programmers it is nice to know they have had experience going through each of fundamental areas of the language and framework.

The truth is in, what value does it hold to prove that you have experience with all the elements? Can the tests measure your creativity? What about your insight or intuitive choices made when answering even the most simple questions?

If a test and certification were to be made, it should run like that of a masters degree. You pick a topic, create an open source project (as you had mentioned to contribute back), and you are manually graded by instructors on your execution. That provides certification.

Everything else should be considered simply education. Consider it a badge, saying you went through the course and you are still alive to say so.

@pate"To be honest, I see zero value in most certification programs. When I was at BYU, we were all required to be Java certified, and I saw first hand what a joke that was. Like any test, people will study and cram and study and cram, and then take the test, and then pass, and then within days they will have forgotten 90% of what they learned."

Cramming is the worst way any human can study. It takes 24-28 hours for short term memory to be stored as long term memory in you brain, granted you understand what you learn, otherwise your brain will just shred the information, hence the 90% memory loss