Tag Archives: Developers

Bruno Souza: My Greatest Pride is the Community

Duke’s Corner Java Podcast: Bruno Souza: My Greatest Pride is the Community

Jim Grisanzio from Java Developer Relations talks with Bruno Souza, who is a Java Champion, leader of the SouJava User Group in Brazil, and a member of the JCP Executive Committee. Bruno received the first Java Community Lifetime Achievement recognition in October 2022 at JavaOne in Las Vegas. “I was totally surprised! I was jumping up and down! I was so honored! It’s an honor to be a member of that group.” he said.

Bruno Souza is known as the “JavaMan” from Brazil and that nickname started back at Sun when Java was announced and Bruno started evangelizing the technology. Bruno’s message to the community was “Open Standards and Open Source” as he began his community building efforts around Java. He continually brought to Brazil FOSS and Standards experts for community discussions, and he advocated for a standards-based Open Source implementation of Java that would pass the TCK.

“Maybe my greatest pride, I think, is the idea of the Java User Groups community,” Bruno says. “We have OpenJDK for development and the JCP for standards, but for me the real Java community is the Java User Groups! These are all volunteers who meet and help others participate and learn.”

Bruno in recent years has been talking a lot about building reputation and career by embracing the open-source lifestyle — writing code in Java, contributing to Open Source, and helping build the community itself. Since our work lives in public mailing lists and open-source code repositories, we earn credibility by being visible, contributing, engaging the community, and helping others get involve as well, Bruno says. 

Bruno advises that career is a long-term project: “The more you work on it, the more you grow, the more results you have. So, the sooner you start the better. This is not a sprint! This takes time.”

Getting back to Java itself, Bruno, like most Java developers, prefers the 6-month release cadence over the older system of multi-year development and release cycles. There is a constant flow of technology now which allows for more interactions between the Oracle engineers and engineers in the community.

“Everything you see today in Java is possible because of the 6-month release process. I just loved it when the guys did that! I think it’s amazing! The fact that we now have two releases per year changed Java. I think we’re positioning Java to be even stronger in the years to come. I’m very excited about the whole thing,” Bruno says.

Throughout this conversation Bruno provides a wonderful history of Java since he’s been involved from the very beginning! “People don’t remember that Java was a community from the very beginning!” Bruno says. “We were able to look at the source code from the very beginning and that allowed us to build the community from the very beginning with lots of other companies joining.” And then the JCP was created to allow Sun and the community to discuss the standardization of Java. And then OpenJDK was a huge step because now Java would be everywhere with Oracle leading and building the community. “Java is more participative today under Oracle than during the Sun times.”

“Java + Open Source + Community: That’s what grows our career. That’s what grows Java too!”

Here are some links where the Bruno interview can be found in full or in clips: Apple | Bluesky | Bluesky | Flickr | LinkedIn | LinkedIn | Libsyn | WordPress | WordPress | X | X | YouTube. Here are all the interviews on Duke’s Corner. Here is Bruno’s full interview transcript. Below see more quotes from the interview:

Surprise and Honor of the Lifetime Achievement Award
Quote: “I was totally surprised! And it was very cool because, you know, you’ve been to keynotes on big events, and lots of things are scripted, lots of things are rehearsed. And I think with that one, the way they did it, allowed it to be real.”
Timestamp: 00:04:16–00:04:34
Context: Bruno describes his genuine surprise and excitement upon receiving the first Java Community Lifetime Achievement honors at JavaOne 2022 in Las Vegas, highlighting the authenticity of the moment.

Advocating for Open Source and Standards
Quote: “Open Source plus Open Standards. That’s what we need, right? You know, we can’t really just do free software, right? It’s not only open source. This whole idea of having open source software that is not standard basis, then you only have one implementation.”
Timestamp: 00:08:01–00:08:13
Context: Bruno discusses his early efforts in Brazil to combine open source with open standards, emphasizing the need for a standards-based, open-source implementation of Java to ensure broader applicability and community involvement.

Java User Groups as the Real Community
Quote: “But for me, the real Java community is the Java user groups! Because those are all volunteer-based leaders helping people to meet each other, to actually participate and discuss, and learn.”
Timestamp: 00:12:47–00:12:55
Context: Bruno underscores the significance of Java User Groups (JUGs) as the heart of the Java community, highlighting their role in fostering volunteer-driven collaboration, learning, and networking among developers locally and around the world.

Reputation as a Career Cornerstone
Quote: “Reputation is more important than your salary, is more important than your job, is more important than your house, right? Because reputation is going to give you all of that!”
Timestamp: 00:15:11–00:15:19
Context: In his career session, Bruno emphasizes the critical role of reputation in professional growth, explaining that reputation underpins long-term success and opportunities more than immediate material gains. Remember, reputation is actually a dependency for success.

The Power of Java, Open Source, and Community
Quote: “This merger of those three things — Java, Open Source, and Community — I think that’s what grows our career. That’s what grows Java too!”
Timestamp: 00:36:51–00:36:57
Context: Bruno summarizes his philosophy that combining expertise in technology like Java, contributions to open source, and active community participation drives both individual career growth and the advancement of Java as a platform.

Career as a Marathon
Quote: “Career is this long term thing that, the more you do it, the more you grow, the more results you have.”
Timestamp: 00:22:10–00:22:18
Context: Bruno advises developers to view their careers as a long-term endeavor, not a short term sprint, stressing the importance of consistent effort in building reputation and skills over time, rather than seeking quick wins. Also, he stresses that if you find yourself unemployed, that’s not the time to start networking. You have to always be networking and always be building your career.

The Impact of Java’s Six-Month Release Cadence
Quote: “Everything you have seen on Java today is possible because of the release cadence. I just love it when the guys did that.”
Timestamp: 00:28:31–00:28:40
Context: Bruno praises Java’s shift to a six-month release cycle, crediting it for enabling rapid innovation and fostering greater interaction between Oracle engineers and the broader Java development community.

Java’s Community Roots
Quote: “People don’t remember that it was a community from the beginning. You know, the fact that it was not Open Source, it was not Free Software, it had very complex license, but it allowed us to build that community in the very, very beginning.”
Timestamp: 00:30:29–00:30:46
Context: Bruno reflects on Java’s early days, noting that despite its initial complex licensing, and not having a standard FOSS approved license of the time, the ability to access source code from the start under the Sun license fostered a strong community foundation that contributed to Java’s success today. Over time, however, Sun released OpenJDK under the GNU General Public License (GPL) in 2006.

Oracle’s Role in Java’s Evolution
Quote: “Oracle released more coding to OpenJDK, they built a community, they maintained the whole idea, they maintained Java, they maintained the specifications. Oracle did the best it could have done. I think that Java today is more participative in OpenJDK than it was during Sun’s time.”
Timestamp: 00:33:51–00:33:57
Context: Bruno discusses Oracle’s stewardship of Java after the acquisition, suggesting that Oracle’s less protective approach compared to Sun allowed for greater community participation, enhancing Java’s development through OpenJDK.

Encouraging Broader Participation
Quote: “If you are the only person that does something and you want more people to come and help you in your user group, in your volunteer work, whatever it is that you’re doing, if you’re the only person that does everything and you want other people to participate, there’s just one way. You have to stop doing something!”
Timestamp: 00:34:23–00:34:38
Context: Bruno shares a philosophy on community leadership, explaining that stepping back from some responsibilities is essential to encourage others to contribute, thereby strengthening the community. Watch for this in communities. Leaders know how to do this to encourage more participation.

JavaOne’s Vibrant Return
Quote: “JavaOne was awesome! I really enjoyed the talks. I really enjoyed the people that were there and had great conversations. There’s people that came to JavaOne for the first time and they’re like, oh man, it’s such an amazing event. So I’m glad we’re back!”
Timestamp: 00:00:31–00:00:43
Context: Bruno expresses his enthusiasm for the return of JavaOne 2025, highlighting the event’s energy, the quality of technical talks, and the community engagement. It was a significant moment for Java developers new to the community and also established developers.

