76-Venkat-Subramaniam.txt

Venkat Subramaniam: I Teach Because I Learn
September 4, 2025 | Duke’s Corner Java Podcast
https://dukescorner.libsyn.com/site/

Jim Grisanzio from Java Developer Relations talks with Venkat Subramaniam who 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, author, speaker, founder of Agile Developer, co-founder of the dev2next conference, and teacher at the University of Houston.

In this conversation, which is part of an ongoing series honoring Java pioneers, Venkat expresses profound humility about his accomplishments and credits industry giants and his passion for learning and sharing technical knowledge. He reflects on leaving his own company years ago to focus on teaching and technology, writing books like Cruising Along with Java, and speaking at over 45 conferences and 30 Java User Groups — every single year! Venkat has one of the most impressive global speaking schedules of anyone in the Java community.

Venkat praises Java User Group leaders as “unsung heroes” for their organizational efforts and 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. Venkat 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 to help welcome 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.

Venkat Subramaniam https://x.com/venkat_s
Duke’s Corner Java Podcast https://dukescorner.libsyn.com/site/
Jim Grisanzio https://x.com/jimgris

Transcript

(00:00:00):
Venkat, Venkat Subramaniam, welcome back to Duke’s Corner.

(00:00:03):
Thanks, Jim.

(00:00:04):
It’s always a pleasure to talk to you.

(00:00:05):
Thanks for having me on this one.

(00:00:07):
It’s fantastic to see you again.

(00:00:09):
I always love our conversations.

(00:00:10):
I think this is probably the third or fourth time I’ve spoken to you.

(00:00:14):
And this time is special, though.

(00:00:15):
This time is different.

(00:00:16):
I was talking to Sharath Chander,

(00:00:18):
my boss at Oracle and Java Developer Relations,

(00:00:21):
and he said that he presented you with the Java community lifetime achievement that

(00:00:26):
he’s been essentially recognizing

(00:00:28):
people in the community who’ve done some really, really interesting things over their careers.

(00:00:33):
And he asked me to go around and interview some of you guys and talk about that,

(00:00:38):
the experience around it.

(00:00:39):
And so you’re on the list.

(00:00:41):
So tell me the story.

(00:00:42):
Where did it happen?

(00:00:43):
When did it happen?

(00:00:44):
And what was it like there on the scene?

(00:00:46):
First, I’m going to say I’m very grateful.

(00:00:49):
I look up so many giants that are in the field and I’m truly humbled for having been recognized.

(00:00:58):
I want to channel in the words of Newton.

(00:01:00):
He said, I see the farthest because I am standing on the shoulders of the giants.

(00:01:05):
I’m very humbled and thankful for the giants that brought me up to here and I

(00:01:10):
couldn’t be here without it.

(00:01:11):
And I have to say that I definitely did not expect it.

(00:01:16):
And I was truly shocked, honestly, a little bit.

(00:01:20):
If you want me to truly explain the feeling,

(00:01:21):
I was very nervous being there and did not see this coming.

(00:01:27):
I don’t think I consider myself as worthy of being received compared to the giants

(00:01:33):
I mentioned in the industry today.

(00:01:34):
This was in DevOps UK, a fantastic show that I enjoy being in other than other DevOps as well.

(00:01:42):
And so I was in DevOps.

(00:01:44):
This was last year, 24.

(00:01:45):
And DevOps happens in May, as you know.

(00:01:50):
I was there for DevOps to give a couple of talks.

(00:01:54):
This was right before the keynote.

(00:01:57):
As the keynote speaker was getting ready to start and Mark was finishing up his

(00:02:02):
introduction,

(00:02:03):
you know,

(00:02:03):
he invites Sharats to the stage and he gets up on the stage and,

(00:02:09):
you know,

(00:02:10):
says about the community and the contributors and then says there is an award that

(00:02:15):
he is issuing.

(00:02:16):
And I was aware of the award because there was one announced the previous year or

(00:02:22):
earlier that year,

(00:02:23):
but definitely that was not on my mind that morning,

(00:02:26):
especially.

(00:02:27):
And then he announced that I’m the recipient of that award.

(00:02:31):
So I got up on the stage.

(00:02:33):
Obviously, I was very nervous and shocked to hear this.

(00:02:37):
I don’t think I was expecting or even feel that I was deserving of it.

(00:02:42):
So I’m very grateful.

(00:02:43):
And it was an interesting moment.

(00:02:46):
So what,

(00:02:47):
I mean,

(00:02:48):
a lot of people might be surprised that you’re a very senior person in this

(00:02:52):
community.

(00:02:53):
You’ve had a lot of accomplishments and achievements over the years.

(00:02:56):
A lot of people might say, hey, you know, you were nervous about this.

(00:02:59):
I mean, that’s really interesting.

(00:03:00):
Yeah.

(00:03:01):
It is truly because one of the things that I learned early on in my life is that if

(00:03:09):
our mind is on recognition,

(00:03:12):
our efforts tend to be really ineffective.

(00:03:16):
But if our mind is focused on learning and then sharing what we learn,

(00:03:24):
then we are not focused on where we get the recognition from.

(00:03:29):
In a way,

(00:03:29):
to me,

(00:03:31):
truly,

(00:03:31):
the reward is when I wake up in the morning and feel like I have learned something

(00:03:37):
more than I did the day before.

(00:03:39):
And then I go to bed knowing that maybe I helped somebody else along the way to

(00:03:45):
learn something more than they did.

(00:03:48):
That to me is the reward that I truly cherish every day.

(00:03:52):
And I’ll be honest about it, right?

(00:03:54):
When you’re young, when you’re coming out, that’s not what’s on your mind.

(00:03:57):
Because as a very young person,

(00:03:59):
when you’re,

(00:04:00):
you know,

(00:04:01):
19 something or 20 something,

(00:04:03):
you are looking forward to opportunities and you’re looking forward to

(00:04:06):
opportunities.

(00:04:07):
those little feedback and recognitions.

