In favor of certification.
The IT industry is flailing in credibility. Most projects fail. The ones
that are successful are approximately 180% over budget and time (where is
my copy of Code Complete?!) Why? One of the top ten risks for project failure
is the developers are not familiar with the technology. What does certification
do? It makes people familiar with the technology. I see certification
as being the answer to improving the success rate of the IT industry and
regaining some credibility. I'll attempt to show this.
First lets take a step back and purpose the following: Certification should
be (legally) mandatory prior to working with a particular technology. It
should also be an industry-regulated exam, offered at cost or for free (!)
I've experienced an industry where no one really understands what he or she
is doing. I worked on a project where the architect(s) didn't know what
N-tier was (although it was the best solution). Another project had VB programmers
with no concept of COM. Yet another was a 2-tier client-server project where
the "experienced" people didn't know what a stored procedures was. How has
this affected these projects and the industry? The projects (and customers)
dramatically suffered in terms of cost, schedule, maintainability, etc.
The "success" that was released from these projects was garbage. The projects
were at the end of their life cycle as soon as they went out the door.
If the developers in the above senarios were certified prior to working on
these projects, would they have known about COM, N-tier, stored procedures,
etc? Yes. Would they have used these technologies if they known about them?
Yes. Certification, as purposed, acts as a method of forcing IT workers
to train and learn the knowledge necessary to "successfully" work in the
industry. While it is not a “guarantee” of success if definitely reduces
the risk of failure. Certification is simply a means of ensuring that developers
have the minimum necessary knowledge to “start” working in a technical area.
(Notice I’m careful not to confuse certification with experience.)
Another problem in the industry is hiring qualified people. The industry
is different than most because the typical manager doesn't have the knowledge
necessary to evaluate the abilities of the "technical" people they hire.
Also, the industry "hides" what it does. The difference between a poor
implementation and good one is not always readily apparent without intimate
knowledge of the details. So what does this equate to? Resume experience
is not a good indication of technical ability. A person can successfully
learn 50% of a language and kludge together five years of resume experience.
Making this worse is managers have few viable means to expose this scenario.
What most employers end up doing is dreaming up some hokey-pokey in-house
"test" prior to hiring. They are basically performing a inadequate version
of certification. While certification is not the perfect answer to hiring
quality people, it is perhaps the only useful "qualitative" means available.
I for one would rather higher someone with a 1/2-year of VB certification
and 2-1/2 years experience rather than someone with only 3 year of on-the-job
VB learning. What would you prefer?
On one hand, I have a person with 2 1/2 years of experience choosing and
applying, from the realm of VB possibilities, the best solution to their
problem. On the other hand I have someone who, under the stress of deadlines,
learned a few necessary kludges to become productive during their first year
of programming and spent 2 more years trying to make every problem they encounter
look like the kludges they know. Tough choice.
For all those "experienced" people that "don't need certification to be good
at what they do", they can simply write the tests and be done with it. Since
they have the experience and knowledge already, it shouldn't be a problem
Let me turn on a flame for a moment. I am surprised by the number of arguments
against certification that are not relevant. Most anti-certification arguments
I've read are based on the "existing" certification system or whether "I"
need certification. Let me address these quickly by saying "yes the existing
system is lacking" but lets not turn down a good idea simply because of a
poor implementation. Also, lets not discredit the benefits certification
can offer simply because "you don't need it". The industry needs it. If
everyone in the industry were in the 5% category that take the time and effort
to thoroughly train themselves, of course there would be no need for certification.
The fact that managers rarely train people, it is hard to learn a depth
of knowledge on the job and a lot of people make a minimal effort to learn,
makes certification necessary.
-- Android Development Center
-- Cloud Development Project Center
-- HTML5 Development Center
-- Windows Mobile Development Center