A Gift for Career Growth
Quote: “I wrote 15 emails, one for each chapter of the book that gives you one main idea from each chapter. So if you download the book, I’m going to send you all of those 15 emails.”
Timestamp: 00:38:36–00:38:47
Context: Bruno offers a practical resource for developers, sharing that he and Heather Van Cura wrote a book on career growth, and he provides free access to the first chapter and a series of emails summarizing key ideas to help developers apply these principles. The book is called “Developer Career Masterplan: Build your path to senior level and beyond with practical insights from industry experts.”

Honoring Java Community Pioneers

Since 2022, Oracle’s Java Developer Relations team has been celebrating the contributions of Java community members through a special Java Community Lifetime Achievement Recognition. These prestigious honors recognize individuals whose lifelong dedication to Java has advanced the technology and strengthened the community globally.

Java Community Lifetime Achievement Recognition


This unique program is led by Sharat Chander, Senior Director, Java Product Management & Community Engagement. As part of the program, I’ve been interviewing the community recipients on the Duke’s Corner Podcast to share their inspiring stories, technical insights, advice to new developers, and passion for all things Java. Their work embodies the spirit of Open Source innovation, driving progress through collaboration, contribution, education, advocacy, and community building.

This year represents Java’s 30th anniversary, and Oracle has been leading Java since acquiring Sun Microsystems in 2010. The ecosystem is now thriving around the world. And the Java Developer Relations team is committed to recognizing those who have shaped that ecosystem by empowering developers, solving complex problems, and sharing knowledge. From authoring influential books and highly technical newsletters to organizing transformative conferences and contributing code, these recipients have left a significant impression on Java’s evolution. Their efforts highlight the power of open, community-driven development, where individuals collaborate to extend the technology, innovate solutions, and mentor the next generation of developers.

The podcast interviews that follow reveal a shared ethos among the recipients — a commitment to continuous learning, problem-solving, and fostering human connections across vast networks of developers. Discussions also cover Java 25’s latest innovations with specific JEPs, the platform’s evolution from decades ago, and the recent six-month release cycle that enables iterative improvements.

The recipients also share personal insights about contributing to Java — from submitting code to OpenJDK to creating and running Java User Groups — emphasizing the importance of earning credibility by collaborating with other developers to integrate code and build the community. Their advice to students and new developers centers on learning how to learn, solving real-world problems, leveraging community resources, and building portfolios of work hosted in public repositories such as GitHub. These pioneers continue to inspire, which helps ensure the platform’s continued growth in a rapidly evolving tech market saturated with AI. The recognitions not only celebrate past achievements but also pave the way for future contributions, reinforcing Java’s role as a leader in modern Open Source software development.

And finally, during the interviews all of the recipients speak fondly of Sharat Chander who leads the program at Oracle. Shar has been the Java community’s ever present leader for the Java’s entire lifetime, starting back at Sun and now at Oracle. And it surely shows! Every recipient enthusiastically appreciates Shar’s tireless efforts to engage developers wherever they are and help grow the community.

Below are the audio podcast profiles of the six recipients honored so far, with summaries of their podcast discussions, the full transcripts of the conversations, blogs with quotes and context from the interviews, and links where the interviews appear in full or via clips on various platforms. This post will be updated as more individuals are recognized, celebrating the ongoing legacy of Java’s community pioneers.

Java Community Lifetime Achievement Recipients


Mattias Karlsson: I think it’s Brilliant
September 15, 2025 | Transcript: 77-Mattias-Karlsson.txt | Blog & Quotes
Links: Apple | Bluesky | LinkedIn | Libsyn | WordPress | WordPress | X |

Podcast Summary: Mattias Karlsson is a Java Champion who was also honored with the Java Community Lifetime Achievement recognition at Jfokus in February 2024. “I was shocked and honored, very humbled,” Mattias said about being recognized for his lifetime of achievements in the Java community by Sharat Chander of Oracle’s Java Developer Relations Team. Mattias, a Stockholm-based engineer and long-time leader of the Stockholm Java User Group, shares his journey with Java, from its early days to its current role in today’s modern tech ecosystems. He also talks about the evolution of Jfokus, a leading annual Java conference he organizes, which has grown from a small JUG into a major gathering of over 2,000 developers from diverse backgrounds. Mattias highlights Java’s enduring appeal, driven by its robust JVM, backward compatibility, and vibrant community. He also reflects on the six-month release cycle, calling it “brilliant” for its balance of stability and innovation, and shares insights on mentoring developers and using AI. When discussing how students learning programming will inevitably encounter Java due to its widespread use, Mattias said, “Sooner or later they will end up with Java anyway.”  Finally, the episode underscores the unique culture of the Java community and Jfokus as a conference for its blending of culture, professionalism, and a welcoming atmosphere.


Venkat Subramaniam: I Teach Because I Learn
September 4, 2025 | Transcript: 76-Venkat Subramaniam.txt | Blog & Quotes
Links: Apple | Bluesky | Bluesky | LinkedIn | LinkedIn | Libsyn | WordPress | WordPress |

Podcast Summary: Venkat Subramaniam was recognized with the Java Community Lifetime Achievement honors by Oracle’s Sharat Chander at Devoxx UK in May 2024. Venkat is a Java Champion, founder of Agile Developer, and teacher at the University of Houston. In this conversation Venkat expresses humility about his accomplishments and credits industry giants and his passion for learning and sharing. He reflects on his decision years ago to focus on teaching and technology, writing books, and speaking at conferences and Java User Groups. In fact, Venkat praises Java User Group leaders as “unsung heroes” for their organizational efforts to build the Java community locally and globally. Venkat highlights Java 25’s evolving features like structured concurrency, scoped values, pattern matching, and the instance main method, which helps simplify the learning process for new developers. He also cites Java’s agile six-month release cycle, which helps improve the smooth evolution of Java, increases developer engagement, and makes Java more suitable for today’s rapidly expanding technology markets. Emphasizing teaching as reciprocal learning, Venkat advises students to engage mentors and senior developers to collaborate with juniors and welcome them into the community. He stresses that knowledge grows when shared. His mantra? Teaching fuels learning and he lives that ethic every day as he interacts with thousands of developers around the world.


Bruno Souza: My Greatest Pride is the Community
Recognized: October 2022 at JavaOne in Las Vegas, Nevada, USA
August 31, 2025 | Transcript: 75-Bruno-Souza.txt | Blog & Quotes
Links: Apple | Bluesky | Bluesky | Flickr | LinkedIn | LinkedIn | Libsyn | WordPress | WordPress | X | X | YouTube

Podcast Summary: Bruno Souza, a Java Champion and SouJava leader, reflects on his decades-long impact in the Java community, from early evangelism in Brazil to making the Java Community Process more open and fostering global open source growth. He credits Java User Groups as the “real Java community” for connecting and empowering developers worldwide. Bruno emphasizes: “Java + Open Source + Community — that’s what grows our career. That’s what grows Java too.” On career development, he calls reputation “more important than your salary, job, or house,” and urges developers to see professional growth as “a marathon, not a sprint.” Discussing Java’s evolution, Bruno highlights the shift to a six-month release cycle, saying, “Everything you see today in Java is possible because of the six-month release process.” He notes that this regular cadence has driven both innovation and stronger connections among Oracle engineers and the global developer community, encouraging continuous learning, open collaboration, and lasting opportunities for developers in the Java ecosystem.


Trisha Gee: It’s all about Relationships and People
Recognized: February 2025 at Jfokus in Stockholm, Sweden
August 18, 2025 | Transcript: 73-Trisha-Gee.txt | Blog & Quotes
Links: Apple | Bluesky | Bluesky | Flickr | Libsyn | LinkedIn | LinkedIn | WordPress | WordPress | X | X | YouTube

Podcast Summary: Trisha Gee, head of developer advocacy at Gradle, shares her 25-year Java journey, starting as a university student in 1997. Honored at Jfokus, she emphasizes Java’s community-driven ecosystem and the JVM’s performance as key to solving real-world problems. Trisha discusses AI’s role, noting that developers excel in problem-solving beyond just code generation. She advocates for continuous learning, sharing knowledge, and building relationships to empower developers. Her work at Gradle bridges technical and business needs, ensuring that the voice of the developer resonates. Trisha encourages new developers to engage with the community and embrace discomfort as a path to growth. On Java 25, she praises the six-month release cycle for enabling incremental improvements like pattern matching, which simplifies adoption. She advises students to use modern IDEs and resources like Head First Java to ease learning and to contribute by sharing knowledge at conferences.