(00:04:10):
But then eventually we gain our maturity and maturity is a long path to achieve that.

(00:04:18):
And I would say maybe I got that maturity somewhere in my late twenties.

(00:04:22):
And I realized that the true reward and the true satisfaction is knowing that we

(00:04:28):
are doing the right things and helping ourselves first and helping others along the

(00:04:32):
way.

(00:04:33):
So that’s one of the reasons why I was truly shocked because

(00:04:36):
Years ago,

(00:04:37):
when I received the Java Champion recognition,

(00:04:40):
that was another very shocking moment because that was absolutely not on my mind at

(00:04:47):
all.

(00:04:47):
There was not a single day,

(00:04:48):
I’ll be honest about it,

(00:04:50):
that I ever woke up and said,

(00:04:51):
oh,

(00:04:51):
it’d be so cool to have this.

(00:04:53):
And similarly, this is not something I was expecting.

(00:04:56):
I was hoping.

(00:04:56):
I was even feeling that I was deserving.

(00:04:59):
And then again, like I said, there are other people I recognize are much more…

(00:05:05):
a stronger and popular and deserving than I am.

(00:05:10):
So that’s the reason for being shocked about it is unexpected,

(00:05:14):
undeserving in a lot of ways in my mind,

(00:05:16):
but I’m very grateful and thankful nevertheless.

(00:05:19):
Well,

(00:05:20):
Char feels very,

(00:05:21):
I mean,

(00:05:21):
you know,

(00:05:21):
Char for many years,

(00:05:23):
obviously,

(00:05:23):
you know this,

(00:05:23):
but just so everyone can hear this.

(00:05:25):
I mean, it’s very heartfelt from him.

(00:05:27):
He promotes the community internally at Oracle.

(00:05:30):
He did so at Sun for years and years and years.

(00:05:33):
And he really feels very strongly that the community should be recognized for doing

(00:05:38):
community work.

(00:05:38):
Now that could be contributing code,

(00:05:41):
that could be running user groups,

(00:05:42):
that can be blogging,

(00:05:43):
you know,

(00:05:44):
It could be managing events.

(00:05:46):
It could be, there’s a variety of ways that people contribute to communities.

(00:05:51):
It’s, you know, sometimes the recognition comes from the community itself.

(00:05:55):
Like if you’re contributing code, you know, obviously you gain a certain status there.

(00:06:00):
But Char felt that we,

(00:06:02):
as the stewards of Java,

(00:06:03):
you know,

(00:06:04):
Oracle should be recognizing the community as there’s a lot of people who have been

(00:06:08):
contributing over the years.

(00:06:09):
So he really, really feels this very, very strongly.

(00:06:12):
Yeah.

(00:06:12):
And I think his mind is in the right place,

(00:06:15):
and I’m thankful for what he is approaching and how he is approaching this.

(00:06:19):
And I’m very pleasantly surprised and happy that he is able to recognize this.

(00:06:25):
And the reason I’m saying this is,

(00:06:27):
again,

(00:06:27):
I’m not speaking about me here specifically,

(00:06:29):
but about the Java community.

(00:06:31):
I was on a bus ride or a car ride recently.

(00:06:35):
We were talking about languages and communities, and I blurted out suddenly saying,

(00:06:41):
I know about a lot of different language communities.

(00:06:43):
I program in multiple languages, but I always feel that Java is special.

(00:06:48):
And what makes Java special,

(00:06:49):
with all respect,

(00:06:51):
is not just the language,

(00:06:52):
but it’s the people around the language.

(00:06:55):
Genuinely, I’ve seen developers taking pride in being part of the Java community.

(00:07:02):
and promoting Java, using Java, helping other people learn and use Java as well.

(00:07:08):
So I think that the strength of Java is not only in the language or the ecosystem.

(00:07:15):
Equal share of it is in the community.

(00:07:18):
And what I mean by community is,

(00:07:19):
to your point,

(00:07:20):
people writing code,

(00:07:21):
creating open source projects,

(00:07:23):
Absolutely.

(00:07:24):
Right.

(00:07:24):
A lot of respect for them.

(00:07:26):
But it’s the people who are speaking in conferences,

(00:07:29):
people who are speaking in user groups,

(00:07:32):
leaders of the user group.

(00:07:34):
I go around the world and interact with user group leaders.

(00:07:39):
Eventually, I begin to call them as friends and I see the hard work.

(00:07:44):
These are to me, the unsung heroes of our field.

(00:07:49):
These are the user group leaders.

(00:07:51):
Most people wouldn’t know their names outside of their local community,

(00:07:56):
but these are the people doing hard work every single day.

(00:08:00):
imagine just as one example,

(00:08:03):
imagine the effort it takes to organize a user group meeting month after month

(00:08:08):
after month,

(00:08:09):
having a speaker come over,

(00:08:11):
having the attendees show up,

(00:08:14):
having the food for them available,

(00:08:16):
having the facility to clean up after the facility when the meeting is over.

(00:08:20):
The list keeps going on.

(00:08:22):
And to me, these are the people who,

(00:08:25):
And they’re doing this for absolutely nothing in return.

(00:08:29):
And that is what true service is really about,

(00:08:32):
is they genuinely want to improve the community and the people around them.

(00:08:37):
So that’s the unique part of what we are involved in,

(00:08:41):
is the people genuinely interested in promoting this.

(00:08:45):
It’s just heartwarming when you see this everywhere in the world.

(00:08:49):
And it’s interesting,

(00:08:50):
the comments you said about user groups specifically,

(00:08:52):
because many people might not realize that a lot of the well-known conferences in

(00:08:58):
Java throughout the world grew from user groups in a coffee shop somewhere 20 years

(00:09:04):
ago,

(00:09:04):
right?

(00:09:05):
Some people got together,

(00:09:06):
they’re going to hacking on some code,

(00:09:07):
they’re going to have some beers or some pizza or something.

(00:09:10):
And then 20 years later, that very little user group grew and grew and grew and

(00:09:15):
And they’re now running annual conferences.

