views:

286

answers:

5

I have always wondered about this: do computer language certificates exist as it happens with natural languages?

For example, if you are a foreigner, you can always go to learn English and sit an exam organized by the British Council. If you pass it you can prove your qualifications by showing the certificate (for example a CPE), increasing a lot your professional prospects. The same happens in many other languages where internationally recognized institutions sponsor certification programs. For German the Goethe Institut comes to mind, for Spanish the Instituto Cervantes. There are other for other countries/languages as well.

I know that certification programs exist for computer science (and software engineering) skills but most of these are for specialized aspects of a technology, mostly sponsored by a private company for certain abilities. For example, the Majinate portal organized certificates for "Accredited Symbian Developers" to prove their skills in coding for the Symbian/S60 platform. But this is already "specialized".

  • What about generic programming skills in a standardized (ANSI, ISO, etc) language?
  • Do national (or international) institutions exist to prepare and certificate preparedness in, let's say, C++?
  • If there are, can you please list them? If there aren't, do you see a need for the creation of such organizations?

I fully understand that a computer language is the same as a natural language except that it isn't... but then again, if a computer language has a published ISO standard, what hinders the creation of an institute to certify (globally and objectively) a coder's language abilities?

A portfolio of previous projects is never enough since many projects nowdays are done by teams where everyone's contribution isn't that clear. A standardized certification scheme may prove language awareness and ability in an objective way.

+4  A: 

Sun Microsystems offers certifications for the Java programming language (in addition to other certifications linked to their platform and OSes).

Microsoft does the same for the .NET suite as well.

I think you can find certification programs for any Programming Language/Environment that is proprietary or has proprietary "roots", while it is unlikely to find certification for more "open" languages and technologies, as far as I know.

I think that's due to some sort of "credibility issue": if you want to issue certifications you need to be trusted by the parties that should accept that certifications, and it's quite hard for independent companies or organizations to become so widely accredited.

That's why, in my opinion, companies like the one behind expertrating.com are not so widely accepted.

abahgat
Thank you! But as you may have noticed, I tried to exclude "proprietary" computer languages such as Java or .NET. There is nothing bad with them, but corporation-sponsored language defeats the need for a non-profit certification organization.
Kensai
Kensai, technically .NET is not proprietary, its been submitted to EMCA and now governed by them. (Okay, its not really a language either, its a framework... ;-) ) abahagat, these certs aren't really for *fluency* in the language, but rather competency in developing on those platforms. Which I think is a key part of the answer to the OP's question - fluency in a language isnt really that important or interesting, but what you can do with it.
AviD
A: 

What abahgat says and for PHP, PHP5 ZEND certification qualification.

Julian Young
+5  A: 

I've been in a position to hire for the past four years, and I have to say that, if anything, seeing certificates on a candidate's resume is usually a negative indicator. While it may be difficult to tell exactly what someone contributed to a project, I prefer to see what someone has done rather than what some certificate says they can do.

In fact, I would much rather hire a bright, productive programmer who has never even heard of the language he or she will be working with than hire someone who has been spending all their spare time in certificate programs. No matter how good the program is, it is not real world experience.

tghw
Certificates are rather an indication the person has had _any_ contact with that language. Certs can be quite useful, if someone claims to have an experience with this language – after working some time with C# passing a cert exam is just an exercise.
smok1
tghw, maybe the situation you describe arises from the fact that current certification schemes are inadequate. Perhaps there are many lessons to be learned from natural language certification mechanisms and examination methods.
Kensai
-1 because this does not appear to answer the question, and instead expresses a subjective opinion that should have been a comment. Although I happen to *agree* with that opinion, it would sadden me to see a non-answer win the bounty. This site is supposed to have quality answers to questions.
system PAUSE
+3  A: 

Basically I think the answer is "no". There are certifications, but none of them has the kind of wide acceptance of the TOEFL or JLPT.

As to why, I can offer only speculations:

  • bad certifications crowd out good;
  • the ease of learning a new programming language (it takes a few weeks of full-time study, while learning a new natural language takes years, or at least a year or so);
  • programming languages change too rapidly to permit the equivalent of the Goethe-Institut developing; their lifetimes are measured in decades instead of centuries.

But I don't really know.

Kragen Javier Sitaker
The question is... why?!
Kensai
Heh, you should rephrase your comment as an answer. It's actually good!
Kensai
Okay! I'm new here so I don't really know what the etiquette is. I was worried that if I did that, it would make your comment look stupid, since you were asking a question that was answered in the body of my answer ☺
Kragen Javier Sitaker
"the ease of learning a new programming language" what? have you ever tried to learn a programming language of a different paradigm? you may be able to learn the syntax in a few weeks but master a language takes years
hiena
Yeah, I’ve written useful programs in something like 20 programminglanguages and achieved a pretty high level of mastery in and achieveda reasonable level of mastery in five: Perl, Python, C, JavaScript,and bash. (And I guess SQL is a programming language too now that wehave `WITH RECURSIVE`.) These are all basically the same language,except for C. You're right that the paradigm makes a difference;learning OCaml, Haskell, Forth, Wheat, Bicicleta, and Prolog has gonemuch more slowly…
Kragen Javier Sitaker
More slowly than more traditional languages like Pascal, Java, CommonLisp, Scheme, Smalltalk, Ruby, C++, PHP, PostScript, various assemblylanguages, etc.In Python and JavaScript, which are the only two languages I learnedto a “mastery” level after I already knew how to program, getting tothat level only took a couple hundred hours. Improvement past that waspretty marginal: maybe 10% to 25%.
Kragen Javier Sitaker
@Kragen, Can you elaborate on "There are certifications, but none of them ..."? This implies you know about one or two? Can you provide links or references?
system PAUSE
system: SEK's answer has a list.
Kragen Javier Sitaker
+1  A: 

Basically, for proprietary languages such as Java, .NET, PHP, etc, the controlling company typically sells a certification service for that language. For public languages such as C/C++, there is no official certification, and by no means is it recognized, much less regulated, by any body.

Here's a quick list of the various bodies that seem to be the most "official" for each language:

Now all of that having been said, I would remind you that it has been said many times that MCSE stands for "Minesweeper Consultant and Solitaire Expert". The certification is only as good as the test to get it.

In general, you seem to be asking how to tell whether or not a job applicant has experience with a particular language. The short answer is you don't. You can ask for code samples, however, and get a general feel both for their design style, and ability to write documentation. These are usually far more important than actual skill writing "hacks" in one language.

For those people wondering/considering going out and getting a certification, here's some advice: All other things being equal, yes, it's better to have a certification. But all other things are never equal, and they detract from your resume. Waste the space writing that you've worked on an open source project or that you can provide code samples, instead.

SEK