Return to site

[VV129] The Java Fullstack Newsletter

· java,newsletter

In this new episode, dear full-stack developers, we’ll explore streaming, Java, Scrum, teamwork, Kubernetes, and more—pushing you to go beyond your current tech horizons. 🚀

#kafka

You are implementing a Kafka Streams application to perform a stateless transformation on each record of a stream and output the results to a new topic. What Kafka Streams operation should you use?

  • map
  • reduce
  • through
  • filter

✅ Correct Answer: map

🔍 Explanation: The map operation in Kafka Streams is designed for stateless transformations. It processes each input record independently and produces a new key-value pair without relying on any stored state. After transformation, the records can be written to a new topic.

❌ Why not the others?

  • filter → Removes records based on a condition, but does not transform them.
  • through → Forwards data through an intermediate topic (write + read), not an in-memory transformation.
  • reduce → Performs stateful aggregation, combining multiple records, which is not stateless.

✅ Conclusion: If you need to apply a transformation to every record individually and output the results, map is the right operation.


#team

People being actively critical

  • 🙅♂️ Constant criticism in a team creates fear, low morale, and poor decision-making.
  • ✅ Leaders can solve this by setting respectful ground rules, using 🎩 Six Thinking Hats, and fostering open, inclusive discussions 🤝.

#java

Java Sealed Interfaces Explained with Carrefour Store Types

In this video, we explore how sealed interfaces work in Java, using a relatable real-world example: Carrefour shop types such as Carrefour City, Market, Hyper, and Drive.

Learn how to declare and implement a sealed interface to restrict which classes are allowed to implement it, helping you create more controlled and predictable hierarchies in your code.

We cover

  • 🟣 The purpose of sealed interfaces in Java
  • 🟣 How to use the sealed and permits keywords
  • 🟣 How to structure a clean hierarchy with permitted implementations
  • 🟣 A full working example that simulates operational load across different Carrefour store types

This example makes it easy to understand the power of sealed interfaces and how they bring more control and safety to object-oriented design in Java.

Whether you're a Java beginner learning modern language features or an experienced developer aiming to write safer code, this lesson will help you apply sealed interfaces effectively.

Java version required: Java 17 or later

#scrum

4 Key Flow Metrics and how to use them in Scrum's events

  • 🏗️ Work in Progress (WIP) → Number of items started but not finished.
  • 🔁 Cycle Time → Time from start ▶️ to finish ⏹️ (lagging indicator, helps set expectations).
  • 📈 Throughput → Number of items finished per unit of time (count only, no size adjustment).
  • 👴 Work Item Age → Time since an item started ▶️ until now ⏸️ (shows stuck vs. flowing work).

#scrum #kanban #metrics #wip #cycleTime #throughput #workItemAge


#kubernetes

Question: Which component is responsible for continuously reconciling the desired state of the cluster with its actual state?

Options:

  • kubelet
  • kube-controller-manager
  • kube-scheduler
  • kube-apiserver

Answer:kube-controller-manager → Runs multiple controllers that ensure the actual cluster state matches the desired state.

kubelet → Manages Pods on a single node, not the whole cluster. ❌ kube-apiserver → Acts as the central API endpoint, but doesn’t reconcile state. ❌ kube-scheduler → Assigns Pods to Nodes, but doesn’t reconcile state.

#joke

“Strong people don't put others down... They lift them up.” ― Michael P. Watson

Meanwhile Darth Vader 👇

Section image

Go further with Java certification:

Java👇

Spring👇

Section image