(00:09:18):
So that’s phenomenal.

(00:09:21):
So tell me about, you know, why you got this recognition.

(00:09:25):
Presumably you,

(00:09:27):
I mean,

(00:09:27):
I know you’re a professor at a PhD,

(00:09:29):
you teach,

(00:09:30):
you travel,

(00:09:30):
you do all these things.

(00:09:31):
But from your perspective,

(00:09:33):
what do you feel that you did in your career that you will recognize for this Java

(00:09:38):
community lifetime achievement?

(00:09:40):
I can only assume in this case because I really did not ask this question from the

(00:09:46):
people who recognize me.

(00:09:48):
But I’ll share with you maybe what was the cause and effect.

(00:09:52):
Maybe that’s kind of what I would like to look at it as.

(00:09:55):
I’m generally a person who is very enthusiastic about learning things and then to share it.

(00:10:02):
This is one of the things I realized the hard way, if you will.

(00:10:06):
I quit working in a day job several decades ago and I started my own company and

(00:10:13):
only to realize after about four or five years running my company to realize that

(00:10:18):
I’m not a business person.

(00:10:20):
I’m a technologist,

(00:10:22):
and I realized that what I truly enjoy is learning about stuff,

(00:10:28):
tinkering with technologies,

(00:10:30):
trying to come up with reasons about why things work and how they should be

(00:10:35):
implemented,

(00:10:36):
and then to turn around and be able to share that and coach people doing it.

(00:10:41):
So I took this hard decision to fire myself from my own company.

(00:10:46):
And I went solo and started really digging into technologies.

(00:10:51):
And coincidentally, around that time, I got opportunity to speak in conferences.

(00:10:56):
So on one hand, I’m extremely prolific

(00:11:00):
because I am usually too excitable,

(00:11:03):
I should say,

(00:11:04):
that I would go learn about something and I would struggle about,

(00:11:08):
I don’t understand why this is working or why I should be interested in this.

(00:11:12):
And when I discover a good reason, I would want to go talk about it.

(00:11:17):
I want to go explain it.

(00:11:18):
I had a good friend of mine.

(00:11:20):
I asked him, should I write a book?

(00:11:22):
And this was way before I wrote any books.

(00:11:25):
And he said, if you want to write a book, you would write a book to improve your business.

(00:11:29):
And I said, I’m doing extremely well in my business.

(00:11:33):
Why should I care about writing a book?

(00:11:35):
And he said,

(00:11:35):
maybe then you shouldn’t write a book because it’s probably not going to be that

(00:11:38):
useful for you.

(00:11:39):
And I took his words and I went for about six months abandoning the idea of writing the book.

(00:11:44):
And then I came back to say, wait a minute, he’s right, but he’s not entirely right.

(00:11:49):
The one reason to write a book is to maybe promote yourself and promote your business because

(00:11:54):
But to me, a bigger reason to write a book is I’ve got a story to tell.

(00:11:58):
And that’s what excites me about writing books.

(00:12:02):
Almost every book I’ve written since then,

(00:12:05):
I started writing the book because I have a story to tell.

(00:12:09):
And what I mean by a story to tell is I discover a nuance in a language or in a

(00:12:14):
library or in a method of designing,

(00:12:17):
and I want to speak that.

(00:12:18):
So I do that in a conference.

(00:12:21):
And a conference is one way to reach people to tell you a story.

(00:12:24):
A book is another way to reach your people.

(00:12:27):
But along the way,

(00:12:28):
what I realized was this is where we gain from certain things,

(00:12:33):
but we also have to realize it’s also time for us to go back and give back from

(00:12:40):
where we gained.

(00:12:42):
And I tell this to people oftentimes.

(00:12:44):
You know, people often complain about how the quality of education may not be really good.

(00:12:50):
And I always tell them, well, good, you recognize the problem.

(00:12:54):
Now you can be the solution yourself as well.

(00:12:57):
That’s one of the reasons why after graduating from college,

(00:13:01):
when I went to take up a full-time job as a programmer,

(00:13:04):
I went back to teach in the evening in the university.

(00:13:08):
I’m into my 34th year of teaching at the university.

(00:13:12):
All these 34 years, part-time, I moonlight.

(00:13:16):
I’m not a full-time professor.

(00:13:17):
I’ve never been tenured track or on a position to be tenured.

(00:13:21):
I don’t want to be tenured.

(00:13:23):
My goal is not to be a professor.

(00:13:25):
My goal is to teach students about things they can learn,

(00:13:29):
how to learn,

(00:13:30):
how to approach their careers.

(00:13:33):
So I realized when I finished my school, part of the way I can contribute is to teach part-time.

(00:13:41):
I don’t want to be a faculty.

(00:13:42):
I don’t want to be a professor.

(00:13:44):
But I want to just go back in the evenings and say, here’s what I’m learning at work.

(00:13:49):
Here’s what you can do to become a better professional as well.

(00:13:52):
And I find that to be really useful.

(00:13:55):
And in a similar way, in all honesty, you know, everybody needs a break.

(00:14:00):
If you don’t get a break, you could have the potential, but you need that first break, right?

(00:14:06):
It’s like the actors who always tell you,

(00:14:08):
well,

(00:14:08):
I was in acting school and I was interested in acting,

(00:14:11):
but here’s where I got a first break.

(00:14:13):
Well, I got my first break in

(00:14:16):
in the Java user group.

(00:14:18):
And if you don’t mind, I’ll share with you this funny story.

(00:14:22):
I like to speak in Java user group.

(00:14:24):
I used to live back in time.

(00:14:25):
I used to live in Houston.

(00:14:27):
And I used to speak in Java user group once a year.

(00:14:31):
I used to speak in the .NET user group once a year.

(00:14:34):
But it turned out, unfortunately,

(00:14:37):
that the user group was scheduled on the same nights I was teaching.

(00:14:43):
And typically you would teach, for example, Monday and Wednesday or Tuesday and Thursday.

(00:14:48):
And it so happened that the group was scheduled on the same nights I was teaching.

