More Podcasts by InfoQ episodes

Chasing Efficient Java Development: From 1BRC to Developing Hardwood AI Natively thumbnail

Chasing Efficient Java Development: From 1BRC to Developing Hardwood AI Natively

Published 25 May 2026

Duration: 00:41:23

AI and architecture challenges, Java's evolving ecosystem with performance optimizations and legacy practices, columnar data formats like Parquet, dependency management, and balancing AI adoption with developer skill retention.

Episode Description

Gunnar Morling, technologist at Confluent and Java Champion, shares his experiences with building high-performance applications in Java, especially in...

Overview

The discussion explores challenges in AI and architecture, emphasizing the long-term impacts of decisions on system design and the difficulty of predicting future technological landscapes. In Java development, the ecosystem has evolved with new features like the vector API and foreign memory API, alongside ongoing use of legacy practices. Java 17 is highlighted as a modern baseline, offering performance and maintenance benefits over older versions like Java 8, with a focus on upgrading for smoother transitions and management-driven cost savings through observability tools like flight recorder.

A durable execution engine is detailed, leveraging SQLite for state storage to manage long-running workflows via resumable execution and idempotent operations. This contrasts with traditional workflow engines by prioritizing code-centric simplicity and minimizing infrastructure complexity. Columnar data formats like Apache Parquet are discussed for their efficiency in aggregation queries, but challenges include dependency bloat and performance limitations in multi-threaded parsing, addressed by projects like Hardwood, which aims to create a lightweight, high-performance Parquet parser with minimal dependencies.

AI's role in development is examined, including its use in building tools like the Hardwood project and its potential to aid coding while raising concerns about skill erosion and developer roles. Themes of mechanical sympathy, performance optimization, and environmental costs of infrastructure are also addressed, alongside reflections on evolving programming languages and the balance between automation and human expertise. The text underscores the importance of design documentation, open-source collaboration, and adapting to challenges in talent acquisition and industry shifts.

What If

  • What if you prototype a durable execution engine using SQLite for state tracking in your current Java project?
    Action: Implement a proof-of-concept for resumable workflows using SQLite as the state store (e.g., a simple process that checkpoints progress manually).
    Why now: Javas recent improvements (e.g., ZGC, compact object headers) reduce overhead for long-running processes, and SQLites lightweight, embedded nature avoids infrastructure complexity.
    Expected upside: Youll gain hands-on experience with durable execution concepts, reduce recovery time from failures, and validate the feasibility of stateful workflows without external dependency chains.

  • What if you build a minimal Parquet parser with no mandatory dependencies using Java 9+ features?
    Action: Create a lightweight Parquet reader that uses Javas logging abstraction and optional dependencies (e.g., S3 integration) to avoid Hadoop stack bloat.
    Why now: The industrys shift toward columnar storage (e.g., Apache Iceberg) demands efficient, dependency-free tools, and Javas modular features (e.g., module system) simplify isolation.
    Expected upside: Youll deliver a high-performance, self-contained tool that aligns with AI-native development principles, reducing maintenance costs and supply chain risks in your projects.

  • What if you integrate AI-assisted coding into your workflow with explicit design documents (e.g., ADRs)?
    Action: Draft a high-level architecture decision record (ADR) for a new feature, then use AI to generate boilerplate code while maintaining strict API boundaries.
    Why now: The text highlights AIs role in accelerating development (e.g., Hardwood project) and emphasizes the need to avoid over-reliance on automation. Structured design documents ensure clarity.
    Expected upside: Youll streamline development speed while maintaining code quality, reducing redundant refactoring, and preparing your codebase for future scalability and team collaboration.

Takeaway

  • Upgrade to Java 17 or newer to leverage performance improvements (e.g., ZGC, compact object headers) and observability tools like Flight Recorder, reducing long-term maintenance costs and resource usage.
  • Implement a durable execution engine using SQLite as a state store to manage long-running workflows, ensuring resumable execution and idempotent operations without relying on external workflow engines.
  • Adopt the Hardwood Parquet parser (currently in Alpha) to avoid Hadoop stack dependencies, prioritize multi-threaded performance, and use optional features like S3 integration for lightweight, high-performance data processing.
  • Use AI-assisted coding practices by creating explicit design documents (e.g., ADRs) and collaborating with tools like Claude to refine code structure, reduce redundancy, and maintain clean, modular public APIs.
  • Optimize for columnar data formats (e.g., Parquet) in data-heavy workflows, using predicate pushdown and page-level parallelism to improve query efficiency and reduce memory overhead for aggregation tasks.

Recent Episodes of Podcasts by InfoQ

8 Jun 2026 From MCP and Vibe Coding to Harness Engineering: How Did AI Native Engineering Evolve in One Year

The evolving AI adoption in software delivery involves architecture, collaboration, and rapid advancements, highlighting shifts in coding tools from autocomplete to agentic modes, context engineering challenges, hybrid tool use, local model limitations, privacy concerns, and the need for formal validation and industry-academia collaboration to enhance agent autonomy and address reliability gaps.

1 Jun 2026 Requirements Analysis for Architects: A Conversation with Sonya Natanzon

Architects must balance technical and business priorities, prioritize user satisfaction and organizational goals, navigate communication challenges, apply domain-driven design principles, address AI's impact on software development, and adapt to evolving technologies while emphasizing creativity and strategic alignment.

More Podcasts by InfoQ episodes