PASSED! Jeanne’s Experience Taking the SAFe Practitioner exam.

Today I took the SAFe 6.0 Practitioner certification and passed with a score of 96%. Passing is 80%. Like the SAFe for ScrumMaster (read about my experience) I was optimizing for passing quickly. However, this time I was more familiar with the material. Also, I wasn’t distracted by taking it on Halloween..

My path to certification

As background, I’ve been a part time SM (and rest of the time developer) for over a decade and been on a SAFe team for a while.

I’m overqualified to be taking this course/exam. I didn’t take it when I was new to SAFe for, um, reasons. Half of my teammates were taking it this week so I figured I’d take it with them to see what was covered. I did learn a couple things and it also gave me an opportunity to reflect.

  • April 21-24 – took SAFe6 training course – half a day each of the four days. I found it easier to focus in this class than the SAFe for SMs class for three reasons. First, I wasn’t distracted by helping get ready for a conference. Second some of my direct teammates were in this course so we had a side chat discussing how some of the material applies. Third, my breakout group was more engaged. One of the members (besides me) had agile experience so we got to have some fun debates.
  • evening of April 24 – Took the practice exam; got a 96%. Well I’m ready.
  • morning of April 25 – Took the real exam. Also got a 96%.

In class they advised us to practice until getting a 90% on the practice exam. Since I got that on my first shot, I didn’t review the material. Also helps that I took the exam right away so didn’t have time to forget anything. (Unlike the SM course where I went to a conference on agile (but not SAFe and then traveled in between the course and the exam)

What I got wrong

Given my score of 96%, I got two questions wrong. On the practice exam, both were in the “Team and System Demo” category. I got a 50% on that section; so there were 4 questions on the topic. For the practice exam, they tell you which questions you got wrong. One was because I misread an answer that had the word “iteration” as PI. Those are clearly different things. The other I still don’t follow as two answers sound the same to me.

On the real exam, I also missed two questions. I got a 0% on production vision/roadmap which means I got the one and only question on that wrong. On flow, I got a 83% suggesting there were 6 questions on this topic and I got 5.

The exam

Like the SM exam, all questions were single answer multiple choice with four possible answers. Some were very easy. Some had two reasonable sounding answers. For a number of them you had to know how SAFe would handle the scenario even if that’s not how another agile framework would. There were definitely some theory vs practice ones. Luckily, I’m well versed on the theory having finished the class yesterday.

Logistics

The exam is non proctored and you don’t have to show your environment on camera. It was nice not to have to clean up all the programming books and papers around me. The environment is exactly the same as the practice tests one.

After the exam

You get a score report with the % right for each category. This part looks like the report for the practice exam. Unlike the practice exam, you don’t see the questions and which ones you got wrong specifically.

Timing

As I mentioned in my experience with the Java 21 exam blog, I typically finish exams with lots of time to spare. This was a 90 minute exam. I finished my first pass in 21 minutes and my second (to clean up the ones I was unsure of) in 5.

How to Study

Granted I didn’t study. But that’s because I’ve been using SAFe a long time. If you are new to SAFe, I don’t recommend immediately taking the practice test or real test. Instead read or skim (depending on how much you remember) the course PDF. Same for the links on the while pages of the PDF at the end of each lesson. Pay special attention to acronyms and lists. Once it looks familiar, take the practice test and see how close you are to ready. (If you take a practice test too early, you lose the predictive value of using it to learn how you will do. This is true of certs in general, not just this one)

And fun fact: one of the questions on the real exam is the same as one of the ones I got on the practice test.

[javaone 2025] know your java

Speaker: Venkat Subramaniam

See the table of contents for more posts


Exercise 0 – warm up

  • How many years have you been doing Java

Exercise 1 – Collection’s remove

  • An ArrayList containing 1, 2, 3 becomes 1, 3 when call remove(1)
  • If you change to Collection<Integer> numbers = new ArrayList<>, what happens.
  • It is [2,3] because uses method on Collection, not on the ArrayList
  • “Code always does what you type and not what you mean”

Exercise 2: type inference

  • Exercise 1 but with var numbers = new ArrayList<>()
  • now it is [1,3] because var uses type on right which is ArrayList
  • Just because you like type inference doesn’t mean use it all the time. Determine when right thing to do

Exercise 3: Arrays.asList()

  • Arrays.asList(1, 2, 3)
  • Which of add/set are printed and what is in list?
  • add throws exception, set works so it is [1,2, 2]
  • Lesson: quit using asList. Use List.of instead

Exercise 4: forEach

  • .forEach(name -> upper.add(name))
  • worked until made one change
  • side effects is the problem (change was probably making it parallel)
  • forgot “it works on my machine”. better is “it failed on my machine”. Want it to fail on your machine instead of in prod
  • The lambda is not pure. A pure function is idempotent. Returns same result for same input regardless of how many times it is called.
  • A pure function does not emphasize anything outside it. It is ok to mutate; it’s like changing clothes. Just don’t do so in public; aka as a side effect
  • A pure function does not depending on anything outside that may possibly change.

Exercise 5: stream

  • int[] factor= new int[]1,2,3};
  • stream = numbers.stream().map(n -> n * factor[0]);
  • factor[0] = 0;
  • stream.forEach(System.out::println)
  • 000 because lazy evaluation

My take

This was cool. It wasn’t Venkat’s usual style. It was more interactive. He had a QR code to a Google form for each exercise so the audience could reply. That’s a great technique. If I ever have to present remotely about certifications, I’m going to copy it! It was interesting seeing the Google form results A lot of mixed results

[javaone 2025] Engineering a Modern Java Platform: Making Kubernetes Work for Java Teams

Speaker: Stephen Millidge

See the table of contents for more posts


In last 30 years

  • More devices – ex: smartphones
  • Containers
  • K8S
  • Cloud
  • Elastic Infrastructure

Modernization

  • Because Java so successful, a lot of of mission critical applications
  • 47% of apps need modernization.
  • Wouldn’t call legacy because they are running the business
  • Expensive to write from scratch and not a lot of benefit in general
  • Goal: Adopt new infrastructure
  • How; Lift and Shift
  • Why: Scalability and high availability, elasticity, rapid provisioning, software defined infrastructure, cloud migration
  • Most monoliths aren’t that big and can put on cloud intact. Don’t have to switch to microservices

Kubernetes

  • Helps with complexity of running at scale
  • Container Orchestration/Management Platform
  • “poor application server”
  • Goal: maximize uptime

Challenges for Java Developers

  • Context switching from Java code to managing K8S
  • Complex setup
  • High learning curve
  • Steps: upload jar/war, scan for config, compare config values, define config map/secrets, define container/service/pod, launch pod, setup DNS names, configure routing, request SSL cert, integrate/monitoring.

DevOps

  • Move Dev and Ops closer together
  • “The developers do ops”. Rare for ops person to do development

Platform Engineering

  • Offer developer platforms to help teams developer/deploy/manage apps
  • Focus on automation, self service and streamlined workflows to improve developer productivity and system reliability
  • EU is regulating software – supply chain rules

To create platform

  • Can build own
  • Buy from technology partner [he’s from Payara and made a comment about it being a vendor talk; I didn’t realize it was]

My take

Fun fact: he took the SCJP 1.0.2. That is a very specific version number.

The room was packed. He needed a bigger room. I wish he had gotten to K8S earlier in the session but was good once he got there. ( I think it was 12 minutes in or so). Then there was another 15 minutes that felt general at which point I stopped paying attention

Overall the session was fine, but it wasn’t what I was expecting.