(00:14:53):
So I lost the opportunity to go to the group.

(00:14:55):
I also lost the opportunity to speak in the group as well.

(00:14:58):
Well,

(00:14:59):
Arnard,

(00:15:00):
the gentleman who was running the group back in time,

(00:15:02):
I’m talking about 25 years ago right now,

(00:15:06):
and he made a genuine mistake.

(00:15:09):
He looked at the calendar for the wrong year.

(00:15:13):
and schedule the meeting on a day which is other than the night I am teaching.

(00:15:19):
So I looked at the calendar.

(00:15:20):
I’m like, gosh, looks like they changed the date when they’re meeting.

(00:15:24):
So I grabbed the calendar and I sent invite to him saying, I want a present on this day.

(00:15:30):
And he came back and said, oh my gosh, I just realized that I messed up the calendar.

(00:15:34):
That’s a wrong day.

(00:15:36):
But since I announced the date,

(00:15:38):
Why don’t we just go ahead with it?

(00:15:40):
So you come and give a talk and I will flip back the calendar,

(00:15:44):
you know,

(00:15:44):
two months later to the right date.

(00:15:47):
This is where you get the break, right?

(00:15:48):
You get the luck.

(00:15:50):
So I go to present and that’s when a gentleman who organizes a conference series,

(00:15:56):
which was just starting up,

(00:15:57):
Again,

(00:15:58):
like to your point,

(00:15:59):
right,

(00:15:59):
people who are involved in user groups are beginning to start conferences.

(00:16:03):
He comes over.

(00:16:04):
He looks at me speaking.

(00:16:06):
And I was like, who is this guy I’ve never heard about?

(00:16:09):
He’s not really as bad as I would expect him from speaking.

(00:16:13):
So he comes to me right after the talk.

(00:16:16):
And I’ll tell you, this was the most humbling experience.

(00:16:19):
He comes to me and says, hey, good talk.

(00:16:21):
I’m like, thank you.

(00:16:23):
And he just announced his conference.

(00:16:25):
And there are people speaking in conference who are the well-known giants in the industry.

(00:16:32):
I’m talking about Jason Hunter, the guy who created the Servlet API.

(00:16:39):
Remember the Kettle book back in time?

(00:16:42):
James Duncan Davidson, the guy who created… Oh, yeah.

(00:16:46):
I know him from Sun.

(00:16:47):
And Tomcat.

(00:16:48):
Yeah, Tomcat, right.

(00:16:49):
Yeah.

(00:16:49):
Dave Thomas,

(00:16:50):
the guy who wrote The Pragmatic Throw Grammar,

(00:16:53):
just about a couple of years earlier.

(00:16:56):
Bruce Tate, who wrote Bitter Java book series.

(00:17:00):
These are the people known, very well known in the industry.

(00:17:04):
And then there’s this guy whose name people cannot even say properly.

(00:17:09):
And nobody know who I am.

(00:17:11):
And when he said, do you want to come and speak in the conference?

(00:17:14):
I honestly thought he was kidding.

(00:17:17):
And he was starting this conference series called No Fluffs, Just Stuff, NFJS.

(00:17:22):
It became a very huge conference.

(00:17:25):
This was Jay Zimmerman on that day.

(00:17:27):
That’s the lucky break I was talking about, right?

(00:17:29):
Being scheduled on a day because there was a calendar mistake that the organizer

(00:17:36):
made,

(00:17:37):
all these series of things that work in your favor.

(00:17:41):
So this is one of the reasons, in all honesty, 25 years later that

(00:17:47):
I speak in approximately 30 or more user groups every single year.

(00:17:55):
If you go to my website,

(00:17:56):
agiledeveloper.com,

(00:17:58):
and you look in the events section,

(00:18:00):
you will see the number of user groups I talk to every single year because that’s,

(00:18:06):
to me,

(00:18:06):
a way to give back to the user groups because that’s what I started.

(00:18:11):
So the universities, the user groups,

(00:18:13):
And to me, I think it is the fact that I was prolific.

(00:18:17):
I’m genuinely interested in sharing my knowledge.

(00:18:20):
And I’ve been at the university for still a long time in user groups continuously.

(00:18:25):
And then speaking at a number of conferences,

(00:18:28):
I speak in roughly about,

(00:18:30):
I don’t even count,

(00:18:31):
but I’m going to say maybe 45 or more conferences a year.

(00:18:36):
So I think that’s part of the reason for the recognition is the amount of…

(00:18:42):
If I can use the word,

(00:18:43):
the surface area that I can touch,

(00:18:46):
I can touch the surface area of young developers,

(00:18:49):
aspiring programmers,

(00:18:51):
seasoned professionals,

(00:18:53):
all the way to experts with my interaction in the industry by way of conferences,

(00:18:58):
user groups,

(00:19:00):
university,

(00:19:00):
consulting,

(00:19:01):
writing books.

(00:19:03):
I think that surface area that I touch and my genuine interest,

(00:19:06):
honestly,

(00:19:07):
in really learning and sharing.

(00:19:09):
I think I wear my excitement on my sleeve.

(00:19:12):
And I think that comes out fairly easily to see.

(00:19:14):
I’m assuming that that’s kind of the reason for the recognition, if you will.

(00:19:19):
That’s just a glorious story.

(00:19:20):
Thank you very much.

(00:19:21):
That’s why I do this podcast is to hear stuff like that.

(00:19:24):
And, you know, everyone’s different.

(00:19:25):
Everyone has their own story.

(00:19:27):
But it’s that serendipity that happens to everybody.

(00:19:31):
You have to be in the game.

(00:19:33):
You have to be out there trying to do something,

(00:19:35):
whatever it is,

(00:19:36):
whatever field it is,

(00:19:38):
for that serendipity to happen,

(00:19:39):
for that break to happen.

(00:19:41):
You can’t be sitting home watching TV, in other words, right?

(00:19:43):
Yes.

(00:19:44):
Or YouTube.

