Adobe, Please Review Your Certification Exams

I have some things I'd like to vent about taking the Adobe ColdFusion certification exam. Its more of frustration I guess.

First of all, what were the test writers thinking when they wrote the test? I had four (yes 4) questions on the <cfinsert> tag (I cannot discuss the contents of the questions due to a signed NDA). Oh my goodness. I very likely got all 4 questions wrong because in my 7+ years of writing in CF I have never once used the tag. Frankly, I think it should have been deprecated years ago.

So I polled a few people at the conference (Ray Camden, Michael Dinowitz, Simeon Bateman, etc.). Not only do they not use it, but all of them agreed that they would have likely failed the questions as well.

So, what if I had failed the exam? Does that mean I'm not an expert because I don't use tags like <cfinsert> and <cfupdate>? I seriously would have thought that best practices would be higher on the chain of questions making it into the exam.

Why have I never used <cfinsert> or <cfupdate>? Because Alaire (the original creators of ColdFusion) told me not to in training tutorials they wrote and sold. That (to me) is documentaiotn right from the developers saying not to use the tags. Yet here I'm taking a test that says I need to know it. (sigh...)


In case anyone is interested, the tutorials I'm talking about were a package you could have bought with CF4 (when I first got into CF heavily back in 1999).

There were other questions that I wasn't too happy about which consisted of bad grammar and a few poorly written questions. I asked a few people about their experiences during the CF exam and they all had comments about poorly written questions.

My suggestion to Adobe: Maybe reconsider new ways to have reviewers check ot the tests. Like ask the Adobe ACE team to volunteer to be beta testers of these tests (since they consist of mostly CF experts) or other current Advanced ColdFusion Certified Developers.

