Friday, November 10, 2006

Ruby Certification: Is It Worth It?

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?

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.

James said...

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.

pate said...

On the ruby-talk mailing list, Patrick Hurley wrote:

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.

pate said...

Ammon:

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.

pate said...

On the urug mailing list, Jamis Buck wrote:

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.

Given my comments above, do you still feel this way?

pate said...

Obie Fernandez pointed this out to me:

Another Nail in the IT Certification Coffin

I'm not sure it applies to the kind of program I'm talking about, but maybe it does.

Jamis said...

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.

Jake said...

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.

evan said...

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.

Anonymous said...

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.

tankow said...

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!

Hans Fugal said...

On the one hand, if there is a certification program then it gives those of us who are worth hiring a clue as to which organizations to avoid. (hint: the ones asking about certification)

On the other hand, sometimes you just need a job and if you're perfectly qualified but the suits don't see a certificate it is a real-world hurt.

Certification says only this: you showed up, paid money, and memorized enough stuff to pass a test.

Do teach people ruby. Then instead of giving them a test and a certificate, help them begin to put together a portfolio and encourage them to continue developing their portfolio.

Hans Fugal said...

BTW, in case it wasn't clear I wanted to resonate with that excellent statement that certifications are a money grab. That's exactly how I feel.

Ross said...

Just to add my 2p worth, I don't think we need this, and having it can only widen the gap between those who can and those who can _say_ they can.

Carlos Gabaldon said...

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

brian.leroux said...

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.

DJB said...

Is it worth it? No.

Unless I'm the one selling the tests at $100 a pop. Then it's totally worth it. For me.

- Dan

scott said...

The best developers I know are uncertified in every language they use. The worst hacks I've met have a certifications list a mile long.

This is a bad, bad, bad idea.

Nathaniel said...

I originally commented on this back in November 2005 on this thread..

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/163922

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.

Anonymous said...

Vote [NO], recognition(s) is far more better than certification(s).

Bjorn said...

@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

b said...

@Bjorn : +1 !!!