Cay Horstmann: Java Still Vibrant After 30 Years
Recognized: April 2025 at JCON in Cologne, Germany
August 8, 2025 | Transcript: 72-Cay-Horstmann.txt | Blog & Quotes
Links: Apple | Bluesky | Libsyn | LinkedIn | LinkedIn | LinkedIn | LinkedIn | Flickr | Flickr | Flickr | WordPress | X | X | X | X | YouTube | YouTube | YouTube

Podcast Summary: Cay Horstmann, a celebrated author and educator, was surprised by his JCON recognition. Known for Core Java and decades of blogging, he discusses Java’s evolution, particularly Java 25’s recently implemented beginner-friendly features like simplified main methods. Cay highlights task-driven learning and unconferences like JCrete for sparking innovation. He advises students to focus on learning how to learn, a critical skill for navigating rapid technological change. His teaching philosophy emphasizes practical engagement over rote memorization, which helps prepare developers for lifelong growth in a dynamic field. Cay’s contributions continue to shape Java education and community engagement. He appreciates Java 25’s JEP 512 for compact source files, making learning easier, and values the six-month release cycle for steady improvements. Cay encourages students to tackle small projects and contribute to Java by exploring open-source opportunities.


Heinz Kabutz: Really Life Changing!
Recognized: May 2025 at Devoxx UK in London, England
July 31, 2025 | Transcript: 71-Heinz-Kabutz.txt | Blog & Quotes
Links: Apple | Bluesky | Libsyn | LinkedIn | LinkedIn | LinkedIn | LinkedIn | LinkedIn | WordPress | X | X | X | X | X | YouTube | YouTube | YouTube | YouTube | YouTube

Podcast Summary: Heinz Kabutz, creator of The Java Specialists’ Newsletter and JCrete unconference, was honored at Devoxx UK. His newsletter, launched in 2000, reaches developers in more than 150 countries and offers technical insights and building a global community. Heinz discusses JCrete’s interactive format, which fosters life-changing connections and innovation. He highlights Java 25’s features like flexible constructor bodies and simplified main methods, which helps ease the on ramp for new developers. Heinz advises new developers to solve real-world problems, build GitHub portfolios, and engage with JUGs to expand career opportunities. He also emphasizes the Java community’s generosity and collaborative spirit. He praises Java 25’s JEP 513 for flexible constructor bodies and the six-month release cycle for iterative enhancements. Heinz encourages students to solve math problems on Project Euler and contribute to OpenJDK by submitting verified bug fixes.


Stay tuned for more updates to this post as we continue celebrating the developers shaping the Java community via the Java Community Lifetime Achievement recognition! I’ll keep this post pinned to the top of this blog.

Trisha Gee: It’s all about Relationships and People

Duke’s Corner Java Podcast: Trisha Gee: It’s all about Relationships and People

Jim Grisanzio from Java Developer Relations talks with Trisha Gee, an author, a Java Champion, and a Developer Advocate at Gradle. In February 2025 at Jfokus in Stockholm Trisha received the Java Community Lifetime Achievement Award from Sharat Chander from Oracle Java Developer Relations. Trisha has been a Java developer for 25 years, and since 2011 she’s been actively blogging, presenting technical sessions at conferences, and evangelizing Java globally. Recently, Trisha has moved from a traditional developer advocate role to more of a facilitator of developer advocacy internally at her company as well as externally. She works with engineering teams, marketing, teams, and sales teams to ensure the voice of the developer resonates throughout the organization and the community. Trisha is always evolving, she’s constantly growing.

In this conversation we talk about the JVM, the six month Java release cycle, writing code, the unique features that make Java special as a technology and as a community, Generative AI, design patterns, understanding requirements, asking questions, problem solving, edge cases, documentation, testing, open source, standards, advice for students, and teaching her 9-year old how to code in Java. Trisha is fascinated with the entire development life cycle of software projects and especially the skills developers need now for working with AI.

Here are some links where the interview can be found online: Apple | Bluesky | Bluesky | Flickr | Libsyn | LinkedIn | LinkedIn | WordPress | WordPress | X | X | YouTube. Here’s the full transcript of the conversation. Below are some quotes from the conversation.

Sharat Chander’s Community Impact
00:03:02 – 00:03:37
Context: Trisha discusses receiving the Java Community Lifetime Achievement honors from Sharat Chander at Jfokus 2025, emphasizing his role in fostering a collaborative and inclusive Java community.
Quote: “It feels like a very personal thing from him. [Shar’s] such a huge powerhouse in the community. Obviously, he cares about the technology, but he understands that the technology isn’t enough. It is about individuals stepping up but not doing stuff for themselves, doing stuff to enable other people, to empower other people. It’s the community that makes it a great place to be. And Shar is such a huge champion of that. He makes you feel really appreciated for making the efforts to help others and to be involved in the community.”

Developer Advocacy Role Evolution
00:06:07 – 00:08:36
Context: Trisha explains her current role as head of developer advocacy at Gradle, highlighting how she bridges the gap between developers, marketing, and sales to amplify the developer’s voice in the organization and throughout the community.
Quote: “I’m doing more strategic thinking for Gradle. It’s one thing for a developer advocate to go off and say, here’s what’s new in Java. It’s another thing for a senior advocate to work with the head of marketing to say, our messaging to developers needs to be more like this or that. This is what the developers care about. But the guys who are paying … they might not know what that means. So this is kind of how you bridge the gap between what the developers care about and what the people with the money care about.”

Developers as Problem Solvers
00:14:14 – 00:16:19
Context: Trisha discusses the misconception that developers primarily write code, emphasizing that their true core skill is problem-solving, especially in the context of Generative AI.
Quote: “The naive way of thinking about what developers do is that we generate code, we write code. But it’s not the same thing. … It’s not the writing of the code, the typing of the code that really slows us down. It’s understanding what is the real problem, what are the weird edge cases, how do I get it to fit inside my current application, what design patterns do we have … The job of the developer has always been to say, what do you really want? And how can I give it to you within the constraints of the existing system, organization, and team?”

The Art of Asking Questions
00:18:04 – 00:18:26
Context: Trisha reflects on the importance of questioning as a critical skill for developers, noting how junior developers’ curiosity can drive innovation.
Quote: “The best genius I’ve ever worked with ask really good questions. And that’s where, like this idea of, asking questions and not taking anything for granted is not just for senior experienced people. It’s a mindset that we need to come with. … It’s a really good skill.”

Java’s Enduring Strengths
00:19:35 – 00:23:25
Context: Trisha explains why Java remains relevant after 30 years, highlighting its technical strengths and the supportive community that fosters innovation and inclusion.
Quote: “There’s a number of things. I think it’s a combination of the technology and the community. Write once, run anywhere is one of the things that kind of helped it get started. The JVM is designed for performance. And then we’ve got the ecosystem of Open Source, but also standards, which stops things going absolutely crazy. It feels like whoever you are, whatever kind of programmer you are, there’s something there for you. And there’s a kind of inclusion in all of that. Like, we’re all here, we’re all here to help each other. And that is a very difficult thing to leave behind and go somewhere else.”

Six-Month Release Cycle Benefits
00:26:53 – 00:30:18
Context: Trisha discusses how Java’s six-month release cycle enables incremental improvements, citing examples like Project Loom and pattern matching.
Quote: “Since we moved to two releases a year, we’ve been able to release incremental steps towards improving the language and the JVM without having to do like a big piece of work and then release it in a version of Java. Doing things in a small incremental way allows you to get faster feedback, allows you to iterate and allows you to deliver something better. And I think we can really see that in the two releases a year with Java.”

Teaching Java to a Nine-Year-Old
00:31:46 – 00:34:09
Context: Trisha shares her experience teaching her nine-year-old daughter Java using modern tools like IntelliJ IDEA and resources like Head First Java, highlighting how accessible learning has become.
Quote: “I was just teaching my nine-year-old how to code Java, obviously. She gets the IDE straight away. … Things have changed a bit since I learned how to code, but not that much. You can teach the old school way of like, here’s a main method. … And you can teach the basics of the IDE to help lighten the mental load for someone learning it for the first time.”

