jeanne’s experiences with the jenkins certification beta exam

On February 24th, I took the beta for the Jenkins Certification. This beta is different than beta exams from Oracle. In particular, it was only being offered on one day. The only choices you have are:

  • whether you want the morning or afternoon offering. It’s also only being offered in 12 cities (8 in the US and 4 in Europe). I chose the afternoon because I’ll probably be up late the night before. (yeah, I know. not ideal for taking an exam)
  • whether you want the Open Source or Enterprise version of the exam. I chose Enterprise because we use it at work and I like some of the features like templates.

This wasn’t a great time for me to study for or take an exam. The exam was held, literally the day after the robot is due for robotics team on which I mentor the programmers. This means I had little spare time and was somewhat tired. It was worth a shot though. I learned a lot getting ready for it. I also learned some things after the test when I tried them on Jenkins to see what happens in those scenarios.

For the non-beta, the exam is being offered starting in mid May.

 

How was the beta

The documentation said the exam was 60 questions in two hours for the Certified Jenkins Engineer and 90 questions in two hours for the Certified Cloudbees Jenkins Platform Engineer. Beta exams often have more questions and this one was no different. It was 85 questions in two hours for the CJE and 131 questions in two hours for the CCJPE. The time limit wasn’t a problem as most of the questions weren’t text heavy. Most people in my session for the CJE left between 90-120 minutes. I was the second to last to leave for the CCJPE with about 15 minutes left of time. I had time to go through all the questions twice.

We were advised to get there 30 minutes early to sign in and get ready. Glad I did. The first step was to “log into your Prometric account if you have one or sign up for one if you don’t.” Hmm. I knew I had a Prometric account. I used it for the old Sun exams before they switched to PearsonVUE in 2011. I also used it for the TOGAF exam in 2013. They had you in a restricted window so you couldn’t use then net. I tried what I thought might be my user id and password. After a while, they let me open a regular browser to try. I checked my email, I tried to login. Nothing. Eventually I tried registering for a new account. And it let me do so with the same email I know I used for the 2011 and 2013 exams. I suspect Prometric does separate accounts for each vendor (Sun, The Open Group, Cloudbees, etc).

Then we actually took the exam. They allowed using scrap paper and handing it to the proctor at the end. Which is good. I like to write stuff down. And since it was a beta (rather than administered by the testing center), it was paper and pen rather than reusable markers!

The actual exam was like your typical certification test. Some radio buttons. Some checkboxes where they tell you how many are correct. It was also cool to hear people chatting before the exam too since it was mainly Jenkins power users in the room.

How did I do

I passed! I am in the first batch of certified folks for this exam ever!

I’ll edit this post in 4-6 weeks when I have my score. I don’t think I passed. It’s impossible to tell for a beta though as it depends on which questions they choose to include in the exam and what the passing score ends up being.

For one thing, I chose the wrong exam if my goal was to pass. I learned more taking the CCJPE than if I had taken the CJE. But I haven’t used the Cloudbees Jenkins Operation Center in Production and knowing the Enterprise Jenkins parts well wasn’t enough to compensate for that. I’m glad I chose the CCJPE though. I learned more that way.

For another, I didn’t study in enough detail. I knew the scenarios I work with really well. I knew the concepts really well. I knew the things I played with at home studying. But then there were the parts I didn’t know. That was not enough time to study issue. While I did review flashcards at the robotics lab, I choose to prioritize mentoring the programmers on the team over hands on studying details about Jenkins.

How did I study

I recommend spending WAY more time playing with Jenkins features you are unfamiliar with to study for the exam. I didn’t do that due to lack of time. What I did do in the limited time I had available to study:

  • Week 1: 1/27-2/2
    • Decided to take exam
    • Got three out of five of the practice questions right from the PDF (they were easier than the majority of the questions on the exam by the way)
    • Read objectives in detail
    • Self assessed my strengths and weaknesses
    • Installed Jenkins locally including correct plugins
    • Played with plugins, made study outline and flashcards for chapter 1 of objectives
    • Started reading “Jenkins: The Definitive Guide” (I already owned this book and never got around to reading it)
  • Week 2: 2/3-2/9
    • Reviewed flashcards every day
    • Finished reading “Jenkins: The Definitive Guide”
    • Installed CJOC locally
    • Played with plugins, made study outline and flashcards for chapter 5 of objectives
  • Week 3: 2/10-2/16
    • Reviewed flashcards every day
    • Started reading “Continuous Delivery” (another book I owned and never got around to reading)
    • Played with plugins, made study outline and flashcards for chapters 2-3 of objectives
  • Week 4: -2/16-2/23
    • Reviewed flashcards every day
    • Finished reading “Continuous Delivery”
    • Played with plugins some more (fairly minimal though as the robot was due on 2/23) and I spent a lot of time in the lab
  • Exam day: 2/24

