Since mid-2018, there is possibility to become Elastic Certified, which is the official way to show the world you are an Elasticsearch expert.
I have recently gone through the exam and this post is about my preparation process and what to expect of the actual exam.
I have been considering certification since the moment I received the Elasticsearch newsletter with information that the certification exam is available. It took me nearly one year (Aug 2019) to do a step forward and register for the exam. One of the reasons that helped me to do such a move was a limited offer about free exam retake in case I would fail the first attempt. At least some safety net, as I heard the exam is pretty tough.
The examination is done online, you don’t have to go to some partner training center, but we will get to the examination details later.
To register for an exam, you have to visit the Elastic training portal and buy the Elastic Certified Engineer Exam. Afterward, you will receive email instructions on how to schedule a time slot for examination. Good news, you can reschedule the exam until 24 hours before the scheduled exam time.
One of the first things I have done was attending a webinar about the Certification Exam lead by Rich Raposa of Elastic. No worries, it has been recorded and is available on the Elastic website. It will give you a lot of information about the exam, how the questions (actually tasks) look like, how your result should look like and also what not to do during an exam (the proctors are fairly strict).
After that, I took a break in my preparation process, to be honest, the break was longer than I wanted, but no excuses — It was only my fault. So 10 days before the exam I thought it might be the right time to deep dive into preparation.
A colleague (big thanks Rasto) who already went through examination gave me some tips & tricks on what to expect and how to prepare, so the scope of my preparation was clear. Regarding scope, another good news you probably heard already — the exam is only about Elasticsearch so you can focus your preparation only on this product.
About the expectations — you will have to solve a wide variety of tasks. From cluster set-up, through administration to data ingest and query construction. I was pretty confident in cluster set-up and administration topics as this was my daily business for more than 2 years. On the other side, data ingestion and query construction were the ones that scared me, we use a combination of Beats and Logstash to parse incoming data and Kibana to query them, so constructing ingest pipelines and search queries was not really my thing.
To prepare for exam, Elastic recommends going through their Elasticsearch Engineer I and II courses, which covers all the topics from certification exam. I have attended Engineer II classes last year and I can only recommend them, but 10 days before my exam, this option was a no-go.
If you are that (ir-)responsible as I am, there is another option. Linux Academy offers Elastic Certification Preparation Course led by Myles Young, which offers awesome value for very low price. Just one warning, the course was prepared for 6.x version of Elasticsearch and current Certification Exam works already with new 7.x version, however that shouldn’t be a problem, at least, I did not find any discrepancy between course materials and 7.x documentation.
The course itself consists of several explanation videos and hands-on labs. The videos were of very high quality and explanations were clear and easy to understand. All-in-all Myles did a great job. I have to admit that I did a speed-run over 8 evenings, each evening about 2 hours of study. I made a notes with keywords which has been new for me or which I did not use that often, for example Forced Awareness was something I was not familiar with (yeah, silly me!).
Last evening before the exam, I took a look at the keywords and went one by one, looking at the documentation to remind what it does and when to use it.
I woke up early before the exam, stress did a good job to wake me up early, but a good cup of french-pressed coffee saved me from far worse conditions already. When I was finally able to use my brain I moved to my desk to clean it up and move everything away from it…
Yes, during the exam, all you can have on your desk is your computer (that has to be equipped with webcam and microphone), cup of water and/or hot beverage and your ID document with your photo on it. Nothing else, no notes, no second monitor, no smartphone. Don’t forget to remove your smartwatch from your wrist as they are also forbidden.
… after a few moments, my desk was empty with only notebook on it, and I was ready to roll. Fifteen minutes before the exam, I logged into the exam environment from which the remote desktop should have been started. Now the problems started to appear — the page displayed an only warning stating that my exam is not prepared yet. Okay, sure, I’m patient and I can wait a few minutes. 15 minutes gone, nothing, still, the same, 30 minutes gone, no change, so I wrote to the support chat that I have such a problem and luckily a few moments later the green button appeared — my exam was ready to be done.
The very first thing that the exam proctor wanted to be done was to show the ID on the webcam. After that, some formal instructions that nobody should be in the room where I am, that I should not cover my mouth and speak to nobody and that I have to be in front of the camera all the time.
Afterward, I was asked to show 360° view of the room and close-up of my desk on webcam. As I removed everything from the desk, we jumped into actual exam right away.
In the remote desktop environment, there was browser window opened with around 8 tasks (I don’t remember the exact number, but AFAIK number of tasks is individual). Rasto told me, he fought with time during the exam so I didn’t want to loose any by looking around and familiarizing with the Debian-based exam environment, I just started with the first task.
Luckily, first task was cluster setup leveraging hot-warm nodes. Easy-peasy, ssh to each node, set elasticsearch.yml with correct properties and run elasticsearch process. Five minutes including double-check of node attributes through Kibana. That was ego booster and stress reliever at the same time, so I went to next task; again some cluster properties… nothing that might surprise me.
At the second half, the nature of tasks switched to operations with indexed data. I had to modify already indexed data; of course, I used ingest pipeline and Reindex API. Another task, create some custom analyzer and also one or two tasks about queries, nothing horrible just some aggregations and bool queries.
About the answers, some tasks required to fill in text field with result, for example query, that return desired results. Other tasks had no input and result of the task was stored in the elastic cluster you have been working with, like the task where you had to reindex a set of documents into a new index.
After 1 hour and 45 minutes I asked proctor for a break, so I would refresh my mind before final answers double-check. You are allowed to take one 10-minutes long break.
Back at the desk, final answers check before submitting results. That took me around 20 minutes, after which I was quite confident with my performance. I decided to end the exam before I start to feel insecure about my answers, so the great moment of results submitting came next. Unlike exam start, no problems here, results have been submitted, we said good bye to each other with proctor and that was it, the never-ending waiting for the results began.
… and my stress level rose after ~1 hour of exam end. I realized I made a mistake in the very first task, the one that boosts my ego to a level that I was able to do the rest of the tasks like a boss. It was only mistaken I realized I did, but still, I was so confident about this task during the exam…
Luckily, waiting for results was over after short 8 hours since result submission and fortunately, the email body started with “Hi Marek, Congratulations!” and few sentences later, there were the instructions how to obtain certification badge, however, no details about your performance.
To sum it up, If you are working with Elasticsearch, definitely go for Certification, the exam really is fun. The preparation as you see is not that time consuming as it might seem, especially, when you just need to refresh particular topics.
And, as a cherry on top of a cake, Elastic will send you Certification swag pack with stickers and coin:
Thanks, Elastic :-)