Advice for New Developers
00:36:28 – 00:38:15
Context: Trisha offers advice to new developers, emphasizing the importance of embracing continuous learning and being comfortable with not knowing everything.
Quote: “The overwhelming thing for a lot of these junior devs is that they realize they know very little and they need to learn a lot. … The most important skill to come out with after learning to program is learning how to learn and learning to be comfortable with the fact that you don’t know it all — and you will never know it all.”

Final Thoughts on Programming
00:38:53 – 00:39:32
Context: Trisha summarizes her key takeaways, emphasizing that programming is about community, continuous learning, and embracing discomfort for growth.
Quote: “Programming is about writing code into the computer, but that’s not your key skill. Programming is about the community, the people, the network you make. … The more you learn to be uncomfortable and to work within that discomfort and embrace it, I think the sort of the more successful you’ll be.”

Java 25’s Incremental Improvements
00:26:35 – 00:28:39
Context: Trisha comments on Java 25, noting that while she’s not as focused on individual releases as before, the six-month release cycle allows for small, impactful changes that make the language more approachable and improve developer experience.
Quote: “I’m not as on top of each individual release as I used to be. … But in some ways, that distance gives me a different lens to answer that question. Since we moved to two releases a year, … each one has at least one thing in it which is kind of cool and new and maybe syntax that we haven’t used before or maybe a performance under the covers.”

Learning Through Modern Resources
00:35:17 – 00:35:46
Context: Trisha discusses how modern resources, like YouTube channels and interactive tools, make learning Java more accessible, especially for those who struggle with traditional reading or non-native English speakers.
Quote: “There’s so many more different ways of learning these days. … If reading is a struggle for you … then there’s a whole bunch of YouTube channels and you can learn more visually. You don’t have to just read dry code on a piece of paper. You can see interactively how things are going to work, and I think that’s cool.”

Embracing Growth in Learning
00:10:36 – 00:13:27
Context: Trisha reflects on her own personal growth and passion for continuous learning, explaining how her career evolved from coding to advocacy to engaging with diverse teams, driven by a desire to grow and solve problems.
Quote: “I’m always looking to grow. I’m always looking for growth. I am constantly evolving and constantly growing. … It’s really a selfish thing. How can I help developers be happier? Well, I need to be able to speak to the folks who pay our salaries so that they can learn what makes us happy.”

JVM’s Performance Advantage
00:24:26 – 00:25:26
Context: Trisha highlights the JVM’s efficiency for high-performance applications, recounting her experience at a low-latency trading platform where Java’s performance was leveraged without needing specialized code.
Quote: “The JVM is designed for performance. … If you write good readable Java code with small methods, not too many nested like conditionals or too many weird for loops, you’ll get good performance from Java out of the box. You’ll get better performance out of the box than writing it in anything else.”

OpenJDK’s Incremental Progress
00:27:14 – 00:27:40
Context: Trisha references OpenJDK’s Project Loom as an example of how the six-month release cycle allows for incremental concurrency improvements, benefiting developers through iterative feedback and development.
Quote: “The ability to split Loom into a series of different deliverables which are going to improve concurrency. … Thinking about it in terms of what can we incrementally release, how can we separate this into individual things, has allowed the engineers to make incremental improvements that can be used by developers.”

Cay Horstmann: Java Still Vibrant After 30 Years

Duke’s Corner Java Podcast: Cay Horstmann: Java Still Vibrant After 30 Years

Jim Grisanzio from Java Developer Relations talks with Cay Horstmann, a professor, author, and Java Champion. In April 2025 in Cologne, Germany at JCON Cay received the Java Community Lifetime Achievement recognition from Sharat Chander on the Oracle Java Developer Relations Team.

This conversation covers the evolution of Java, the constant polishing of the library, the upcoming Java 25 release, the six-month release cycle, improvements in the Java language to make the technology more beginner friendly, teaching methodologies, conferences vs unconferences, and also timeless task-driven learning methods for students and developers to keep their skills sharp. Also, Cay has been writing books about Java for decades and years ago he was instrumental in initially getting Java integrated into the curriculum for the computer science AP exam in the United States.

“One of the reasons why Java is still so vibrant 30 years in is that there is a constant stream of low-level innovation going on. It’s pretty amazing.”

Links on the web for this conversation: Apple | Bluesky | Libsyn | LinkedIn | LinkedIn | LinkedIn | LinkedIn | Flickr | Flickr | Flickr | WordPress | X | X | X | X | YouTube | YouTube | YouTube. All of Duke’s Corner Java Podcasts can be found here. Here are more quotes from the conversation below:

Java’s Vibrancy and Evolution


Java’s Continuous Low-Level Innovation
Timestamp: 00:13:45–00:14:12
Context: Cay discusses why Java remains vibrant after 30 years, emphasizing the impact of the Java six-month release cycle and the steady stream of incremental improvements. He contrasts this with how individual features might not seem groundbreaking alone in any given release, but cumulatively they drive significant progress. He also ties this process to the natural competition among programming languages, where Java’s consistent updates help it stay relevant in a fast-evolving field.
Quote: “And I think one of the reasons that Java is so vibrant 30 years in is that it’s doing a really good job. I mean, if you think about it, every six months, there’s a new version that has some features that some are interested in for some people, some for others. And there is a constant stream of low-level innovation going on. Very few of these features seem like momentous on their own, but altogether, it is pretty amazing.”

Polished Java Library Through Continuous Refinement
Timestamp: 00:07:05–00:07:33
Context: Cay highlights how Java’s library has been refined over decades, making it more polished and user-friendly compared to other languages. He explains that this comes from ongoing attention to the API, where small complications are identified and simplified over time, and while each change might seem minor in isolation, the repeated process over 20 to 30 years results in a highly refined system that stands out for its logic and ease of use.
Quote: “There is the evolution, but there’s also the constant polishing of the library. So the API gets attention. You say, this is just a little bit too complicated. And someone says, yeah, sure. And then some small simplification comes. It never looks [like] much of a deal once, but repeat that over 20, 30 years, and you have really a super polished library. You do not have that with other languages.”

Java 25 and Beginner-Friendliness


Simplifying Java for Beginners
Timestamp: 00:08:49–00:09:16
Context: Cay explains how updates in Java 25 will reduce syntactic complexity for beginners by removing the need for a class in simple programs and improving I/O methods. He notes that while beginners have historically managed with templates, this change makes the language less intimidating from the start, and he appreciates its regularity compared to Python’s mix of top-level code and methods, which allows for a smoother introduction to programming concepts without unnecessary distractions.
Quote: “Nevertheless, Java 25 now does make this a lot easier. You now no longer have to have a class for simple programs. You still do need to have a main method, which I think is actually fine because it’s more regular than Python. In Python, you have a slightly confusing mix of top-level code and then methods. And in Java, it’s just methods for simple programs.”

Visual Clarity in Java 25 for Educational Content
Timestamp: 00:09:16–00:09:49
Context: Reflecting on rewriting his textbook, Cay notes how Java 25’s simplified syntax reduces visual clutter, benefiting students and textbook authors. He describes how textbooks often feature numerous small sample programs, unlike larger developer projects, and removing elements like public static void main makes the code less overwhelming visually, allowing developers to focus on core ideas rather than ceremonial syntax that can distract them while learning.
Quote: “At first I thought, you know, big deal, but now I’ve rewritten the first three chapters of Core Java with this and I really, really like it. It just is visually less distracting when you write a textbook. There’s lots and lots of small sample programs… and public static void main, you know, if you even have one in a framework, you would never even have it. But in a textbook, yeah, it’s nice.”

Simplified I/O in Java 25
Timestamp: 00:10:24–00:10:33
Context: Cay discusses how Java 25 introduces simpler I/O methods, making it easier for beginners to learn and use. He says that this eliminates odd constructs like system.out, replacing them with straightforward static methods, which helps beginners master a few key concepts early on and progress smoothly for the first several weeks before transitioning to more advanced object-oriented features. Quote: “To read something now, you no longer need to use system.out, which was always kind of an odd beast. You just say io.printon. It’s a static method.”

Teaching and Learning Methodologies


