Daily AI digest

21 October 2026
Technology

Three Java Champions describe how they use GitHub Copilot with human oversight

Reported by GitHub Blog — AI & ML◆Filed 21 October 2026
Editorial cartoon accompanying “Three Java Champions describe how they use GitHub Copilot with human oversight”.
Editorial illustration

The brief

GitHub interviewed Java Champions Vlad Mihalcea, Patrick Baumgartner, and Frank Delporte about using GitHub Copilot in production work and open source. They describe faster implementation and investigation, but emphasize context, task-specific verification, maintainability, testing, and human responsibility for shipped code.

Key points

  • Vlad Mihalcea says Copilot helped him build a Hypersistence Optimizer event-history application in two days instead of an estimated several weeks, while he continued reviewing plans and generated code.
  • Patrick Baumgartner used Copilot to migrate about 900 slides from Reveal.js to Marp in roughly eight to ten hours, verifying the result with screenshots, visual comparisons, animations, and PDFs.
  • Baumgartner recommends interviewing the agent before execution, defining verification gates, maintaining reusable agent skills, and combining AI workflows with deterministic tools such as Checkstyle, PMD, and Spring Modulith checks.
  • Frank Delporte used Copilot to diagnose a Pi4J bug in which a fifth GPIO input stopped responding because virtual threads were pinned in native poll calls on a four-core Raspberry Pi 4.
  • All three developers stress that Copilot assists with execution and investigation, while maintainers remain responsible for reviewing, testing, and approving changes.

Read the source report

GitHub Blog — AI & ML ↗

Full summary

GitHub’s article profiles Java Champions Vlad Mihalcea, Patrick Baumgartner, and Frank Delporte, each with more than a decade of Java experience. They describe using GitHub Copilot for production software, open-source projects, migrations, documentation, debugging, and experimentation, while stressing that generated output still requires context, validation, and human accountability.

Mihalcea uses Copilot in IntelliJ IDEA while reviewing source code and debugging. He says it helped him design and implement a web application showing Hypersistence Optimizer event history in two days, a task he had expected to take weeks; the application was intended for a future version of the product. He continues to review Copilot’s plans and code because its output can require intervention.

Mihalcea also creates custom skills based on his published writing and existing code practices so generated documentation and code better match his style and maintenance expectations. He says he chooses more capable or lighter models depending on task complexity, using a model with a one-million-token context window and higher reasoning for thorough work and lighter models for reports, release notes, and documentation checks.

Baumgartner describes using Copilot mainly through agentic workflows in VS Code, terminal coding agents, and GitHub rather than traditional autocomplete. He migrated about 900 teaching slides across 15 Reveal.js presentations to Marp in roughly eight to ten hours, preserving code, animations, interactive examples, and teaching flow by first defining constraints and then comparing screenshots, animations, and generated PDFs.

In another project, Baumgartner used Copilot to reproduce and fix a terminal-UI problem that affected Enter-key handling in Windows CMD or PowerShell but not Linux under WSL. The work produced reproducible tests, identified a root cause in the Tamboui library, and led to an upstream fix; he also used Copilot to redesign oversized test descriptions into a more compact representation that preserved execution semantics.

Baumgartner’s third example is a mathematics-learning application for grades one through four. Copilot helped research spaced repetition, feedback, adaptive difficulty, motivation, cooperative learning, and gamification, which led him to target Switzerland’s curriculum first rather than build a universal progression; the app supports German, French, Italian, and English, stores data on the device without a backend, and can be hosted on GitHub Pages.

For nontrivial work, Baumgartner recommends asking the agent to clarify requirements before producing a plan, making assumptions and verification gates explicit, and avoiding unnecessary implementation paths. He maintains reusable skills such as a repository-maintenance audit, uses deterministic checks including Checkstyle, PMD, and Spring Modulith architecture checks, and has the agent iterate through changes and findings while he still runs and evaluates the software himself.

Delporte uses Copilot to investigate bug reports and review pull requests. In Pi4J version 4, a report said that the fifth configured Raspberry Pi input button did nothing when the new Foreign Function & Memory API plugin was used; Copilot traced the issue to virtual threads blocked in native poll calls, which pinned the four carrier threads on a four-core Raspberry Pi 4 and prevented the fifth watcher from being scheduled.

Delporte advises users to provide likely file locations, request tests that fail on the old implementation, ask for explanations when a diagnosis is unclear, and treat the explanation as documentation for the project. He says Pi4J maintainers reviewed and approved the resulting pull requests, and argues that developers must continue checking readability, duplication, and maintainability because AI can accelerate the creation of both useful software and technical debt.