Related Blog Entries

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
O?uz Demirkap?'s Gravatar I am a CF developer who is using CF since version 2. I have never needed a certificate until now but I need to get one because of being in a new country where certification is important. I have just bought certification books and now reading them before getting exam. I mean to "memorize" these unnecessary stuff. Do I like? NO.
#1 by O?uz Demirkap? | 10/26/06 6:40 PM
Wayne Graham's Gravatar I too feel this way. Quick question though, are you familiar with JavaBlackBelt? Basically its a community driven site where the community members create the questions and answers. In order to advance to the next "belt", you need to first answer questions on a test. To earn points to take the next test, you have to write, comment, or otherwise interact with the tests to make the test "better." While I think Macromedia/Adobe's testing is ok for what they want you to use, I think CF has moved to the point that there is a lot more that people need to know to be of expert status (e.g. MachII, Model-Glue, Reactor, ColdSpring, etc. Shoot, I'd even argue that you need to know something about XML, SVN, ANT, and Java). All of these are outside the realm of the Adobe testing machine.

Anyway, a few months ago I was in contact with one of the developers of the site and he said that getting a CFBlackBelt site wouldn't be that difficult (he had proposed a PHPBlackBelt, but no one bit). Unfortunately my daughter was just about to be born and it's something that just fell through the cracks.

Any thoughts?
#2 by Wayne Graham | 10/26/06 7:43 PM
Jeff Coughlin's Gravatar Wayne,

Thats an interesting idea (the CFBlackBelt idea).

However, with regards to knowing specific frameworks I don't exactly agree (hear me out first :)). Still I think you might be on the right track. Perhaps at least concepts of beans (just using simple CRUD and maybe suggesting the use of an init() method) would be a good area. But beyond that each framework handles their OO approach a little differently (DAOs, Gateways, etc). Requiring developers to know each popular framework (or even picking one from a list) in order to become an expert would not be fair.

For example, I've written a framework a year and a half ago that uses many of the concepts seen in many of the popular frameworks (uses DAOs, Gateways, Beans, and allows my developers to add modules without having to touch the core files). Like many CF developers I did this to solve a specific need that other frameworks (at the time) didn't solve (or I hadn't tried the framework yet). ColdFusion is great for allowing developer teams to "roll their own" framework to help focus on their needs better (lets face it, to date there is not a single framework that fits every scenario).

So yes, if the test required knowledge of basic Bean concepts (or something similar that most CF frameworks seem to have similarities) in order to become an advanced developer then I would agree with you.
#3 by Jeff Coughlin | 10/26/06 8:02 PM
Devin's Gravatar I really don't see anything wrong with cfinsert/cfupdate questions. Some people may dislike those tags or avoid them due to best practices and I've talked to others who actually thought they were deprecated. But the fact is they're still very much a part of the language. It wouldn't be crazy to think that you could occasionally run into these tags in code written by other people. I personally use them from time to time for quick prototyping or creating proofs of concept and then switch them out when I go back and tidy up the code.

Becoming certified in a language isn't about testing your knowledge on only the things you personally use from day to day, but the entire language including tags/functions you've never used no matter what the reason may be.

Most people I talk to believe that the use of client variables are bad practice. Adobe even says so in their own technotes. Does that mean that a cf exam should have no questions on client variables?

I do remember taking the cf5 certification exam and was asked about 4 questions dealing with the java API when writing java cfx tags. I was very frustrated thinking that I should only be asked CF questions, not the java questions. Getting four of those, I'm sure was my bad luck in question randomization
#4 by Devin | 10/26/06 9:37 PM
Jeff Houser's Gravatar Wayne,

I gotta say I disagree. The CF certification test should test only knowledge of CF.
CFC knowledge is an okay subject, but OO knowledge should be not be included. Framework knowledge should be off limits. I'd even say Beans (and any design pattern) should not be included.

The test is nothing else than to test CF knowledge, and with 40-50 questions, there isn't room to cover other topics adequately.

If you want to prove skill in these other topics, check out Brainbench or some other independent certification body. I'm sure they have OO tests and database design tests, etc..
#5 by Jeff Houser | 10/27/06 12:47 AM
Wayne Graham's Gravatar Jeff,

I'm not arguing that any of these topics should be covered in a CF test, I would certainly hope they wouldn't be in the "official" certification exam...the black belt exams are aimed more at recognizing some of the areas that aren't tested in the basic testing arenas that make developers more productive.

The way the Java tests are structured, you first show that you know the basics about Java (object instantiation, loops, conditional statements, etc.), then are offered exams on more advanced topics. Each exam is worth a given number of points and each belt requires n points. They have exams on OO, Struts, Tapestry, EJB, Spring (in several levels), Hibernate, ANT, JUnit, Eclipse, Maven, Ruby, get the idea. Not every shop uses OO, unit testing, frameworks, etc., but for those who do, there isn't a whole lot of "official" recognition of those skill sets.
#6 by Wayne Graham | 10/27/06 9:22 AM
Emmanuel Okyere's Gravatar if you've been using cf since ver 2 and need a certificate to show what you are made of, your cv will probably end up in the other pile ;P
#7 by Emmanuel Okyere | 10/27/06 9:56 AM
Jeff Houser's Gravatar I don't agree at all.

The certification certificate is just one more 'tool' in your toolbox that will help you get past the "HR Gatekeeper" on your way to the interview.

If you don't have it on your resume, it will probably end up in the trash.
#8 by Jeff Houser | 10/27/06 10:06 AM
jim collins's Gravatar I remember being distinctly unimpressed with the test also. Microsoft's tests for the MCSE were much better quality IMHO.
#9 by jim collins | 10/27/06 12:29 PM
Russ Michaels's Gravatar I took the cert back in CF4.5 days, and it was the same then. I got a bunch of obscure questions about things that are not used in every situations by most people, like CFLDAP, creating CFX tags, and probably cfinsert too.
I only just passed the test (granted I had a hangover and did not swat at all), and back then I was more advanced than just about everyone else I knew.
Since then I know other people that have since the test and got 95%+ and are advanced certified developers, yet I personally know these people really are bad developers, one of them used to work for me so I know how bad his code was.
I don't think the certification is worth the paper it is printed on as anyone can pass at an advanced level simply by using the study guide.
All it shows is your knowledge of the tags/functions and their attributes really, not your ability to solve prolems and write good code.
#10 by Russ Michaels | 10/29/06 7:06 PM
Brian Simmons's Gravatar Hi Jeff and other commenters,

I just stumbled upon your blog and added it to my CF bookmarks (nice job).

I have a tendency to agree with most everything that the all commenters have said.

<CFINSERT>? Agreed, who uses that? Same for <CFUPDATE>.

But, they are on there, part of the language, and according to Allaire/Macromedia/Adobe, they are fair game for the exam. Fair? Probably not.

This type of obscurity on the questions/material is one of the reasons why I recommend my product CFMX Exam Buster ( to potential testers. Sure you may be a great developer, but it could be those few tags that you've never had the chance to use, or simply don't use (cfinsert, cfupdate, etc...) for other reasons, which cause you to fail or miss the Advanced status.
So, I thought I'd let your blog readers know that there is a product which can help them prepare.

Best of luck to future readers on their exam,
Brian Simmons
#11 by Brian Simmons | 1/20/07 4:33 PM

BlogCFC by Raymond Camden | RSS | Contact Blog Owner