Task-Driven Learning for Lifelong Skills
Timestamp: 00:19:42–00:20:10
Context: Cay advocates for task-driven learning, where students engage with material through hands-on experimentation, which he believes is more effective than traditional lectures. He stresses that while learning the basics is necessary, the real value comes from applying them in practical ways, which encourages trial and error to build motivation and skills. This approach aligns with how professionals tinker and iterate in real-world work scenarios.
Quote: “You really want the learner to engage with the material by trying things out, by kicking the tires, by failing and then succeeding. There are some times when you need some fundamentals, you can’t build without knowing some basics. So I’m not against teaching those as facts. But then you quickly want to motivate students by putting things to work.”

Teaching Students to Learn How to Learn
Timestamp: 00:18:11–00:18:29
Context: Reflecting on his teaching career, Cay emphasizes that teaching students how to learn is more valuable than pushing specific subject matter, which is especially important given the rapid evolution of technology. He shares how he shifted focus from content delivery to guiding students through vast information landscapes, helping them navigate changes like in Android programming where details quickly become obsolete.
Quote: “I realized that subject matter really does not matter that much because it changes anyway. What really mattered to me is how students could learn to learn better, and how they could find their own way in that morass of materials out there.”

Interactive Learning in Small Classes
Timestamp: 00:18:39–00:18:58
Context: Cay describes the shift from large lectures to small, interactive lab sessions where students collaboratively fix outdated code, promotes practical learning. He explains that by using last year’s notes as a starting point, students learn to adapt to shifts in technology, identifying principles for troubleshooting and using tools like AI or Stack Overflow to aid the process.
Quote: “I really stopped lecturing. We had, like, a lab session every day where I said, here are the lecture notes from last year, none of this stuff works anymore, let’s fix it together. And in fact, none of this stuff did work anymore because this or that shifted. And so then what we really learned is how can you tease out the underlying principles that help you understand where even to look for the failures?”

Challenges of AI Tools in Education
Timestamp: 00:23:46–00:24:07
Context: Cay addresses the challenge of students using AI tools like chatbots to complete homework, emphasizing the importance of learning through personal effort. He observes that while younger students seem to intuitively know when to avoid these tools, older ones struggle, and he compares it to self-practice in other skills, noting that exercises are meant for cognitive development, not just output.
Quote: “What’s the value in that though, right? It’s not that people want to have another program that prints prime numbers. It’s that those exercises are there to make you think and to make you a better programmer. And so at that point, one needs to learn. And for students, this is hard. One needs to learn not to use the chatbot. I mean, it’s just like if you want to learn Italian or to play the piano, you need to do it yourself.”

Contributing to the Java Community


Instrumental Role in Java’s AP Curriculum Integration
Timestamp: 00:04:39–00:05:02
Context: Cay remembers his role in helping integrate Java into the U.S. Advanced Placement Computer Science Curriculum when he was advocating for a minimal subset of Java to focus on fundamentals. He mentions being invited to the committee due to his expertise in Java books and teaching, and how they successfully transitioned from C++ while resisting too many additions that could complicate the course unnecessarily.
Quote: “And so we actually managed to do that. I was very proud that we did not just switch to Java, but we switched to the smallest possible subset of Java that we could. Because I felt that the programming language should not be the key of this course. It is a course in fundamentals of computer science.”

Blogging and Conference Contributions
Timestamp: 00:03:11–00:03:35
Context: Cay reflects on his contributions to the Java ecosystem through writing books, blogging, and speaking at conferences, which he initially underestimated as community work. He describes the effort involved in daily blogging at large events like JavaOne, which included late nights after sessions and parties. He viewed this work as an important responsibility tied to his press pass and a way to share insights widely with developers at the event.
Quote: “I mean, I’ve been writing books, of course, for as long as Java existed. I do a lot of blogging, I speak at conferences, and I guess that’s community work too. For many years, I would go to every JavaOne and I would snag myself a press pass and then I would blog about it. Every day. So it was actually, it was hard work.”

JCrete and Unconferences


Unconferences Foster Dynamic Learning
Timestamp: 00:29:00–00:29:57
Context: Cay praises the informal, interactive format of unconferences like JCrete in Greece. Events like these prioritize participant-driven discussions over the tight schedules and polished presentations of traditional corporate events. He explains that topics emerge from the attendees and their interests, with groups forming naturally around shared ideas, allowing for real-time adjustments like slowing down explanations or skipping known parts. These sessions are far more engaging than standard conference talks and better for deep learning.
Quote: “The interesting part is what goes on in the hallway. And so the unconference kind of says, okay, let’s give us more hallway. Let’s make it so that there is more interaction… That interaction is much more effective because I feel when I’m there, I can stop the speaker and say, that was too fast for me. Or can you dig into this a little bit further? Or we can all tell the speaker, oh, we know this part. Just move on. So you have a much better way to learn.”

JCrete’s Mix of Experts and Novices
Timestamp: 00:30:40–00:31:09
Context: Cay highlights how JCrete’s mix of experts and novices fosters innovation and learning, encouraging young programmers to participate despite feeling intimidated. He says that novices often bring fresh perspectives given their experience from emerging industries, while experts also gain insights into new applications. He urges employers to recognize the value of such networking opportunities.
Quote: “What most of these unconferences purposefully try to do is get a mix of experts and novices. Because for me, it’s also super interesting to know how someone who is just getting started, how they use the technology. Also, sometimes the people who get started, they get started in more innovative industries than what we already know… So we want young people in these events.”

Lifelong Learning Strategies


Setting Aside Time for Learning
Timestamp: 00:17:22–00:17:34
Context: Cay advises developers to dedicate time to learning and make deliberate choices about what to study, which is especially important given the rapid pace of technological change that never seems to stop. He says that this has been a constant in the field for decades, and while it can feel overwhelming, it’s normalized through consistent habits, which is different from some students who may need more guidance to adopt these practices early.
Quote: “You have to absolutely, you have to do two things, right? One is you have to set aside a certain amount of time every week, every month to learn. And secondly, you have to make choices what to learn and what not to learn.”

Task-Driven Learning for Developers
Timestamp: 00:21:16–00:21:54
Context: Cay shares his approach to learning new technologies by setting small, practical tasks, which he believes is an effective way for developers to acquire new skills. He gives examples like when he was starting with basic cloud deployments before advancing, noting that this method avoids the overwhelm of building full apps immediately and mirrors how people naturally learn through motivation and iteration via small tasks.
Quote: “I think this task-driven learning is how people learn. So when I first had to learn like a cloud, AWS and that kind of stuff, you know, I said, okay, I just want to have something running in the cloud. And then I said, okay, now I want to do something with the database. And so I set myself small tasks that were not of the ‘build an app lift’ because I didn’t yet know what app I might want to build.”

Final Advice: Hands-On Learning
Timestamp: 00:32:46–00:32:56
Context: “In his closing remarks, Cay reiterates the importance of hands-on, task-driven learning as a lifelong strategy for developers. He encourages figuring out personal goals and learning incrementally to achieve them, repeating the process to stay current. He ties this back to his own experiences in updating books and adapting to new tech over 30 years.
Quote: “No, really, my advice is to take the time to learn new stuff and do it by some hands-on process. Figure out what you want to do and then learn just enough to do that. Repeat and rinse.”

Heinz Kabutz: Really Life Changing!

Duke’s Corner Java Podcast: Heinz Kabutz: Really Life Changing!

Jim Grisanzio from Java Developer Relations talks with Heinz Kabutz from the Island of Crete in Greece. Heinz has a PhD in Computer Science, publishes the The JavaSpecialists’ Newsletter, and runs the JCrete Unconference. Heinz is also a Java Champion and a teacher, and he cares deeply about the technology and the community. Recently, Heinz was recognized for his Lifetime Achievement by Sharat Chander from Oracle Java Developer Relations. “I was on cloud nine! I was so honored,” Heinz said.

In this conversation Heinz previews some JEPs in the upcoming Java 25 release, he comments on the value of the 6-month Java release cycle, he outlines how he’s contributed code to OpenJDK (and how others can too!), he offers some detailed advice to students getting involved in software development for the first time, and he talks at length about the opportunities for developers who participate at the JCrete Unconference. “I have seen people whose entire careers got revolutionized just by coming to JCrete once. It’s really life changing!” See an outline of quotes below by subject and also listen via the link above.

