JavaScript code image

Last week I finally sat, and passed, the exam for the Salesforce JavaScript Developer 1 Certification. I say ‘finally’, because I had been keen to get this certification since it was announced in early 2020, partly because I’ve always been fascinated by JavaScript, but mainly because its becoming one of the most important languages in modern software development, on and off the Salesforce platform.

So why did I wait so long to go for it? It would be easy to blame the Pandemic, family and work pressures etc, but the truth is, as somebody whose experience of modern JavaScript has mostly been Salesforce-specific, I didn’t feel confident enough in my conceptual knowledge to cover all the bases in the exam. There’s a lot of content in this one.

The scope of the exam

The JavaScript Developer 1 exam has the broadest scope I have ever seen in a Salesforce certification. Unlike other certifications I’ve taken, instead of a single study guide document, you have the following Trailhead modules covering the different sections of the exam:

(These modules are not tutorials; they mainly consist of learning objectives and links to articles on sites like the Mozilla Developer Network).

You might be surprised to learn that the exam is entirely ‘off-platform’, and contains literally nothing about Aura, Lightning Web Components etc. (you need to know these for the Lightning Web Components Specialist superbadge, though, which I’ll get to in a moment). I concluded that the general purpose is to prove you have equivalent knowledge to somebody that has worked on enterprise-level JavaScript applications for a couple of years, or as Salesforce put it:

“The Salesforce Certified JavaScript Developer I certification candidate uses the JavaScript language in one or more frameworks to develop front-end and/or back-end applications. The candidate can design, develop, and test solutions that are performant, maintainable, and re-usable.”

The Lightning Developer Superbadge

This superbadge is required alongside the exam to gain the JavaScript Developer 1 certification. Like other superbadges on Trailhead, you are given metadata and code stubs to install into a Scratch or Dev Org, and a scenario with various steps to turn them into a working application. It covers a broad range of concepts (including some pretty recent ones like Jest tests and Lightning Message Service), but nothing that isn’t included in the official developer documentation.

If you’ve done any developer superbadges, you’ll be familiar with the frustration that comes from having a working solution rejected by the automatic marking process. The best way to avoid this is to always use the exact syntax (even down to spacing and variable name/case) used in the coded examples in the official documentation. Another tip would be to build your own specification from the notes in the module, or you will spend a lot of time scrolling and searching around the module page. This Knowledge article has some good pointers and FAQs on the Superbadge, and is worth a look before starting.

Personally I found it easier to tackle the superbadge first so I could forget about it and concentrate on the exam, but your approach may vary. Whether you do it first or second, allow yourself a good amount of time to complete the superbadge; it’s not designed to be bashed through in an afternoon.

Don’t do the ‘exam cram’!

If I could only give one piece of advice, it would be this: don’t rely on cramming for this exam with flash cards, cheat sheets and mock exam questions. Those tools are useful for testing your memory of syntax and keywords, but the exam questions are designed to test your understanding, rather than your memory. The vast majority of the 60 questions will ask you to scrutinize chunks of code, and either predict what it will do, or select additional lines of code to make it work correctly.

The only way to prepare for questions like this is to write, and read, a lot of JavaScript code. Some ways you can do this are:

  • Read through JavaScript repos on GitHub
  • Sign up for an account with jsfiddle or CodePen, and play around with all the concepts in the exam notes until you are comfortable with them (here’s an example that I bashed out)
  • Mess with your favourite websites by invoking DOM APIs from the JavaScript console in your browser
  • I formed a study group with colleagues where we shared code snippets and invited each other to try and predict what they would do

It’s time consuming, but these approaches will give you a much better preparation for the exam, and they are good for your programming chops in general.

Don’t despair…

It might sound like I’m trying to put people off sitting the JavaScript Developer 1 exam – please don’t take it that way! I may be something of a nerd, but I found the preparation for this exam both enjoyable and fascinating, and it has helped to fill many gaps in my JavaScript knowledge. Also, unlike with some other Salesforce certifications, I can absolutely say that I gained additional skills that are helping me in my day to day work.

I’m planning to write a follow up to this with some more details about the concepts covered in the exam, and links to additional study material. In the meantime, I’d love to hear about your experiences with this exam, and JavaScript in general. Bye for now!

Dorian Sutton July 26, 2021

Leave a Reply

Your email address will not be published. Required fields are marked *