(00:19:45):
Exactly, YouTube.

(00:19:46):
You got to be out there.

(00:19:47):
You got to be studying.

(00:19:48):
You got to be making friends, networking.

(00:19:51):
You get into the system.

(00:19:53):
You get on the field, basically.

(00:19:54):
Nothing can happen if you’re sitting on the sidelines or in the stands, unless you’re relaxing.

(00:19:58):
That’s a different story.

(00:20:00):
So that’s a great story.

(00:20:01):
Thank you very much.

(00:20:02):
Okay, so this recognition here was for Java Community Lifetime Achievement.

(00:20:08):
So let’s switch to talk about Java.

(00:20:09):
Okay.

(00:20:10):
What’s new in Java these days?

(00:20:11):
Java 25 is coming out mid September.

(00:20:14):
So that’s a couple of weeks away.

(00:20:16):
And so anything new in Java 25 that’s interesting to you?

(00:20:20):
There are actually a few things that are new and maybe even evolving that I’m truly

(00:20:27):
excited about.

(00:20:27):
There are several features, and I don’t want to lessen any one of them by mentioning a few.

(00:20:33):
But I think one of the things I’ve been keeping my eyes on very closely as it’s

(00:20:39):
going through the development is the structured concurrency and scoped values.

(00:20:45):
I think both of those are exciting to me,

(00:20:47):
mainly because structured concurrency is in a way built on top of virtual threads,

(00:20:53):
which is another exciting feature for me.

(00:20:55):
But structured concurrency is solving a set of problems that are very exciting to

(00:21:00):
solve,

(00:21:01):
divide and conquer problems and so on.

(00:21:03):
So I’ve been keeping an eye on that quite a bit.

(00:21:06):
The pattern matching syntax as it’s been evolving,

(00:21:09):
I think it’s very interesting to see the instance of,

(00:21:13):
for the primitive types,

(00:21:15):
I think that’s pretty exciting,

(00:21:16):
very useful as well.

(00:21:18):
The other thing that I’m keeping my eyes on

(00:21:20):
pretty nicely evolving is the compact source files and instance main method.

(00:21:27):
I think that is something that from my point of view,

(00:21:30):
so the other features are absolutely useful for experienced developers who are

(00:21:36):
writing production code,

(00:21:38):
but we also have a generation of people who are getting into Java.

(00:21:44):
And that’s what I like about Java is it’s focused on not only the senior

(00:21:49):
experienced programmers and production quality code,

(00:21:52):
but also the beginners or the people who are entering the field.

(00:21:56):
And in that regard,

(00:21:57):
I think that instance main method is something I’m really,

(00:22:01):
really super excited about.

(00:22:03):
I’ve been a critique of this for years earlier,

(00:22:05):
that when you start getting introduced to Java,

(00:22:08):
it’s like being hit by a bus.

(00:22:09):
You have to learn about so many things that you don’t need to know right now just

(00:22:15):
to even start with the hello world.

(00:22:18):
I think that main method feature is something I really truly respect as well.

(00:22:23):
So this is something to basically ease that on-ramp essentially.

(00:22:26):
Yeah.

(00:22:27):
It is really a way to ease the on-ramp.

(00:22:30):
But one of the things that,

(00:22:32):
you know,

(00:22:33):
it’s natural,

(00:22:33):
it’s genuinely a good question,

(00:22:35):
I think,

(00:22:36):
is I recently had an experienced developer who is maybe a little bit older than me,

(00:22:41):
maybe as old as me,

(00:22:43):
but clearly decades of experience with Java.

(00:22:47):
And this is not just the question from this one person that I’ve heard this from others.

(00:22:51):
And then honestly, a question I’ve raised myself in my mind is, is this useful?

(00:22:55):
We have written Java for decades.

(00:22:58):
We are comfortable writing these classes.

(00:23:00):
What’s the big deal?

(00:23:02):
And when this question was asked,

(00:23:04):
it dawned on me that’s a really good question to really have an answer for.

(00:23:08):
And my answer was,

(00:23:10):
We need to go back to think about the beginning days of Java.

(00:23:16):
So when Java was introduced, the world was predominantly using C++.

(00:23:23):
And I jokingly often say Java is C++ minus minus because it literally took

(00:23:33):
C++ and reduced so much of complexity that was in C++.

(00:23:40):
So for me,

(00:23:41):
I was programming actively in C++ when I got introduced to Java in the initial days

(00:23:49):
when Java was announced.

(00:23:51):
So when you are looking at Java in the beginning days of Java,

(00:23:56):
you are looking from this pile of the hill of complexity

(00:24:02):
into this beautiful valley of simplicity.

(00:24:06):
Now, that was very helpful for us.

(00:24:09):
So we were more eager to embrace the language because as it stood,

(00:24:16):
it was less complex than what we were programming in.

(00:24:21):
Fast forward 25,

(00:24:24):
30 years,

(00:24:25):
you have a group of people who don’t have that complexity on their back.

(00:24:32):
So your view is very different.

(00:24:35):
You’re not on that hill of complexity looking for something to be simplified.

(00:24:40):
You are being introduced to something that is overwhelming and complex to your eyes.

(00:24:46):
Because you have not had the journey of that complexity to begin with.

(00:24:53):
And I think that is the key here to really understand is that developers coming

(00:24:58):
into Java 30 years ago were coming from a very different perspective.

(00:25:06):
than the people coming into Java today.

(00:25:09):
And so if we don’t understand where people are coming from,

(00:25:14):
we will not be able to cater to the needs of those people.

(00:25:19):
And that is why I think this feature is extremely valuable is because Java was

(00:25:26):
attractive to the people in the past because they came from something a lot more

(00:25:31):
complex and difficult.

(00:25:33):
But the newcomers don’t come with the same background as the old people like me did.

(00:25:41):
And I think that’s why these features are extremely important for the language to

(00:25:45):
be approachable to the next generation of developers.

(00:25:49):
That’s really a beautiful way of putting it.

(00:25:51):
I mean,