Links where this interview can be found: Apple | Bluesky | Libsyn | LinkedIn | LinkedIn | LinkedIn | LinkedIn | LinkedIn | WordPress | X | X | X | X | X | YouTube | YouTube | YouTube | YouTube | YouTube. All of Duke’ Corner Java Podcast episodes. Below are more quotes from the interview:

Quotes on Learning


Solve Real-World Problems to Learn Programming
Timestamp
: 00:51:18
Context: While discussing advice for new students or those transitioning into software development, Heinz emphasizes a practical approach to learning programming. He says that beginners should focus on solving real-world problems relevant to their lives, using Java as the tool, obviously. This method not only makes learning engaging but also helps learners see immediate value in their coding efforts, fostering a deeper understanding of programming concepts through practical application.
Quote: “My advice is if you want to learn how to program, it doesn’t matter what language it is. Let’s take Java because that’s a great language to work in. Look for problems that you’ve got that you’re trying to solve in your real life and then solve them using Java.”

Build a GitHub Portfolio
Timestamp
: 00:51:37
Context: Heinz advises aspiring developers to create a public GitHub account to showcase their coding projects, even if the initial code is relatively rudimentary. He says that building a portfolio of projects, regardless of their simplicity, demonstrates progress and commitment to potential employers. This approach allows beginners to document their learning journey, gain visibility in the developer community, engage mentors who can help and provide guidance, and build confidence without fear of judgment for early, less polished work.
Quote: “And then as you become more adept at coding, go and create yourself a GitHub account and the little projects that you do, put them there. Make them public. And no one’s going to judge you for basic, very, very badly written code when you were starting off.”

Project Euler for Algorithmic Growth
Timestamp
: 00:54:44
Context: Heinz recommends Project Euler (projecteuler.net) as an interesting resource for developing problem-solving and algorithmic skills. He says that the site offers mathematical problems that require coding solutions, encouraging developers to think critically about algorithms rather than relying on brute-force methods. This approach, he says, helps programmers refine their ability to devise efficient solutions, which is a critical skill in software development.
Quote: “The other thing that I’ve done a lot of is this nice little website called Project Euler, projecteuler.net, and they’ve got maths problems that you have to solve with code. … You have to think about the algorithms. You’ve got to think about what’s a clever way to solve it.”

Programming as Addictive Learning
Timestamp
: 00:55:30
Context: During a recent conversation with an 18-year-old computer science student, Heinz highlights the addictive nature of programming. He describes how solving coding problems can create a powerful sense of achievement, releasing dopamine and endorphins that make programming highly engaging. This insight supports the motivational aspect of learning to code because the thrill of problem-solving can drive continuous learning and persistence in the field.
Quote: “I said to him, you need to be careful because programming is very addictive. … It’s very addictive because once you start solving problems, you get this incredible dopamine hit, endorphins being released, like you’re a cocaine high without taking drugs.”

Quotes on Java 25


Flexible Constructor Bodies in Java 25
Timestamp
: 00:45:46
Context: Heinz discusses JEP 513, Flexible Constructor Bodies, a feature in Java 25 that enhances constructor flexibility. He explains that this JEP allows developers to validate parameters before calling a superclass constructor, addressing issues like ensuring valid data (e.g., non-negative age for a Person class). This improvement, which progressed through multiple preview stages, simplifies and strengthens constructor logic, making it easier to write robust code.
Quote: “There’s this new one now, the JEP 513, Flexible Constructor Bodies. … It does allow us to do checking of values, of parameters, before calling super. … So, for example, if you have a valid range of values, for example, person with age, we don’t want the age to be negative, so we can check the age in the constructor before calling super, which is really great.”

Simplified Main Methods for Education
Timestamp
: 00:48:30
Context: Heinz highlights JEP 512, which introduces compact source files and implicit main methods in Java 25, aimed at reducing confusing boilerplate code for beginners. He says that this feature simplifies the traditionally complex public static void main declaration, making Java more approachable for new learners. By removing unnecessary syntax, it allows educators to focus on teaching core programming concepts, which is a change he observed being adopted in educational materials like the book Core Java.
Quote: “One of them is called JEP 512, which has compact source files and instant main methods. … It’s way better, way easier to understand than the old version of working with Java. So from an education perspective, that’s great.”

Quotes on OpenJDK


Importance of Verifying Bugs Before Submission
Timestamp
: 00:23:01
Context: Reflecting on his experience contributing to OpenJDK, Heinz stresses the importance of thoroughly testing and verifying bugs before submitting them. Many times you’ll find out, it’s not a bug! He advises developers to download and build the JDK to confirm the issue, ensuring they don’t waste maintainers’ time with invalid reports. This disciplined approach, drawn from his own journey as an external contributor, enhances the quality and credibility of submissions to the Java bug database.
Quote: “I would recommend anybody who wants to log a bug, download the JDK, build it, try out whether your bug actually is a bug before sending it, because you’re just going to waste people’s time.”

Contributing Fixes to OpenJDK
Timestamp
: 00:23:26
Context: Heinz shares his evolved approach to contributing to OpenJDK, where he not only identifies bugs but also provides fixes. By submitting a pull request alongside a bug report, he streamlines the review process for maintainers. This method, developed through his experience finding obscure bugs in concurrent classes, demonstrates a proactive and efficient way to contribute to the Java development community.
Quote: “Find the bug and then fix it. Then you can submit a pull request together with a bug.”

Parallel Multiplication in BigInteger
Timestamp
: 00:25:10
Context: Heinz describes his contribution of a parallel multiplication algorithm to OpenJDK’s BigInteger class, inspired by a newsletter on parallel Fibonacci calculations. He implemented the Toom Cook 3 algorithm using Java’s fork-join framework, which was accepted and later improved by other developers. This contribution showcases how personal projects can lead to impactful additions to the JDK, enhancing performance for large-scale computations.
Quote: “The other thing I added was a parallel multiply to big integer. … I wrote the code where I parallelized the ToomCook3 algorithm using fork join. And it actually got accepted.”

Quotes on the 6-Month Java Release Cycle


Skepticism Moves to Success
Timestamp
: 00:43:07
Context: Heinz remembers his initial skepticism about Oracle’s decision to adopt a six-month release cycle for Java, given the previous multi-year development and release model. He says that Oracle successfully implemented this faster cadence, allowing for more frequent updates and improvements. This shift has made it easier to introduce and refine features over time, which aligns with the dynamic needs of developers as they learn, code, and implement their own systems.
Quote: “I was very skeptical when they announced six-month release cadence. … First of all, I didn’t believe that they could do it, but they have. They’ve done a really good job with it.”

Flexibility of the Release Cycle
Timestamp
: 00:44:02
Context: Heinz praises the flexibility of the six-month release cycle, which allows developers to integrate changes quickly if they miss any given release window. He mentions how his bug fixes for concurrent classes were deferred from Java 25 (an LTS release) to Java 26 to ensure stability, which shows how the rapid cycle provides multiple opportunities to contribute updates when they are ready.
Quote: “I absolutely love it because it’s like if you miss the one train, you go next month. … So if you miss the one, you’ll have another chance in six months’ time.”

Preview Features in the Release Cycle
Timestamp
: 00:44:26
Context: Heinz appreciates the use of preview features in the six-month release cycle, which allows the Java team to test and refine new functionalities over multiple releases. He cites the structured concurrency feature, now in its fifth preview, as an example of how this iterative approach ensures robust and well-tested additions to the platform.
Quote: “The other thing which is really great is all the different previews. So they’ll try a feature with a preview version. … The structure of concurrence is on the fifth preview. So they’re still trying to figure out exactly how to do it.”

Quotes on JCrete


Life-Changing Impact of JCrete
Timestamp
: 00:11:20
Context: Heinz passionately encourages developers to attend JCrete. He describes the event as a transformative experience due to its unique unconference format and setting on the island of Crete. He emphasizes that the event’s impact is so significant that attendees should prioritize it, highlighting its role in fostering deep professional and personal growth through networking and collaboration.
Quote: “If you ever get a chance to get a place at JCrete, don’t turn it down. You really, really want to make it. Just like sell your house, get a double mortgage and come because it’s really life changing.”

