Home

Awesome

Node.js Certified Developer

Public facing repository to document and update community on Node.js Certified Developer project development

This repository is a reflection of project work collaborated on in private repositories to maintain the integrity of the exam questions.

In December 2016, the Node.js Foundation held an in-person development workshop after Node.js Interactive North America to accelerate work on its new Node.js Certified Developer program. The Job Task Analyis(JTA) working group determined specific topics for the exam and the skills, knowledge and abilities a certified candidate should be able to demonstrate to become a Node.js Certified Developer.

The certification program aims to establish a baseline for competency in Node.js. While not an expert in all areas, developers who pass the certification will be able to hit the ground running with Node.js professionally.

Please see this for activity specific to the active item writing development phase.


The process for these workshops is explained below. We’ll start with a few premises!

We are certifying early Intermediate level developers.

Developers who certify cannot do everything, but hit the ground running with a Node.js job.

Considering the constraints of the exam environment (isolated and proctored), we needed to address concerns around security, exam item exposure, and cheating. Discussions spanned the full gamut of what we use on a day to day basis as Node.js developers. Amongst resources considered to have available/unavailable:

The issue of the programming environment candidates would encounter as part of the certification was discussed at length as well. Considerations included:

Scope

Participants individually attempted scope statements in writing and then presented them aloud while transcribed. The critical elements of each were highlighted, captured, and combined into a single scope statement.

Node.js Certified Developers can work proficiently in JavaScript with the Node.js platform to build, debug, test and maintain secure framework-independent applications and CLI tools.  

They are capable of handling asynchronous I/O effectively and efficiently to manipulate, transform and persist various data using HTTP, files, streams, and multiple processes.  They can leverage and integrate 3rd party modules effectively.  

The Topics!

The next order of business was to determine the primary domains of performance. Participants named many topics, which were then transcribed and posted on large (24” x 36”) Post-It sheets.  As we converged on ideas, it was realized that some topics were out of scope, others could be captured under another domain.  The determined Domains are:

Below is the final blueprint.

#DOMAINWEIGHT
1Unit Testing5%
2Diagnostics (Basics, Debugging, Performance)5%
3http(s) TCP11%
4Events9%
5Child Processes (Basics, no IPC/fork)7%
6Buffers and Streams9%
7Error Handling7%
8File System7%
9Control flow (Async tasks, Callbacks)10%
10CLI (-E, -R, etc)3%
11Package.json5%
12Javascript Prerequisites (Closures, prototypes, var/let/const)6%
13Security (Basics only)5%
14Module system (Scope)6%
15Process/Operating System (no IPC)5%
Total100%

The most valuable and heated discussions of this workshop was in determining these weights. The diversity of roles that were giving input to the weights--hiring managers, trainers, teachers, and developers of a wide range of experience levels is key in finding confidence in the selected weights. It is important to note that we will monitor the performance of candidates in alpha and beta testing to determine whether these need to be adjusted for setting a passing score.

Individual tasks were written for each domain and subtopic, however the working group did such a great, detailed job that we risk exposing potential questions for the exam. These tasks will the foundation of the Item Writing development phase.

Testing Details

A test length of 3 ½ hours was deemed appropriate for the scope of the exam and for human comfort/attention span. The test time includes introductory material, practice items, instructions regarding control structure, as well as final instructions regarding results reporting.

The test will consist of approximately 30 items, depending on the results of Beta testing.  The test will be comprised of one form with item variants for security purposes.

Writing, editing and testing code are going to be the assessment mechanisms used in this exam.  In some items, partial code will be provided to the candidate to reduce the time required to demonstrate the skills to be evaluated.  In other contexts, the candidate would write an entire program.

No prerequisites or credentials are required to take the examination.  This has to be stated for those who are not familiar with certification programs.

Recertification Interval

Recertification requirements and interval:

  1. Regulatory requirements:  there are no regulatory requirements for Node.js.
  2. The exam will reflect changes to normative documents annually with LTS cycle.
  3. The exam will be reviewed and updated every 2 years  
  4. The LTS releases support cycle reflects the nature and maturity of the industry or field in which the certified person is working.  
  5. The risks resulting from an incompetent person include the following:  bad hire; lost recruitment money; incremental training costs; missed deadlines.
  6. Ongoing changes in technology, and requirements for certified persons are reflected in ES releases  
  7. Requirements of interested parties were taken into account in formulating the task force, and will be included in guiding bodies for updating and revision of the exam.  Interested parties include:
  1. No surveillance activities are planned to evaluate certificants on an ongoing basis.

Test Retake Interval

In order to maintain current certification, certificants will be required to retake the Node.js certification exam every two years.  

Exam Review Interval

Because of changes to the Node language, every two years the exam will be reviewed for content appropriateness and accuracy.  If it is determined that the exam needs substantial revision, then another JTA will be undertaken.

Recommended learning materials

(to be refined and moved to a separate document)

A subset of these will be provided as part of the isolated exam environment.

Books

URLs

Training Materials