(00:25:52):
I’ve been asking these questions in a similar way for a lot of interviews,

(00:25:56):
and this has been very helpful to me to hear all these different perspectives.

(00:26:00):
But what you said is incredibly helpful to understand because,

(00:26:04):
I mean,

(00:26:04):
I have a sense that these students learning Java now,

(00:26:08):
because these are young people,

(00:26:09):
they have a lot more tools than you had then,

(00:26:12):
but it’s a different world.

(00:26:13):
It’s a different market.

(00:26:14):
The tools are different, right?

(00:26:15):
Right.

(00:26:16):
Languages are different.

(00:26:17):
And it seems that some people said they had to learn a lot more.

(00:26:20):
They have to learn,

(00:26:21):
you know,

(00:26:22):
much more,

(00:26:22):
you know,

(00:26:23):
broad spectrum of technologies just because everything has grown so much over the

(00:26:28):
years.

(00:26:28):
Whereas it seems like the older developers had less to learn, but they had to go more deeply.

(00:26:33):
Because things were more complex, coming from C and C++.

(00:26:37):
I like C, but I really struggle with C++, I must tell you.

(00:26:42):
But that’s really a beautiful way of explaining it.

(00:26:45):
Very interesting.

(00:26:46):
You mentioned a little bit earlier that certain technologies have been evolving that you –

(00:26:51):
have been following in Java.

(00:26:53):
I’m interested in the word evolving.

(00:26:55):
What do you mean by that?

(00:26:55):
Is that like sometimes you can see these things in early access?

(00:26:58):
The project is deployed over multiple releases.

(00:27:03):
Is that what you mean by evolving?

(00:27:05):
Partly, yes.

(00:27:06):
A much stronger indication of this evolutionary nature of Java is in the pattern

(00:27:12):
matching syntax.

(00:27:14):
I still cherish the words that Brian gets used years ago.

(00:27:18):
I had given a keynote in DevOps Belgium.

(00:27:22):
And after the keynote,

(00:27:23):
Brian asked me,

(00:27:25):
so these are the things you’re excited about in languages.

(00:27:29):
And then he said,

(00:27:31):
especially you mentioned about pattern matching,

(00:27:33):
he said,

(00:27:34):
I’m going to give it to you.

(00:27:35):
This is the word I absolutely smile at every single day.

(00:27:39):
He said, I’m going to give it to you in three installments.

(00:27:43):
Well, it’s been more than three installments.

(00:27:45):
But at that time, and I was curious, I said, Brian, what do you mean three installments?

(00:27:51):
And he said, well, we are making the switch from a statement to an expression.

(00:27:55):
And then we’re going to take the switch expression

(00:27:58):
and then incrementally evolve it into a full blown pattern matching syntax.

(00:28:05):
I wrote the book recently called Cruising Along with Java.

(00:28:08):
And as you can see that I get excited, I talk about, I’m a person of analogies.

(00:28:14):
So when I started talking about pattern matching in the book, I gave the example of

(00:28:20):
Steve Rogers,

(00:28:21):
who was this puny little guy who didn’t have much strength,

(00:28:26):
failed being in an army.

(00:28:27):
And then they treat him with the serum.

(00:28:30):
And then he turns into this powerful Captain America.

(00:28:34):
Well, nothing illegal or painful was used in this experiment.

(00:28:38):
But this purely little switch statement,

(00:28:41):
look at how it turned into this powerful pattern matching syntax.

(00:28:45):
So I relate the pattern matching syntax to Captain America’s evolution,

(00:28:50):
if you will,

(00:28:51):
to draw the analogy.

(00:28:53):
But that’s kind of the beauty of this is to see through these patterns.

(00:28:57):
incremental changes,

(00:28:59):
not just the fact that they come as pre-release and then get finalized,

(00:29:02):
but actually being incrementally evolving in its capabilities as well is really

(00:29:09):
refreshing in my mind because you are able to start using certain things and then

(00:29:16):
you are able to come back and keep adding more capabilities to it

(00:29:21):
is much better than saying you wait for eight years to get everything versus you

(00:29:27):
can get them incrementally every six months.

(00:29:32):
I think that’s more beneficial to developers.

(00:29:34):
I feel that’s more agile in a lot of ways as well.

(00:29:38):
So that’s what I mean by evolutionary is you can reap the benefits along the way

(00:29:43):
rather than having to wait a long time to get them all.

(00:29:47):
And I think that’s very useful as a programmer myself.

(00:29:50):
I can really appreciate that,

(00:29:52):
even from just a non-developer perspective,

(00:29:55):
just running projects and just over the years working in different fields.

(00:29:59):
When I talk to technical people,

(00:30:01):
scientists and technologists and doctors and veterinarians,

(00:30:05):
I mean,

(00:30:05):
I’ve worked in multiple fields.

(00:30:06):
And one of the things that strikes me is they have a real understanding of

(00:30:10):
long-term thinking and order of operations.

(00:30:13):
You just can’t go to step 19.

(00:30:15):
You have to go one, two, three.

(00:30:19):
But that involves a level of sophisticated thinking to realize because there’s so

(00:30:23):
many things that are moving at the same time.

(00:30:25):
The world changes in every moment.

(00:30:28):
So if you want to release something five years from now,

(00:30:30):
how are you going to get there while everything is moving?

(00:30:34):
So you do these releases.

(00:30:37):
It’s very interesting.

(00:30:37):
Yeah.

(00:30:38):
Again,

(00:30:39):
talking about analogies,

(00:30:40):
I had this conversation with somebody who challenged me about this.

(00:30:45):
And sometimes it’s hard to see that you can be incremental.

(00:30:49):
You can be evolutionary.

(00:30:51):
And we have this notion in our mind that if you want to build something very large

(00:30:58):
and capable and significant,

(00:31:01):
you got to one shot at it.

(00:31:02):
So as I was talking about this incremental nature of development, I remember this conversation.

(00:31:08):
Somebody came to me and said,

(00:31:09):
yeah,

(00:31:09):
yeah,