Career Transformation Through Networking
Timestamp
: 00:11:30
Context: Heinz explains how JCrete’s intimate and collaborative environment facilitates powerful networking opportunities that can reshape careers for developers. By connecting with influential Java community members, including many Java Champions, participants gain access to new professional networks, job opportunities, and collaborative projects that can significantly grow their careers.
Quote: “I’ve seen a lot of people whose entire careers got revolutionized just by coming to JCrete once. Because you make so many connections there that it’s really life changing.”

Advanced Technical Discussions at JCrete
Timestamp
: 00:09:10
Context: Heinz describes the unique format of JCrete, where sessions involve small, circular discussions rather than traditional lectures. He highlights how these sessions attract advanced Java developers, including those who have contributed to the JDK from Oracle and OpenJDK from the community. The interactions at JCrete promote in-depth technical exchanges, such as discussions on the ZGC generational garbage collector, that push the boundaries of Java expertise.
Quote: “It’s literally sitting in a circle, one person saying, I want to talk about the ZGC generational garbage collector, the new generational one, and what effects that’s going to have. And then you’ll have the guy that actually wrote it saying, well, actually, it’s pretty good, and they’ll have a whole discussion going on there.”

Quotes on Development Processes


Thoughtful Bug Submission
Timestamp
: 00:26:46
Context: Heinz warns against hastily submitting bug reports to OpenJDK, emphasizing the need for careful validation to respect maintainers’ time. In a funny way he expresses concern that his podcast comments might encourage a flood of poorly considered bug reports, underscoring the importance of ensuring submissions are genuine and well-documented to maintain trust and efficiency in the contribution process.
Quote: “You need to because you want to – What I really don’t want is out of this talk to have, you know, 100,000 of your listeners now are going to go, hey, let’s log some bugs. … Make sure that it really is a bug!”

Considering Behavioral Impact of Fixes
Timestamp
: 00:28:00
Context: Heinz remembers a scenario where he identified a performance issue in hash sets but chose not to submit a fix after realizing it would alter the observed behavior of sets, potentially causing confusion for developers who expect a certain perfomance. This experience highlights the importance of considering the broader implications of changes in a widely-used system like Java, balancing performance improvements with consistency.
Quote: “And then as I was writing the fix and I was going through it, I realized that it would substantially change the way, the behavior of these sets, which wouldn’t be incorrect, but it would be very inconsistent with how it works at the moment.”

Earning Credibility in Open Source
Timestamp
: 00:29:50
Context: Heinz discusses the culture of Open Source contributions and draws parallels with craftsmanship in construction. He emphasizes that building credibility through small, well-executed contributions is key to earning trust within the community. This approach, he says, mirrors the gradual skill-building process in other skilled trades, reinforcing the value of steady, thoughtful engagement.
Quote: “You start contributing slowly with things that you know well. Get credibility. You earn your way. That’s what I really like about the culture of open source.”

Quotes on Community Building


Technical Newsletter as Community Builder
Timestamp
: 00:06:15
Context: Heinz reflects on how his The Java Specialists’ Newsletter, running for 25 years, has created a sense of community among its subscribers in 150 countries. By sharing personal anecdotes along with deeply technical content, the newsletter promotes a tribal connection, making subscribers feel part of a global Java community that values both knowledge and friendship.
Quote: “People feel part of something. We all want to be part of a tribe. And the people that sign up to our newsletter, they’re part of that community.”

Generosity of the Java Community
Timestamp
: 00:07:34
Context: Heinz praises the Java community’s culture of generosity and collaboration, noting its unique willingness to share knowledge and resources freely. He contrasts this with other communities, highlighting how Java developers’ kindness and supportiveness create a nurturing environment for learning, collaboration, and technical innovation.
Quote: “I find the Java people are just the best. They’re just the nicest people in the world, really. … We are so helpful with one another. We’re just so kind and generous.”

Oracle’s Stewardship of Java
Timestamp
: 00:58:07
Context: At the end of the interview, Heinz praises Oracle for its stewardship of Java since acquiring it from Sun Microsystems in 2009. Initially skeptical about the acquisition, Heinz acknowledges Oracle’s significant investment in resources and its support for the Java community’s growth, allowing it to thrive despite competitive pressures.
Quote: “I want to give a shout out to the amazing stewardship that Oracle has given Java. … The amount of effort that Oracle has put in, resources you’ve put in, and also the fact that if allowed, I would say, the community to flourish, even though they are competitors and so on, you’re still allowed to flourish, has been really remarkable — Great job!”

OpenSolaris: 3 Points in a Monsoon

Back when we started OpenSolaris in 2005 at Sun Microsystems, I remember there was great confusion throughout the market, the media, and the development community about what we were doing with the project. People asked us and kept asking us, “What’s OpenSolaris?” This issue was expected, though, and it was a perfectly normal reaction given the history of Solaris and also since we opened the code in many phases over time.

Initially, we released DTrace to demonstrate that we were serious. Then about six months later we released the bulk of the OS/Net kernel source, which still wasn’t a fully functional binary distribution of Solaris you could easily just download and install on your little laptop like Linux. But at least with those first early code releases, developers could build from source, and we could also start building the OpenSolaris community. Over time, though, we released much more of the system’s consolidations, and the OpenSolaris distribution emerged, which made it a nice nascent alternative to Linux. Until Sun’s crash, that is! Oh, well.

Anyway, I remember this session below that I did in Indonesia in November 2009. I started my talk by explaining OpenSolaris with three short points to address this persistent confusion issue. Generally I’d open with this: “OpenSolaris is an Open Source development community, it’s 10+ million lines of Open Source code, and it’s a fully functional binary distribution of Sun’s product called Solaris.” So simple! But as soon as I raised my hand to explain those three bits (see my three fingers there), a massive monsoon hit the town and totally wrecked my concentration.

The roof of the university was made of sheet metal or something so it was so loud! It was like bowling balls pounding down on your head from above. The students laughed because they were used to it, but even with a microphone and speakers, I found it difficult to project my voice and soon lost my voice entirely. It’s interesting that back then I also had a presentation called “OpenSolaris: Opening in a Storm” to illustrate all the technical, political, and business challenges we had on the project. Anyway, after the session in the monsoon I walked outside and the streets were just rivers. Amazing. Great trip. Loved Indonesia!

btw, since the images below are old, I decided to edit them differently and play around a bit.








Nate Schutta: I Just Love to Learn!

Duke’s Corner Java Podcast: Nate Schutta: I Just Love to Learn!

Here’s my interview with Nate Schutta, an author, a teacher, a software architect, and Java Champion. Nate lives in the United States and teaches computer science to university students. He loves teaching and he loves learning, and he specializes in exploring the big picture of complicated systems in his career as a software architect. The conversation covers the Java community, the value for developers if they contribute to Java User Groups (JUGs), the benefits and some possible drawbacks of AI, and the engineering feat that is the Java Virtual Machine (JVM).

Nate has a passion for learning and here’s his advice for young developers and engineering students. “The fundamentals can’t be skipped! And they take time to learn! You just have to put in those hours to understand the basics, and then you can graduate to the more complicated stuff.”

Nate tripped over Java a bit in school and joined his first Java project right in his first job. Once he heard about this new Java project, he said: “Heck, yeah! I want in on that!”

Here’s the full Nate transcript. Here are all the interviews on Duke’s Corner.

Here are some links where the Nate interview appears in full or clipped: Apple | Bluesky | Bluesky | Flickr | Flickr | Libsyn | LinkedIn | LinkedIn | LinkedIn | WordPress | X | X | X | YouTube | YouTube

Quotes from the Interview

