Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

Certification Nugget: CLD - Certified LabVIEW Developer

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

  • Prepare a plan before you arrive for the exam
  • Learn several design patterns
  • Plan where each requirement will be covered
  • Code your solution shell code pieces first
  • Hit all the functionality you can in the time remaining
  • Run VI Analyzer

Don’t

  • Worry about how the code will likely develop in the future- you have four hours
  • Forget your tip-strips
  • Forget to run VI Analyzer with plenty of time to fix any big hits

 

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

The LabVIEW Style Book

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]


"Should be" isn't "Is" -Jay
Message 1 of 48
(20,275 Views)

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.

 

Spoiler
Yes, I give Jeff a hard time about getting his CLA all the time.

 

 

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.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 2 of 48
(20,253 Views)

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.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 3 of 48
(20,229 Views)

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.

Message 4 of 48
(20,214 Views)


@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.

Matt J | National Instruments | CLA
Message 5 of 48
(20,202 Views)

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!


"Should be" isn't "Is" -Jay
Message 6 of 48
(20,191 Views)

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.

André Manzolli

Mechanical Engineer
Certified LabVIEW Developer - CLD
LabVIEW Champion
Curitiba - PR - Brazil
Message 7 of 48
(20,160 Views)

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

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 8 of 48
(20,152 Views)

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.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 9 of 48
(20,150 Views)

@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.

0 Kudos
Message 10 of 48
(20,126 Views)