(00:31:09):
yeah,

(00:31:09):
I know you are all thinking about incremental and evolutionary,

(00:31:12):
but if I’ve got to go to the moon,

(00:31:15):
I cannot be incremental about it because I can’t just say,

(00:31:18):
I’ll take a few steps and try.

(00:31:21):
And I looked at him and said,

(00:31:22):
oh,

(00:31:22):
my God,

(00:31:23):
I couldn’t have thought of a better example to be incremental because we were

(00:31:29):
extremely incremental going to moon.

(00:31:33):
We put John Glenn in space and see if he’s able to go around this space and land safely back.

(00:31:41):
We had the Gemini projects and then the Apollo projects.

(00:31:45):
If that’s not incremental, what else could ever be incremental?

(00:31:50):
So I think that is what we sometimes fail to understand,

(00:31:54):
is that incremental is actually the pathway to success.

(00:31:59):
And I would rather…

(00:32:01):
fail small and learn from those experience than to fail big.

(00:32:06):
And we tend to think that we cannot be incremental,

(00:32:09):
but even in something as significant as going to moon,

(00:32:13):
the history has shown us we were extremely incremental.

(00:32:18):
I think the best example,

(00:32:19):
I think it was the Tom Hanks,

(00:32:21):
I think it was Tom Hanks that made that series from the earth to the moon.

(00:32:25):
where he documented basically the whole program.

(00:32:29):
And from an engineering perspective, you see how these engineers iterated.

(00:32:33):
You build a rocket, it blows up.

(00:32:35):
Why did it blow up?

(00:32:36):
You got to tear it down.

(00:32:37):
You got to do all these different incremental steps.

(00:32:40):
Meanwhile, Kennedy’s out there saying, 1969, we got to go, right?

(00:32:43):
So…

(00:32:46):
So they had a deadline, but you can’t get to the deadline without 100,000 incremental steps.

(00:32:51):
And I loved that series for that reason.

(00:32:55):
It was an engineering, essentially engineering documentary.

(00:32:58):
Really, really cool.

(00:33:00):
Okay, so let’s wrap up here.

(00:33:01):
We’ll wrap up two ways.

(00:33:03):
So let’s talk a little bit about,

(00:33:05):
I always ask this question,

(00:33:07):
if it’s repetitive,

(00:33:08):
I apologize,

(00:33:08):
but it’s always insightful advice for students and new developers and

(00:33:14):
Or older people,

(00:33:16):
job changes,

(00:33:17):
you know,

(00:33:17):
you get laid off,

(00:33:18):
you’re a truck driver and you want to go,

(00:33:20):
you know,

(00:33:21):
you want to do something else.

(00:33:22):
I’ve had this experience myself, entering a new field, knowing nothing as an adult.

(00:33:28):
So you’ve been teaching students and you’ve been training older,

(00:33:32):
more experienced developers around the world for a long time.

(00:33:35):
So advice for students, what are you seeing these days that you could recommend?

(00:33:40):
Yeah.

(00:33:41):
Especially for students.

(00:33:43):
This is really hard because we are living in a very different time than we were

(00:33:48):
only five,

(00:33:49):
six years ago.

(00:33:50):
If you’re a student, the first thing I would say is reach out to people.

(00:33:56):
Reach out to people and have conversations with them.

(00:34:00):
I can’t tell you how many times I tell my students, here’s my Zoom link.

(00:34:04):
I tell them, here’s a link.

(00:34:06):
You click on it.

(00:34:07):
I pop in like a genie and I’m going to talk to you.

(00:34:11):
Make use of that, I tell my students all the time.

(00:34:14):
The other thing I actually sincerely say that is keep your cameras on.

(00:34:19):
The conversation is very different when you’re able to see the other person.

(00:34:24):
You know, I have conversation with a lot of my students.

(00:34:26):
And when they have their cameras on, we have a very enriching conversation.

(00:34:33):
They often are so curious.

(00:34:35):
They ask about other things.

(00:34:37):
They ask about, hey, what does it mean to speak in a conference?

(00:34:40):
What does it mean to…

(00:34:41):
be a programmer.

(00:34:43):
Hey, I’m looking for a job.

(00:34:44):
What should I do and what should I not do?

(00:34:46):
So they go a lot beyond the technical questions.

(00:34:50):
But on the other hand,

(00:34:51):
when they don’t have the cameras on,

(00:34:53):
it usually drains the energy very quickly.

(00:34:56):
The conversation lingers on, how do I fix this bug?

(00:34:58):
And we are done.

(00:34:59):
You know, these are the opportunities.

(00:35:02):
If you truly ask me, in my life, the most enriching opportunities have been

(00:35:08):
When I can sit next to somebody who is more experienced than I am and ask them

(00:35:14):
questions and see what their line of thinking is.

(00:35:18):
So make opportunity to mingle with people.

(00:35:22):
And the more you do, the faster your progress is going to be in the field.

(00:35:28):
That’s what I would tell young people,

(00:35:30):
especially students,

(00:35:32):
is interact with people more differently.

(00:35:34):
Have your videos on when you interact.

(00:35:36):
And the beauty is most videos give you virtual background these days.

(00:35:41):
It doesn’t mean to know what’s in the back.

(00:35:44):
You can turn the virtual background.

(00:35:46):
You’re going to have the audio anyways.

(00:35:48):
So it’s a question of video.

(00:35:49):
It shows you, but not who’s behind you.

(00:35:52):
So make use of the technology to communicate more effectively.

(00:35:56):
I think your experience will be more rewarding.

(00:35:58):
Great.

(00:35:58):
Now, what about for older people?

(00:36:00):
Career changers.

(00:36:01):
You must have seen these people at user groups.

(00:36:04):
You know,

(00:36:04):
the guy comes at a user group,

(00:36:05):
you know,

(00:36:06):
just he wants to learn something new,

(00:36:08):
wants to get into technology because for one of the reasons that I did is it

(00:36:12):
changes over so rapidly.

