A few months ago the linux foundation published the expected Node.js certifications: OpenJS Node.js Application Developer and OpenJS Node.js Services Developer . Here you will find all the needed information about the certification requirements, topics, process and prices (you can get a 30% discount which is valid until May 31 2020). By now, when you get the voucher for the exam, you will get a free 2nd attempt.
By the time I first started to look for information about the exam I didn’t find much available except these two articles which helped me to understand the process and what to expect from it.
- A nearform blog entry about the node certification process
- Impressions for the certification process by someone who took the exam
In this post I would like to share my experience on getting the OpenJS Node.js Application Developer certification.
My approach was to follow this resource https://www.nodecertification.com/.
- There you will find links for each one of the 13 topics covered in the exam.
- Some links are a bit old, so be aware of this when you read them.
- Always read the official documentation for each topic (you can find related links next to them). Be sure to read the ones for node 10.x. version since this is the one used for the certification.
- Write code and test every single topic and be sure to understand the hows and whys for each one of them. I’ve compiled in this github repository a set of examples based on my readings and tests for some use cases I’ve made up to cover some of the topics.
Please be sure to read about all the topics and try almost everything. During the exam, you will have access to the official documentation. It will be ok to seek in the documentation some concrete concepts otherwise you are going to consume more time and won’t be able to complete the required tasks on time.
- You don’t know JS; note that the second version is still in progress in another branch.
Taking the exam
Information for the exam:
- The exam it’s not like other certification exams with single or multi choice questions or completion or things like that. In this exam you’re going to write real code in a “real” environment.
- The exam will be a series of exercises for the topics included. It could be one or two exercises for each topic.
- The environment will be browser based (chrome recommended) supported by an extension that you will need to install to monitor your activity, more info here. Inside the browser you will have a virtual CentOs system loaded where you will have available 3 different options to write your code: vim, VsCode and WebStorm. You will need to choose the one you want to use for the exam. When you login into the system it shows an open browser with a page listing the topics of the exam (it helped me to remember which number, from 1 to 13, was each topic and can choose which one to select to start or to follow).
- You must have a webcam in a position that allows the reviewer to see you all the time(your face and hands). You will need to show to the camera your personal id card (to verify who you are) and to show the room in which you are at that moment.
Problems you may have (I got them all):
- Be sure you have only one window of your browser with one tab otherwise the screen sharing is not going to work(it’s not valid having other window browser minimised)
- Be sure having a good light and webcam that can show your id clearly
- The keybinding is a mess (at least to me). They warn you that some key binding may not work and that you have a window keyboard available
- Sometimes the environment just freezes. It happened to me all the times I’ve had the chat window open to talk with the reviewer. Most of the time it works again when you close the window, if not, there is an option to refresh the environment in the menu top right (don’t worry, changes are not lost). This is the most frustrating part of the exam since it makes you go much more slowly you might be used to work (I think this might be one of the main reasons they offer the free retake).
- You should start with the easiest topics or the ones that are most fast to complete (let testing, buffer, events and control flow tasks for the end).
- You will have more or less about 6 or 7 minutes for each exercise. Some of them can be done in much less time than that but others will take you more. So read the statement and do it if you are sure how to make it, if not, go next and come back later. If you are stuck in some exercise, go to the next one..
- Be pragmatic and go to the simplest solutions that complain with the statements. Forget testing, write some extra code to see if your code works and delete it when the task is done.
- Watch your time. You don’t have a timer. The examiner will warn you when 10 minutes are left. I advise you to check the time you start and keep tracking the time. If you have a smartwatch, the reviewer can ask you to take it off.
Own opinion, Is it worth it?
After taking the exam I think it is worth just for one simple reason:
- you will be forced to read some official documentation that maybe you will never read. After all the time you will expend reading and trying things you will have a more confident knowledge about some topics like events, streams, package manager, child process and event error handling.
If you are wondering if it is necessary to take some training for the exam, I think it’s not. If you work with Node.js in your daily bias, you have some experience in JS, read about all the topics and take your time to write code and test things, you can pass the exam.
Maybe you need the free retake because the first time it’s really had to get used to the exam environment. I think a good option it’s to prepare for the exam a little bit, just to be comfortable with all the topics and take one try so you can know the environment and the kind of question you will be asked. With that, if you fail your first try, you can complete your training more focused with more information and some idea about how the exam is and which kind of tasks you will face.
Lastly, I think that the exam environment must improve to be more comfortable to solve the task. I’ve left a comment about this in the survey after the exam.
I hope this helps you. I wish you luck if you try to get the certification. Let me know if you have any question.
Spanish version for this post