|Last summer, I decided to take the Certified Jenkins Engineer (CJE) exam. I have years of experience with Jenkins as developer managing my own jobs as well as Jenkins administrator. Aquiring the certification sounded like a good idea to prove my proficiency with the subject. To pass the exam, you have to understand theoretical and practical aspects of CI/CD. The main focus of the certification lies on operating Jenkins pipelines and maintaining them in the context of a larger organization.|
To certify, you have to register with a test center near you. The test center provides a computer preloaded with the questions. You have two hours to complete them. With the right practical knowledge of Jenkins, you should have not trouble hitting the passing score. For a rough guideance on the curriculum, check out the 2018 study guide. The PDF contains helpful links to external resources you may want to read.
In this post, I want to summarize the resources I used to prepare for the CJE exam. I hope they will help you with succeeding the exam with flying colors.
An important aspect of getting familiar with all aspects of Jenkins is to set up an instance and get hands-on experience. Here are some options:
Your company already uses Jenkins as the standard CI/CD product. You likely already have an instance in place, optimally with a master/agent setup.
Download a Jenkins distribution to your machine and run it there. The distribution is available for a variety of target platforms. You can even run Jenkins in a Docker container to keep your machine clean and tidy.
Running Jenkins in virtual machine. This method is helpful for emulating a distributed build setup. I used Vagrant to stand up a master with two agents which worked quite well.
I personally decided to run Jenkins on my developer machine by executing the Java command on the WAR file. You can exercise all aspects of Jenkins except for distributed builds. For distributed builds, I chose option 3.
There are a couple of free and paid resources that I found helpful. Moreover, I wrote two blog posts if you’d like go further on certain aspects.
A good way to start are the video courses by CloudBees university. Those courses lay out the curriculum and touch on all topics important to the exam.
The course "Learn Jenkins by doing" is an instructor-led video course by Linux Academy. It might be helful to go through the material shortly before taking the test. You can subscribe to a 30-day trial to get access to the content.
I wrote a blog post on best practices for shared libraries in Jenkins. The content goes beyond what’s required for the exam but you might find it helpful if you planning to roll out pipeline logic on a bigger scale in your organization.
You can set up your Jenkins environment in a Kubernetes cluster. To learn more, check out this GitHub repository. The instructions walk you through the installation and configuration steps. I know that a lot of people are interested in this topic but it’s not really relevant to the exam.
|After passing the exam, I decided to create a learning resource to help students with their journey of becoming a CJE. In cooperation with O'Reilly Media, I produced a video course, the Certified Jenkins Engineer (CJE) Prep Course, that explains the theory of all topics covered in the exam and reinforces the material with the help of practical demos. Check it out! It's free for subscribers of the Safari program.|
There are a couple of things you need to consider for the actual exam. Time management wasn’t really an issue for me. As far as I can remember, I finished the exam after 1 1/2 hours with plenty of time to revisit answers to questions I wasn’t quite sure about.
The exam is conducted in a test center. You will not have access to any documentation and need to solely rely on your knowledge. Try not to cheat by secretly bringing in any notes as it can result in automatically failing the test. Remember that you can’t bring any food or drinks either.
You will likely encounter questions that are not necessarily clear-cut or that you can’t solve right away without thinking about the answer more deeply. Don’t get hung up on those questions. Simply move forward by working on the next question to ensure that you score the points for simplier questions. You can always come back.
I hope I could give a couple of valuable pointers to prepare for the CJE exam. It took me about a week of preparation to feel ready for the actual test by brushing up on topics that I was less familiar with. Your preparation time may vary and highly depends on your experience with Jenkins. Practice, practice, practice. I am sure you’ll be able to pass the exam. Good luck and let me know how it goes!