Here is a nice selection of quotes from the interview with Nate. When you talk to someone as articulate as Nate, it’s hard to select specific quotes to print in text. It’s best to just listen to all of the interview! Anyway, a quick scan across some text is nice too! Each quote includes a timestamp and some context on software architecture, learning, education, contributing to the Java community, Oracle’s role, and the use of AI in development.

  1. On the Role of a Software Architect and Trade-offs
    • Quote: “Our job on a software project is to see that bigger picture, to understand what those tradeoffs are, to sort of get out of some of the tribalism and evangelism around real specific technologies and be able to answer, well, why is that something we should use? How is that going to make things better for our business, for our developers, et cetera?”
    • Timestamp: 00:03:00–00:03:16
    • Context: Nate explains the essence of software architecture, emphasizing the need to balance trade-offs and maintain a broad perspective on system design to ensure decisions benefit both the business and developers.
  2. On Teaching Soft Skills for Architects
    • Quote: “A lot of being an architect is people skills and soft skills… I make my grad students read How to Win Friends and Influence People by Dale Carnegie.”
    • Timestamp: 00:06:54–00:07:23
    • Context: Nate highlights the critical role of communication and influence in software architecture, incorporating soft skills into his graduate-level curriculum by recommending a classic self-help book to prepare students for real-world human relations.
  3. On the Engineering Mindset and Curiosity
    • Quote: “The common thread I see through the best engineers that I’ve worked with or that I know, it’s this intense curiosity and it’s this passion to understand what’s going on here. It’s this tinkering mindset.”
    • Timestamp: 00:11:25–00:11:37
    • Context: Nate describes the mindset of great engineers, emphasizing curiosity and a desire to tinker as key drivers of learning, which, for some, can transcend formal education and is essential for mastering complex systems.
  4. On Teaching and the Value of Learning the Hard Way
    • Quote: “I think you maybe appreciate it more when you’ve had to do it the hard way. Like I teach a cloud class to at the [university] and I make my students do things the hard way first to introduce them to why we now have these easier and simpler abstractions.”
    • Timestamp: 00:15:27–00:15:42
    • Context: Nate explains his teaching approach, where he has students perform tasks manually (e.g., bare metal setups) before introducing tools like Docker, to help them appreciate the value of modern abstractions.
  5. On the Importance of Fundamentals
    • Quote: “The fundamentals can’t be skipped and they take time. You know, that’s the other part of this. I think people are in such a hurry to get past. It’s like you just have to put in those hours to understand the basics and then you can graduate to the more complicated stuff.”
    • Timestamp: 00:16:43–00:16:55
    • Context: Nate stresses the necessity of mastering foundational concepts before leveraging advanced tools, using photography as an analogy to illustrate that tools alone can’t replace understanding the basics.
  6. On His Love for Learning
    • Quote: “And I just love to learn stuff. And so for me, that opportunity to just be exposed to brand new things, the web, you know, we’re just starting to play around with that, being able to build an app that you can use on the web and we’re getting a whole new deployment topology and everything is brand new, like, heck yeah!”
    • Timestamp: 00:21:09–00:21:25
    • Context: Nate expresses his passion for learning, describing how his excitement for new technologies, like Java and web development early in his career and how that experience drove his career and continues to motivate him today. You can hear it in his voice, can’t you? :)
  7. On Java’s Evolution and Stewardship
    • Quote: “I think one of the things I find remarkable about Java… It has managed to evolve along with the types of programs that we’re writing and the demands that we place upon that. And I think that’s remarkable and speaks an awful lot to the stewardship. And I don’t think we give enough credit to the people behind that. It’s an incredibly complicated thing.”
    • Timestamp: 00:22:35–00:22:57
    • Context: Nate praises the stewardship of Java’s evolution, implicitly acknowledging the contributions of Oracle’s engineering team and others, for enabling Java to adapt to modern programming demands without breaking legacy systems.
  8. On the JVM as an Engineering Feat
    • Quote: “The JVM is amazing. And just the feat of engineering, what that’s enabled over its entire lifespan… the fact that it’s managed to evolve and grow and adapt to new programming styles and new approaches is amazing.”
    • Timestamp: 00:29:30–00:29:51
    • Context: Nate praises the Java Virtual Machine (JVM) as a remarkable engineering achievement, noting its adaptability over decades, which supports a wide range of applications and programming styles.
  9. On Simple Contributions to Open Source
    • Quote: “One of the simplest things you can do is you find a bug in the docs or in a tutorial and report it. Contribute a pull request for, hey, this isn’t right. It should be this instead… If you’ve ever gone through a tutorial and the steps are wrong or this command got changed and you’re spinning your wheels for two hours, well, you just saved a whole bunch of people a lot of time by fixing the docs.”
    • Timestamp: 00:35:24–00:35:49
    • Context: Nate encourages new developers to contribute to open source projects, even in small ways like fixing documentation. He emphasizes that these contributions are valuable and help others avoid frustration.
  10. On the Collaborative Nature of Software Development
    • Quote: “Me helping you doesn’t diminish me. It’s not a zero sum game. It’s not like I now have less because I’ve helped you. It’s better for both of us.”
    • Timestamp: 00:36:24–00:36:31
    • Context: Nate emphasizes the collaborative ethic of the Java community, where helping others benefits everyone, which reinforces the value of contributing knowledge and support.
  11. On Personal Passion for Teaching
    • Quote: “Oh, for sure… When I was probably in high school, I thought, well, I’ll be a teacher of some sort. I just didn’t know what.”
    • Timestamp: 00:39:42–00:39:53
    • Context: Nate reflects on his lifelong passion for teaching, which began in high school and led to his current role teaching graduate courses and engaging with the community.
  12. On Mentorship and Giving Back
    • Quote: “So many people helped me. So many people reached out a hand and helped me up. So my job is to turn around and help somebody else to and help them understand something or put them in a position to succeed.”
    • Timestamp: 00:41:56–00:42:16
    • Context: Nate reflects on his duty to mentor others, inspired by the support he received, emphasizing the importance of helping the next generation of developers succeed.
  13. On AI as a Learning Tool, Not a Shortcut
    • Quote: “You still have to have the expertise. You still have to have the fundamentals. People seem to think they can skip over the fundamentals and somehow AI will be the salve over all of that. And where I think we get in trouble is if you just blindly accept whatever the AI says.”
    • Timestamp: 00:45:04–00:45:24
    • Context: Nate discusses the role of AI in learning, cautioning that it should be used to enhance understanding, not to bypass learning core concepts, especially for students.
  14. On Using AI to Support Learning
    • Quote: “I love it in the sense of, if a student is using this, because actually one of my students did this last spring, he was doing some stuff with Kafka and he couldn’t quite figure out how to get it configured and so he asked you know chat GPT or whatever how do I configure this and like, oh here’s what you do and he’s like that’s awesome.”
    • Timestamp: 00:52:38–00:52:52
    • Context: Nate shares an example of a student using AI (ChatGPT) to learn Kafka configuration, illustrating how AI can save time and aid learning for those with foundational knowledge.
  15. On Encouraging Thoughtful Use of AI in Education
    • Quote: “I think that’s the worst thing you can do, frankly, as a teacher is to pretend it’s not there and all my students aren’t using it. They are. So figure out how to incorporate it, figure out how to give them that advice on how to use it intelligently and not just as a total crutch to avoid learning the concepts that we’re trying to teach you.”
    • Timestamp: 00:54:18–00:54:33
    • Context: Nate advocates for integrating AI into education thoughtfully and encourages teachers to guide students to use AI as a learning aid rather than a way to avoid understanding core concepts.
  16. On Encouraging Community Involvement
    • Quote: “I would just encourage folks to get involved, whether that’s attending your local user group, volunteering to give a talk at your local user group, contribute and be a part of this community. There’s nothing that’s holding you back and don’t let your experience level be an issue.”
    • Timestamp: 00:54:59–00:55:15
    • Context: In his closing remarks, Nate urges developers to engage with the Java community through simple actions like attending user groups or giving talks. Contributions at any level are valued in the Java community.

Francisco Contreras: I Felt Like I Could do Anything!

Duke’s Corner Podcast with Francisco Contreras, who is a Java developer and a co-organizer at Nicaragua JUG. Francisco has been a Java developer for over 15 years and he runs his own consulting business with customers around the world. He’s passionate about Java the technology and also Java the community.

“When I learned Java at university I felt like I could do anything with that,” he said, talking about how Java enables him to engage developers, write really great software, and also grow a business. But Java goes well beyond just technology. When Francisco had some personal challenges in his life, he was happy that many community members immediately offered to help him. “The sense of community in the Java environment is just awesome!”

Interview Archive