(00:36:13):
It provides on-ramps.

(00:36:16):
It provides opportunities to get in.

(00:36:18):
Yeah.

(00:36:18):
So the experienced folks,

(00:36:21):
I find it really rewarding when I see experienced people show up in user groups

(00:36:25):
because that’s heartwarming to see they are genuinely interested in learning and

(00:36:31):
continuously improving themselves as well.

(00:36:34):
But I would say…

(00:36:35):
We’re living in a very strange times with the influence of AI,

(00:36:39):
and we’re kind of wondering what’s this about.

(00:36:42):
As it turns out,

(00:36:44):
the AI is a tool,

(00:36:47):
but if I take my lawnmower,

(00:36:49):
which is a tool,

(00:36:51):
and wipe out the garden of a neighbor,

(00:36:54):
that’s not going to end up in good relationship and maybe other problems that it’s

(00:36:58):
going to lead to as well.

(00:37:00):
AI is a powerful tool, but we gotta be careful using it.

(00:37:04):
When you have young developers on your team who feel like they can do anything they

(00:37:09):
want because they have these tools,

(00:37:11):
what they don’t understand is that’s not a substitute for having good fundamentals.

(00:37:18):
This is an opportunity for you, the senior developer,

(00:37:21):
to engage the junior developers into more collaborative development.

(00:37:26):
And by doing so,

(00:37:28):
I always say it’s got to be a benefit for everybody,

(00:37:31):
otherwise we’re not going to do it.

(00:37:33):
So the young developers begin to learn that proper thinking and critical thinking is important.

(00:37:39):
They’re going to be able to learn that from you, the senior developer.

(00:37:42):
But as a senior developer, you also quickly begin to learn

(00:37:47):
that there are tools and techniques you’re not aware of,

(00:37:50):
but these young developers are able to drag them in because they’re so quick in

(00:37:56):
looking at different things.

(00:37:57):
So this becomes absolutely a fruitful experience for all of us together.

(00:38:02):
So engage more and collaborate more with the junior developers

(00:38:08):
And I often say that knowledge is a wealth that grows when it’s given.

(00:38:14):
You know, if I give you $10, I’m poorer by $10.

(00:38:18):
But if I share with you a little bit of what I know,

(00:38:20):
I never give you what I know because as I’m talking to you,

(00:38:26):
I’m going to start thinking.

(00:38:27):
do I understand this really well?

(00:38:30):
Or you are asking a question and that immediately triggers in my mind, oh my gosh.

(00:38:35):
I mean,

(00:38:36):
I cannot tell you honestly how many times I write notes when I’m talking to people

(00:38:41):
because I’m sharing with them what I know,

(00:38:44):
but that’s when I begin to hit the spots of not being clear about something or,

(00:38:49):
oh,

(00:38:49):
I need to really go in.

(00:38:50):
And I mean, this is something that happened two days ago.

(00:38:53):
I was telling something and somebody asked me a question.

(00:38:55):
I said,

(00:38:55):
oh my gosh,

(00:38:56):
I need to go back and look at that a little bit more because that’s a question I

(00:39:00):
haven’t thought through much.

(00:39:02):
So I’m going to go learn about that.

(00:39:03):
And I took notes about it.

(00:39:05):
And that to me is the rewarding experience is I never teach anyone without being a

(00:39:11):
student myself.

(00:39:12):
Right.

(00:39:13):
It’s reciprocal.

(00:39:13):
Exactly.

(00:39:14):
It’s absolutely right.

(00:39:16):
And so that to me is I teach because I learn.

(00:39:20):
And I always say I’m the first student in my classes.

(00:39:23):
So collaborate,

(00:39:24):
bring other developers because you end up learning by doing so than being in

(00:39:28):
isolation in solving your problems.

(00:39:31):
Beautiful.

(00:39:32):
Very beautiful.

(00:39:33):
I love it.

(00:39:34):
I’m going to take that advice to heart myself.

(00:39:36):
Congratulations again on the Java Community Lifetime Achievement Recognition.

(00:39:40):
It’s well-deserved.

(00:39:42):
And do you have any final thoughts or can we get out of here?

(00:39:46):
Well, thank you.

(00:39:46):
And I really appreciate it again.

(00:39:48):
I’m humbled to receive the award.

(00:39:50):
But to me, the community is the one that needs recognition.

(00:39:54):
And genuinely,

(00:39:55):
I mean this from the bottom of the heart,

(00:39:57):
that Java is special because it’s a great language with a fantastic community.

(00:40:05):
And I think that’s what holistically it makes that a great environment to be in.

(00:40:11):
And I’m genuinely proud and humbled and thankful and grateful for the opportunity

(00:40:16):
to be a member of this community.

(00:40:19):
I once said that Java is the passport to the world,

(00:40:23):
and I travel around the world,

(00:40:25):
and I am never alone.

(00:40:28):
anywhere in the world,

(00:40:29):
because there is always a Java developer I can reach out to and have a cup of

(00:40:34):
coffee and talk about the next exciting things that they do.

(00:40:39):
And to me, that is what truly that makes this a fun is because I’m not

(00:40:46):
just focused on technology, I’m focused on making friends.

(00:40:50):
And I’m so happy to have all these friends around the world that we call ourselves

(00:40:54):
as Java developers.

(00:40:55):
So I’m thankful to be around.

(00:40:58):
And thank you again, Jim, for having me on this one.

(00:41:00):
I genuinely am very sincerely thankful.

(00:41:03):
I appreciate that.

(00:41:05):
You’re welcome.

(00:41:05):
It was excellent as usual, very inspirational.

(00:41:08):
And you, just like the others, really inspire me.

(00:41:11):
Changed my life, actually, in many ways.

(00:41:14):
So listen, we’ll see you at Java 1 in March of 26.

(00:41:16):
Until then, you’ve got a busy schedule, I know.

(00:41:19):
Safe travels everywhere.

(00:41:21):
And we’ll see you around.

(00:41:24):
Thank you.

(00:41:24):
Appreciate it.