Java 27, Spring modernization and the changing craft of software engineering.

I don’t want the details

🎯 Featured Article

🧭 I don’t want the details A perspective on engineering leadership: trust competent teams to handle implementation details, while leaders focus on decisions and what happens next.

  • Leadership can signal trust by focusing on outcomes, not implementation details.
  • Engineering conversations can shift from explaining problems to deciding next steps.

⏩ TL;DR (Quick Recap)

  • Java 27 adds new capabilities while structured concurrency continues to mature.
  • Spring evolves its release process and expands AI application patterns.
  • Engineering practices increasingly emphasize operational clarity and deliberate design.
  • AI is reshaping software production, writing and the developer role.

☕ JVM Corner

☕ Java 27 in IntelliJ IDEA Java 27 introduces nine JEPs, while IntelliJ IDEA adds support for the latest JDK and its evolving features.

  • Java 27 contains nine JEPs, including four final features.
  • Four preview features and one incubator feature continue to evolve.

🧵 Java 21: the foundation for Quarkus 4 Quarkus 4 raises its Java baseline to 21, simplifying virtual-thread support and removing compatibility workarounds.

  • Java 21 provides virtual threads as part of the supported API.
  • A Java 21 baseline removes reflection and conditional compatibility paths.

🧩 Java Structured Concurrency in JDK 27: A Practical Example Structured concurrency can stop related work when one task fails instead of waiting for unnecessary operations to finish.

  • StructuredTaskScope can interrupt unfinished work after a failure.
  • Virtual threads with Future do not automatically provide that cancellation behavior.

📊 Benchmarking Java Performance Of JDK 8 Through OpenJDK 27 A benchmark compares OpenJDK performance across releases from Java 8 through the recently released OpenJDK 27.

  • The benchmark covers major OpenJDK releases from 8 through 27.
  • Testing used an AMD Ryzen Threadripper 9980X workstation.

🍃 Spring Updates

🧪 ColdFusion Inside Spring Boot (One Property) Spring Boot can render existing ColdFusion templates, offering a path for modernizing applications without immediately rewriting their views.

  • Existing .cfm templates can remain part of a Spring application.
  • Modern Spring components can be introduced alongside legacy views.

🔎 Spring AI Recipe: Fact-Checking AI Responses Spring AI’s FactCheckingEvaluator compares generated responses against trusted source material, while highlighting the complexity of automated verification.

  • Generated responses can be evaluated against trusted source material.
  • Fact-checking itself requires careful handling of verification logic.

🧠 Spring AI and TypeSafe Jev: Fast, Cheap, Structured Decisions Typed decision components for routing, evaluation, ranking and other fast AI application decisions.

  • Typed decisions can support routing and evaluation in AI systems.
  • Decision components need consistent, structured outputs.

⚙️ EnvironmentPostProcessor in Spring Boot EnvironmentPostProcessor provides a way to manipulate application properties before they become available to beans.
📅 Releasing Spring for Modern Challenges Changes release train from a two-week process to a single-day monthly schedule, with regular and milestone releases continuing.

🔍 Extra Reads

Engineering Practices
🗂️ How to Write an Effective Software Design Document — Design documents help teams evaluate decisions before implementation and coordinate across teams.
🔐 Using multiple GitHub accounts on one machine — Separate directories and Git configuration can automate SSH keys and commit identities across accounts.
🧹 The Feature Flag Graveyard: How a Safety Net Becomes Technical Debt — Feature flags can accumulate into technical debt when ownership, cleanup and rollout status are forgotten.

AI and Software Development
🤖 losing my community to LLMs — Examines the growing divide between developers focused on code craftsmanship and those focused on shipping with LLMs.
📝 I Don’t Want to Read What You Didn’t Write — The essay explores the readability problems created by widespread AI-generated professional writing.
✍️ How To Write With An LLM — Two rules are proposed for using LLMs to improve writing without making the resulting text feel artificially processed.
🚀 We are all Product Engineers now — The article examines how falling software production costs could change the responsibilities of software developers.

Systems and Reliability
🗄️ How one connection kills a database — An transaction can block a schema change and cause subsequent queries to queue behind it.
🔄 I am often wrong — Iterative thinking treats new information as a reason to update assumptions and refine earlier decisions.
🖥️ What Sun got wrong — Reflects on Sun Microsystems and its legacy in the context of the company’s current engineering culture.

AI Model Landscape
🧠 Introducing GPT-6 Sol and Luna — Introduces GPT-6 Sol and Luna as more cost-efficient models focused on professional work, coding and related tasks.
🔬 Claude Opus 5.5 — Introduces Claude Opus 5.5 as the first model in its Claude 5.5 family.

Originally posted on marconak-matej.medium.com.