The study materials I created

Feel free to use these as a starting point. You need more hands on experience than just reading a study guide though.

I wrote both of these entirely before taking the exam. There are some objectives in the word document were I wrote that I wasn’t sure what they meant. After taking the exam, I’m still not sure! Hopefully these objectives are re-worded to be clearer.

programming a finch without being able to read (parent required)

Someone at work was asking me about robots for kids. I offered to lend him my Finch to try out. I noticed there’s an experimental language called Snap! on there now which says it can be used by ages 4-7. The idea of Snap! is that it is a simplified Scratch which is also supported. I really like that the Finch supports such a range of languages from ones like Snap! and Scratch to “full fledged” languages like Java and Python. I also like that it has a variety of sensors so you can incrementally make things harder.

Anyway, I wanted to give Snap! a try to see how easy it was too use. My was it easy. Including downloading the software, it took me less than 15 minutes to get the finch to move forward and back having a different color nose when pressing keys. (and another 15 to make sure installing Java 6 didn’t mess up anything else on my machine.)

Install (parent required)

I downloaded and installed the BrainBirdRobotServer which was clearly described on the Snap! page. Installing was the usual for Mac; just drag to the Applications folder. The only catch was that I had to re-install the long since unsupported Java 6. Not a big deal. The software even gave me the link. And it didn’t muck with my paths for anything else so Eclipse/Ant/Tomcat/Postgres etc still work normally.

Setup and initial run (parent required)

This isn’t hard, but it does require being able to read so a four year old isn’t going to be able to do it alone.

  1. Open BrainBirdRobotServer
  2. Click Open Snap! I choose local since I wasn’t planning to save my program
    finch1
  3. Plug in the Finch. (One end of the wire goes into the Finch and the other end goes into a USB drive on your computer. I put it in a USB hub
  4. Write program. It opens with a simple one that drives forward with a green nose if you press space. I adapted it to go forward with a green nose when you press the up arrow and backward with a red nose when you press the down arrow.
    finch2
  5. Press up and down and watch Finch move. That’s it.

Play

What more to say here. These basic blocks already do stuff. And then the parent can show the kid more blocks.

Making it harder

Assuming the kid can read (or you are present), the higher levels of Snap! allow writing more complicated programs. I couldn’t figure out how to change the level other than editing the URL. You can easily sense the pattern here. The only catch is that I had to load the page twice with the new level URL to see it.

  • http://snap.berkeley.edu/snapsource/snap.html#cloud:Username=birdbraintech&ProjectName=FinchLevel1
  • http://snap.berkeley.edu/snapsource/snap.html#cloud:Username=birdbraintech&ProjectName=FinchLevel2
  • http://snap.berkeley.edu/snapsource/snap.html#cloud:Username=birdbraintech&ProjectName=FinchLevel3

The higher levels allow adding timing delays and such.

Caveat

As far as I can tell, the Snap! language doesn’t allow you to use all the sensors on the Finch. But it looks like a fun way to get started. (Not true. The highest levels can at least use some of them)

OCP Book Now Available!

OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z1-809

Jeanne and I are thrilled to announce that the Kindle version of our second book, OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809, is now available for purchase on Amazon! The OCP paperback edition, available for pre-order, is currently printing and will be shipping in the next month.

This book, which is nearly twice the size of our previous OCA Study Guide, is chock full of information on topics ranging from design patterns, to concurrency and NIO.2, to JDBC. Unlike many other older study guides, we have written our material centered entirely around Java 8, with an emphasis on lambda expressions and streams.

While some experienced developers can pass Oracle’s OCA exam with limited amount of studying, the same cannot be said for the OCP exam. Besides the large-scale inclusion of lambda expressions and streams, the exam covers includes much broader topics that seasoned developers may not be readily familiar with.

For example, you might have been using JDBC for years, but can you list the differences between obtaining a connection using the 3.0 and 4.0 versions of the drivers? You may have also been reading and writing files with java.io streams for years, but we bet many of you haven’t ever used the mark(), reset(), or skip() methods. It is for reasons like these that we strongly recommend you study carefully for the exam using our book or an equivalent study guide, avoiding the pitfalls (mentally and financially) of having to pay to take the exam multiple times.

Our book covers all 3 variations of the OCP exam, including a dedicated Appendix for those taking the Java 6 or earlier version of the OCP 8 upgrade exam, as it contains material not found in the other two versions of the exams.

We hope you enjoy reading this book as much as we enjoyed writing it!