07-07-2015 09:06 AM - last edited on 07-09-2015 12:22 PM by dcarva
About the CLD Exam.
The successful CLD Candidate will demonstrate proficiency with LabVIEW by taking a 4 hour exam where they will develop a small project based on writen requirements. The exam product is then reviewed by at least two NI employees and graded based on accepted criteria. I've never heard anyone say "That was easy" speaking of the exam. However, there are some things you can do to improve your chances
NI Preparation Information
The CLD Success Package Should be your first stop for infomation supplied by NI including grading criteria and style guidelines.
My Journey to become an NI Certified LabVIEW Developer
In the summer of 2010 I took the exam. I had read the style guide and looked at a few sample exams. Despite all the mistakes I made preparing I nearly passed. What did I do wrong? First, I selected a simple state machine. It was not the best choice for the project since there was an unusual timing requirement. Then I implemented the timing requirement the way I would have expected it to have been written without adding a comment! A simple "This requirement should be addressed at a meeting with the client" would have been better. Meanwhile, while I was shoe-horning in the timing, I forgot to document as I went and really blew the documentation points.
By November I had a new plan. I got comfortable using several design patterns. I actually coded the sample exams using different patterns to help train myself on selecting the best pattern for a problem. And most important, I knew I was going to document first! Those really are the simplest points per minute you can get! I ran into another "Strange" requirement and addressed my solution with a comment and met the requirement with postage stamp sized code rather than the suggested work around. I have sometimes wondered if the odd requirements were intentional. It would simulate a real world enviornment.
My Personal Recommendations to Candidates
Do
Don’t
Other Resources
Where to start? There are lots of great resources out there!
The NI Forums Certification board
My Tag "Required Reading" For those who don't know - Tag Clouds are public and borrowing from other's clouds can be informative
A Software Engineering Approach to LabVIEW
And of course the online training! Go back over those highlights any time.
Comments?
I hope you found some useful information from my experiences. Please share any of your own experience tips and horror stories about your CLD journey. And for the candidates - Good Luck! and I'm happy to clarify any points I brought up.
[edited my moderator to change 'Analizer' to 'Analyzer' - 07/09/2015]
07-07-2015 10:01 AM
For those who do not know, Jeff·Þ·Bohrer is a Certified LabVIEW Developer and LabVIEW Champion. And one of these days he will finally get his CLA.
Jeff does business as 8-Ball Consulting, a National Instruments Alliance partner in the greater Milwaukee area. Yes, he really does have a "Magic 8-Ball (tm)" on his desk. But he does lose some due to airport security.
07-07-2015 11:31 AM
Ok, I now feel up to adding a few comments here.
1. I could not emphasize it anymore: Run VI Analyser. NI uses that to grade. Use it to find possible cheap lost points.
2. Documentation is the easiest possible points to get. First thing you should do is the control Tip Strips, make a text icon (they are VERY fast to make thanks to the icon editor that came out with LabVIEW 2009) for the top level VI and put something in the VI description for the top level VI. You probably just got half of your documentation points right there and it should not have taken more than 5 minutes. Comment your code, make text icons, and put something in the VI Description for all subVIs you create. If you do not get full (or very close to full) points for documentation, I would argue you do not deserve the certification anyways.
3. On an error, stop your program and report the error with the Simple Error Handler. That was one of the points I lost on my exam and it should not have taken more than a minute to add.
4. Know your architectures! I still hold that the Simple State Machine can handle every CLD scenario I have seen. But some exams are better off with maybe a Queued Message Handler with Events.
5. If you have a working project and running low on time (less than 30 minutes), do NOT add any more functionality. Go for the cheap points (documentation and style ponts). Adding functionality may break your code. And if your code cannot run, you will fail. And for the style points, well, see #1.
07-07-2015 12:33 PM
All good stuff.
For me I spent some time reading the requirements, and as soon as I knew I would need a VI to do some function I started on it. The amount of work needed can be a bit overwelming at first. So it was very helpful for me to recognize the common "File Read Write Global.vi", and "Timer With Pause Resume.vi" then get started on those. Once my head was wrapped about those functions I was a bit less worried about the big picture stuff, and slowly worked through the states I would need.
I too think that a standard Queued Message Handler can meet any of the CLD exams, but more important than using a state machine, I'd say to use what you are most comforable with, assuming you've prepared. What that means is if you have studied you may have tried a few design patterns and had more experience with one than another. If a producer consumer using queues is what you are familiar with, and you've done the practice exams with it, then you will probably want to stick with that for the exam. QMH was what I was comfortable with, and it's what I used to pass.
VI Analyzer is a valuable tool indeed.
Ask for help. These forums are a great resource to post an example exam and get some feedback. We can't promise to review every submission but if someone does review your code it will be very helpful to know your weaknesses.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
07-07-2015 02:14 PM
@crossrulz wrote:
2. Documentation is the easiest possible points to get. First thing you should do is the control Tip Strips, make a text icon (they are VERY fast to make thanks to the icon editor that came out with LabVIEW 2009) for the top level VI and put something in the VI description for the top level VI. You probably just got half of your documentation points right there and it should not have taken more than 5 minutes. Comment your code, make text icons, and put something in the VI Description for all subVIs you create. If you do not get full (or very close to full) points for documentation, I would argue you do not deserve the certification anyways.
I did exactly what Crossrulz did in terms of documentation. After reading the prompt I opened the Main VI and immediately added tip strips, made an icon, and added a description. I found that by doing all of that upfront I wouldn't accidently forget to do it at a later time.
For about a month leading up to my CLD exam I also made sure that every VI I wrote, even if it was just for testing something, was commented. Whenever I dropped down a structure element on the block diagram I got into the habit of writing a comment of what I was going to do in that structure before dropping any functions. Trying to document everything after I finish coding never works out for me (despite telling myself that I will definitely do it this time).
@crossrulz wrote:
5. If you have a working project and running low on time (less than 30 minutes), do NOT add any more functionality.
There were 30 minutes left in my exam and I could run through my project and everything would work but only for the first run through. I couldn't think of how to quickly fix that problem so I decided to just clean up my block diagram. I figured I could get one more point in functionality if I fixed that one thing but would probably lose a point in style because I had to move everything around. Instead, I decided to clean up everything I had and get another style point.
07-07-2015 02:50 PM
In the first post I told you all what I did to get my CLD. Now for the flip. what my certification does for me. It just wouldn't be the same unless I got something valuable in return for that hard work.
Let's be honest, I write LabVIEW code for a living. I don't spend tons of time authoring internal memos, I don't take meetings I can avoid, I don't spend hours creating ppx presentations for the product review commitee, I don't "Do Windows" (I have been known to wash dishes but, I wrote a SCADA system to control the dish machine operation with LabVIEW of course!). Basically, I don't do much besides write LabVIEW. It is easilly 32 hours a week of my work product. How do I get away with that? I take contracts with specific goals and endpoints, meet those goals and endpoints and then find the next client. I simply avoid the down-time between projects and can concentrate on executing.
That's a good model for me but, I need some way to differentiate myself from your average developer that may code in LabVIEW 2-4hrs per week. That CLD does help me sell my services. And, a certification is absolutly necessary to be an Alliance Partner. Yes, I've had to educate recruiters, HR personell, hiring managers and co-workers about what the certification really means and just how choosy NI is about their Partners. NI Certifications have become much more recognized in the last 5 years but there is still some stakeholders that have no idea what they are. I'll keep working to get the word out.
In a nutshell the Certification pays the bills and lets me do work I enjoy every day! I like that!
07-08-2015 11:08 AM - edited 07-08-2015 11:11 AM
After years with LabVIEW I got a nice personal library (some I developed, others I got from Internet) that helped me to become more productive. Add to that some tweaking in the LabVIEW environment.
At the CLD exam you have to deal with a clean LabVIEW, no nice library to environment tricks. This is why is so important training for the exam. You have to be fast and efficient for the exam in a virgin environment.
Is like driving a 70's car that has no electronic assistance at all with stick shift. You drove it, you know how to do it, but with all assistance you have now is hard.
07-08-2015 11:32 AM
In the LinkedIn LabVIEW User group I posted the following;
Certification is a quick way to show a potential employer that you have acquired a minimal amount of knowledge in LabVIEW. If the potential employer has many applicants, certification is a quick way for them to separate the wheat from the chaff.
The certification path for LabVIEW indicates that a CLAD (Certified LabVIEW Associated Developer) is able to write basic code without having to consult the help files before every code change. A CLD (Certified LabVIEW Developer) can develop a well structured program that can be read, understood and maintained by other developers. A CLA (Certified LabVIEW Architect) can translate a set of specifications into a well structured design that can in turn be developed by a CLD.
I was the 54th CLA and the experience required to prepare for the test required I look into many aspects of good coding that I had not previously had the chance to explore.
A CLA (or other certification) is in no way a substitute for experience. Given the choice between a CLA with little experience and a developer with years of experience, I would not rule out the experienced developer off-hand. But to answer your question about how it affects job searches, a certification is a good way to move your resume to higher in the stack.
If you are looking for an edge to land a LabVIEW job, certification can not hurt and may help.
Thank you for the Nugget and leadership Jeff !
Ben
07-08-2015 11:33 AM
Manzolli wrote:
At the CLD exam you have to deal with a clean LabVIEW, no nice library to environment tricks. This is why is so important training for the exam. You have to be fast and efficient for the exam in a virgin environment.
Not quite. You are allowed to set up the environment before the exam. No user libraries, but you can at least set up your QuickDrop shortcuts and some other preferences.
07-08-2015 12:26 PM
@crossrulz wrote:
Not quite. You are allowed to set up the environment before the exam. No user libraries, but you can at least set up your QuickDrop shortcuts and some other preferences.
Right, I was hoping I could bring along my LabVIEW.ini but I was given 10 minutes to setup my machine, which was more than enough. I setup my machine the best I could in the Tools >> Options, then went through and added all the common quick drop commands I could remember using. No OpenG was a bummer because I'm so used to having them, but I didn't really need them.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord