Goldman Sachs' Technology Division as a new graduate, he involved in the development of the company’s core systems. Later, as a VP/Senior Engineer, he contributed to platform development and spearheaded the company’s open-source software (OSS) strategy. After working at two startups, he joined READYFOR as an Executive Officer and Vice President of Engineering (VPoE), where he managed the engineering organization, led the overhaul of the payment infrastructure, and spearheaded new product development. In October 2022, he joined Loglass Inc. as an engineer in the Development Department. After serving as an Engineering Manager (EM) and VPoE, he was appointed Executive Officer and CTO in November 2024. Loglass Inc. Executive Officer, CTO Hiroshi Ito Hiroshi Ito
Japanese art form – recreating natural landscapes in a pot. • Characteristics: ◦ Cultivated over many years. ◦ Shaped through careful pruning and tending. ◦ Reflects the creator's aesthetic sense and philosophy. A Bit Sudden, But Do You Know "Bonsai"? In Japan, it's often enjoyed as a hobby in later life.
most coding tasks in the future... • Would reading & writing code might be.. ◦ A pursuit of deep understanding, cultivated over time? ◦ An act of careful crafting and refinement, like pruning? ◦ A way to express coding aesthetics or philosophy? Or perhaps, simply a refined 'hobby'? Is Code Reading & Writing the Future "Bonsai"? Image Credit: ChatGPT/Dall-E, 2025
acknowledging it's still too early for the "Bonsai" stage (?), we'll explore how to practically leverage LLMs and AI Agents as useful tools for understanding OSS code today. Well, it might be true, but let’s forget about it Image Credit: ChatGPT/Dall-E, 2025
OSS source code anyways? Image Credit: ChatGPT/Dall-E, 2025 • See real‑world architecture up close – Explore how large projects organise layers and boundaries. • Spot design patterns in action – Notice Strategy, Builder, Reactor and other patterns working together. • Learn how good APIs evolve – Observe how maintainers add features while keeping backward compatibility. • Build your code‑reading stamina – Practise tracing big codebases and finding what matters. • Speed up onboarding for new teammates – Use proven, battle‑tested code as hands‑on learning material.
can accelerate understanding of complex OSS codebases • Discover practical techniques for using AI to navigate OSS projects • Develop an efficient workflow combining traditional and AI-assisted code reading • Apply these techniques to popular Java frameworks and libraries Session Objectives
architecture or contribute to that cool Java OSS project! ...But where to even start? A vast sea of code! Overwhelming! Do You Ever Felt Like This? Image Credit: ChatGPT/Dall-E, 2025
• Source code deep dive • Find usages: Search for keywords or method calls • Use debugger yourself to go through the code path Result: Time-consuming, prone to frustration, hard to even take the first step. The Old Ways of Tackling the "Code Mountain" Image Credit: ChatGPT/Dall-E, 2025
bean lifecycle from creation to destruction – how does Spring manage dependencies across hundreds of classes while maintaining circular reference detection? Hibernate ORM: Deciphering lazy loading proxies and collection wrappers – where in the codebase does bytecode enhancement happen and how does it intercept property access? Netty: Tracing asynchronous operations through event loops – following a request from channel registration to completion callback across multiple thread contexts. Apache Kafka: Tracking message flow from producer to consumer – how does offset management work across multiple partitions and consumer group instances? Understanding OSS Internal Code Can Be Hard
reading? How can I grasp the overall picture? Which are the main classes or modules? Where is the code related to this specific feature? Facing vast code, what I need first is a "map"! This "first step" hurdle is extremely high. The Biggest Hurdle: The "First Step"
purpose/role of the whole project, modules, or classes. Structure Explanation: Explains the rough architecture and relationships between key components. Identifying Key Parts: "Where is feature xxx located?" → Suggests relevant code locations. Illustration: Visualize the key concept with image or modeling notation e.g. mermaid Deep dive with repeated Q&A: Answers "What is the purpose of xx ?", “Why this code is written this way?” etc. How AI Helps the "First Step"
to dive into the Spring Boot source code to grasp its high‑level architecture and then perform an in‑depth analysis of some of its core features. Could you please start by providing an overview of Spring Boot and outline an effective step‑by‑step approach for reading its code? Let’s get started!! Image Credit: ChatGPT/Dall-E, 2025
builds on the core Spring Framework by applying “convention over configuration.” It auto‑configures your application based on the jars on your classpath and sensible defaults, so you can get a production‑ready app up and running with minimal XML or Java configuration. Key Goals 1. Quick Start: Embed a servlet container (Tomcat, Jetty) so you can java -jar your app. 2. Minimal Boilerplate: Provide starter POMs (spring-boot-starter-*) that bring in a curated set of dependencies. 3. Production‑Ready Features: Include health checks, metrics, externalized configuration, and more out of the box. 1. What Is Spring Boot and Why It Exists
(SpringApplication.run(...)): boots the entire framework, sets up the ApplicationContext, triggers auto‑configuration, and then calls any CommandLineRunner or ApplicationRunner beans. Auto‑Configuration • Lives in the spring-boot-autoconfigure module. • Scans for classes annotated with @Configuration and guarded by @ConditionalOn… annotations (e.g. @ConditionalOnClass, @ConditionalOnMissingBean). • Decouples “if X is on classpath, then configure Y” logic into many small auto‑config classes. 2. Core Architectural Building Blocks
named spring-boot-starter-* (web, data-jpa, security, etc.). • Bring in the right spring‑boot dependencies without you having to pick versions. Actuator • In spring-boot-actuator. • Exposes operational endpoints (health, metrics, env, loggers) over HTTP or JMX to monitor and manage your app. Developer Tools • spring-boot-devtools for hot reloading, automatic restart, and remote debugging support. CLI • spring-boot-cli lets you write Groovy-based “scripts” that run on Spring Boot. 2. Core Architectural Building Blocks
still didn't have a clear mental model of how the different parts of the source code connected. So I asked ChatGPT to create a sequence diagram to help visualize the flow.
purpose/role of the whole project, modules, or classes. Structure Explanation: Explains the rough architecture and relationships between key components. Identifying Key Parts: "Where is feature xxx located?" → Suggests relevant code locations. Illustration: Visualize the key concept with image or modeling notation e.g. mermaid Deep dive with repeated Q&A: Answers "What is the purpose of xx ?", “Why this code is written this way?” etc. Quick Recap: Here are the overall steps
crucial "map" to help us take the first step into complex codebases • They can explain architecture, summarize code, and identify key components • Visual aids like sequence diagrams and role descriptions add another dimension of understanding • Combining AI assistance with traditional debugging creates a powerful learning workflow ... and it’s fun!!! Enjoy OSS code reading!! Conclusion