73-Trisha-Gee.txt

Trisha Gee: It’s all about Relationships and People
Jim Grisanzio with Trisha Gee
Duke’s Corner Java Podcast — August 18, 2025

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.

“It feels like a very personal thing from him … he’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 just doing stuff for themselves but 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 effort to help others and to be involved in the community.”

— Trisha Gee commenting about receiving the Java Community Lifetime Achievement recognition from Sharat Chander at Oracle.

https://dukescorner.libsyn.com/trisha-gee-its-all-about-relationships-and-people

Transcript:

(00:00:00):
Trisha, Trisha G. from Spain.

(00:00:02):
Welcome to Duke’s Corner.

(00:00:03):
Hello.

(00:00:04):
Thank you.

(00:00:05):
It’s nice to see you here.

(00:00:06):
We actually did an interview many years ago for an Oracle event, I think.

(00:00:11):
So you came across my radar again here when Char said he actually handed me a list

(00:00:17):
of this Job Community Lifetime Achievement recipients,

(00:00:20):
and you’re on the list.

(00:00:21):
And I’m going around talking to these community members to get their perspective on things.

(00:00:27):
And so that’s why we’re talking today.

(00:00:29):
First, congratulations.

(00:00:30):
I can see the award there in the background over your

(00:00:33):
Thank you.

(00:00:35):
I like to have it here to show people like, you know, people think I’m good at stuff.

(00:00:39):
Yeah, it’s very good.

(00:00:41):
So first of all, where was this?

(00:00:43):
When was this?

(00:00:43):
Take me there.

(00:00:44):
What was the scene like?

(00:00:46):
So it was in JFocus earlier this year, 2025, I believe.

(00:00:50):
So I was going to JFocus to give the closing keynote.

(00:00:53):
And often with conferences these days, I don’t really have time to go to the whole conference.

(00:00:57):
But for this one, I was there for the whole conference.

(00:00:59):
And the night before it all kicked off,

(00:01:01):
a number of Oracle folks came up to me and said,

(00:01:03):
you are going to the keynote tomorrow,

(00:01:04):
aren’t you?

(00:01:05):
And I was like, yeah, like, I guess so.

(00:01:07):
I’m here and I’m doing the closing keynote.

(00:01:09):
So it makes sense to go to the opening keynote so I can weave stuff into my story.

(00:01:13):
And after about the fourth person said to me, you’re going to the opening keynote, aren’t you?

(00:01:17):
I was like, what’s going on?

(00:01:20):
So this is Char making sure you’d be there, right?

(00:01:22):
Exactly.

(00:01:23):
So I get there and there’s like a seat with my name on,

(00:01:25):
which is not that normal,

(00:01:26):
although all the keynote speakers had a seat with their name on.

(00:01:28):
So I’m like, okay, that’s fine.

(00:01:30):
And then Charles starts saying,

(00:01:31):
you know,

(00:01:32):
he starts talking about how they’ve used JFocus to give out this community

(00:01:36):
recognition a number of times and who’s had it in the past.

(00:01:40):
And I was like, wait a minute.

(00:01:42):
And then I started to think,

(00:01:44):
because I’m a terrible person,

(00:01:45):
I started to think,

(00:01:46):
if I’m not getting this,

(00:01:47):
I’ll be really annoyed.

(00:01:49):
I got my hopes up really high.

(00:01:51):
And so then they said, you know, congratulations, come onto the stage, receive your award.

(00:01:55):
And it was a big surprise.

(00:01:56):
I mean, I talk about like, I had a bit of an inkling, but it was a big surprise.

(00:02:00):
So I quite often have to prep a lot before going on stage with my talk and what I’m

(00:02:04):
going to say.

(00:02:04):
And even if I’m introducing someone.

(00:02:06):
And so walking on stage with no prep, no warning was kind of like, oh, hi, everyone.

(00:02:12):
Thanks.

(00:02:13):
Bye.

(00:02:13):
Bye.

(00:02:16):
That’s interesting.

(00:02:16):
Well,

(00:02:16):
I just wanted to,

(00:02:17):
you know,

(00:02:17):
it’s interesting when I’m talking to these people about this award,

(00:02:21):
it really is a secret for everybody.

(00:02:22):
He’s doing a really good job.

(00:02:24):
And Char really believes very,

(00:02:26):
very,

(00:02:26):
this is,

(00:02:27):
you know,

(00:02:27):
Charth Chander,

(00:02:28):
you know,

(00:02:28):
who I work for at Oracle.

(00:02:29):
He really believes, and he’s been involved with Java really since the beginning.

(00:02:33):
For me,

(00:02:33):
it’s just more recently,

(00:02:34):
but he really believes in the community and really believes in the individual

(00:02:38):
people.

(00:02:39):
in the community, their ability to do really great things with this technology.

(00:02:44):
So, he’s always advocating for us and for you internally at Oracle.

(00:02:50):
And obviously, he did this at Sun as well.

(00:02:52):
So, he’s really a great steward for all the community.

(00:02:55):
So, this award really is coming from, he’s leading it, you know, in other words.

(00:03:00):
So, it’s really, really great.

(00:03:02):
it feels like a very personal thing from him like obviously it’s backed by the by

(00:03:05):
the folks there and all the java folks but um you know it does feel like it comes

(00:03:10):
from him and he’s such a huge powerhouse in the community he obviously he cares

(00:03:14):
about the technology but he understands that the technology isn’t enough it is

(00:03:18):
about individuals stepping up but not doing stuff for themselves doing stuff to

(00:03:22):
enable other people to empower other people and it’s

(00:03:26):
You know, it’s the community that makes it a great place to be.

(00:03:29):
And Shara is such a huge champion of that.

(00:03:31):
And he makes you feel really appreciated for making the efforts to help others and

(00:03:37):
to be involved in the community.

(00:03:39):
Yeah,

(00:03:39):
he’s a builder at heart,

(00:03:40):
you know,

(00:03:41):
just like an engineer is a builder at heart of code and stuff like that.

(00:03:45):
Or even in the construction business where I’m actually from,

(00:03:47):
you know,

(00:03:48):
you’re a builder at heart,

(00:03:49):
but he understands the concept of contribution.

(00:03:52):
So when you’re contributing to the community, you help it grow.

(00:03:55):
Other people are sharing and then you can actually grow the community.

(00:03:59):
Okay, lifetime achievement.

(00:04:01):
You’re still very young, but you must have been doing this for a long time.

(00:04:04):
Yeah.

(00:04:06):
Why did you win this?

(00:04:07):
What did you do to, you know, to garner this?

(00:04:11):
If I was,

(00:04:12):
if I was gonna be flippant,

(00:04:12):
which I often am,

(00:04:13):
I’d be like,

(00:04:14):
I’ve been doing it for a while,

(00:04:15):
and often downplay my achievements by saying there aren’t many women doing it.

(00:04:19):
So you know, women get the few women doing it get recognition.

(00:04:23):
But I feel like I’m working hard with my therapist to not downplay my achievements.

(00:04:28):
You know,

(00:04:28):
I’ve been doing sort of more outward facing stuff in terms of like presenting and

(00:04:33):
blogging and stuff since about 2011.

(00:04:35):
And I’ve been a Java developer since I started learning at university in 1997.

(00:04:43):
But I’ve been doing it professionally since about 2000.

(00:04:45):
So we’re talking 25 years of Java here.

(00:04:48):
So 25 years of Java plus like 15 years of going out.

(00:04:53):
And I’m going to use the word evangelizing,

(00:04:55):
like going out there and spreading the word and telling people,

(00:04:59):
telling developers,

(00:05:00):
you know,

(00:05:01):
what is Java all about?

(00:05:03):
Like what…

(00:05:04):
One of the things I like about this job is teaching people the tricks that I wish

(00:05:09):
I’d known a while ago.

(00:05:10):
So helping developers to be productive,

(00:05:13):
helping them to shortcut the learning process,

(00:05:15):
because,

(00:05:16):
you know,

(00:05:16):
you could go away and read all the documentation and read all the blogs and read

(00:05:20):
all the books,

(00:05:21):
but no one really has time for that when they’re a professional developer.

(00:05:24):
So one of the things I like to do is say, hey, you know, Java, whatever, 25 is coming out.

(00:05:29):
Here are the things that you as a developer are probably most going to use.

(00:05:34):
And so I did that a bunch for I did it when I worked at LMAX.

(00:05:38):
I did it when I worked at MongoDB.

(00:05:39):
I did it for JetBrains and I’m doing it for Gradle now.

(00:05:41):
So this is something I get paid to do,

(00:05:44):
but it’s something I’ve moved into doing from being a normal everyday developer

(00:05:50):
because I feel very,

(00:05:50):
very strongly about sharing the stuff that we learn and trying to make people’s

(00:05:54):
lives just that little bit easier.

(00:05:56):
Yeah, it’s interesting.

(00:05:57):
Actually, I think I spoke to you when you were at JetBrains.

(00:06:00):
So yeah, so that gets to what are you doing now?

(00:06:04):
You’re in Spain.

(00:06:04):
So what’s going on in Spain?

(00:06:06):
And what do you do now?

(00:06:07):
So I’m now head of developer advocacy at Gradle,

(00:06:11):
which is interesting because I’ve been resisting kind of resisting.

(00:06:15):
That’s not really the right word.

(00:06:16):
I’ve been satisfied with a lack of promotion for the past 15 odd years and just

(00:06:21):
being just being just a developer or just a developer advocate because I like I

(00:06:26):
like the hands on stuff.

(00:06:27):
I like hands on coding.

(00:06:29):
I like the tools.

(00:06:30):
delivering talks.

(00:06:31):
I like doing blogs and videos and content and stuff like that.

(00:06:34):
But now we’ve just got to a point where I’ve got so much knowledge in my head.

(00:06:38):
It’s not enough for me to just do content and share my knowledge that way.

(00:06:42):
I’m doing more strategic thinking for Gradle.

(00:06:45):
I’m doing more working with the marketing folks in terms of helping them figure out like

(00:06:50):
It’s one thing for a developer advocate to go off and say, here’s what’s new in Java.

(00:06:54):
It’s another thing for a senior advocate to work with the head of marketing to say,

(00:06:58):
our messaging to developers needs to be more like this.

(00:07:01):
We need to do less of this marketing speak and more of this developer speak.

(00:07:07):
And another thing I’m doing is working with the sales folks in terms of,

(00:07:10):
we are,

(00:07:11):
Gradle is a technical organization.

(00:07:12):
We have a technical solution, which is used by developers and CI teams and build teams.

(00:07:19):
But the sales folks need to talk to economic buyers of these large enterprises.

(00:07:24):
And so having worked in some of these large enterprises as a developer,

(00:07:27):
I can speak to some of the sales folks and say,

(00:07:29):
hey,

(00:07:30):
this is what the developers care about.

(00:07:32):
But the guys who are paying,

(00:07:34):
guys and girls who are paying for it,

(00:07:35):
they might not know what that means.

(00:07:37):
So this is kind of how you bridge that gap between what the developers care about

(00:07:42):
and what the people with the money care about.

(00:07:43):
Yeah.

(00:07:44):
This is really interesting for me because it’s still all the stuff I’m really passionate about.

(00:07:48):
What bothers developers?

(00:07:49):
What helps developers?

(00:07:50):
What’s going to enable them?

(00:07:51):
But it kind of is moving up the pyramid a little bit to how can I help the

(00:07:56):
organizations that hire developers do things that are more,

(00:08:00):
help their developers be more effective?

(00:08:02):
Obviously,

(00:08:02):
it’d be great if they could buy Gradle’s DevLocity tool,

(00:08:04):
but it’s not just about that.

(00:08:05):
It’s about how do you think about

(00:08:08):
how developers are adding value to your organization.

(00:08:10):
Because in most organizations,

(00:08:12):
even non-tech organizations,

(00:08:14):
the developers are adding value or saving cost.

(00:08:17):
And they’re not just a resource.

(00:08:19):
They’re an important part of your whole enterprise.

(00:08:22):
You know,

(00:08:22):
you can’t just swap them in and out and you can’t just like pay for this or buy one

(00:08:26):
of those.

(00:08:27):
You have to kind of understand that this is a creative endeavor and you need to

(00:08:32):
help these creative people to be creative.

(00:08:35):
And so that’s kind of where I’m going at the moment.

(00:08:36):
And it’s really…

(00:08:37):
It’s really interesting.

(00:08:38):
And it obviously allows me to think a bit more about how AI is impacting us as

(00:08:44):
well,

(00:08:44):
because obviously this is the big thing right now.

(00:08:48):
How is AI going to change our jobs as developers?

(00:08:51):
How is it going to help save costs in the industry?

(00:08:55):
And how do maybe we as developers,

(00:08:58):
how do we need to either change our skills or which skills do we need to lean on?

(00:09:03):
And how do you educate people who are paying for developers as to what can and

(00:09:07):
cannot be automated by things like AI tools?

(00:09:10):
Because it doesn’t do what they think it does.

(00:09:12):
It doesn’t just I mean, it writes code.

(00:09:14):
Sure.

(00:09:14):
But that’s not what developers do.

(00:09:15):
We don’t write code.

(00:09:16):
We solve problems.

(00:09:18):
And that’s a different kind of thing.

(00:09:20):
That’s really interesting you phrased it like that.

(00:09:22):
God, there’s so much I want to comment there.

(00:09:24):
First,

(00:09:24):
going back a little bit,

(00:09:26):
just hearing you describe your current position,

(00:09:28):
all the different people that you have to interact with,

(00:09:30):
it all sounds very,

(00:09:31):
very familiar.

(00:09:32):
I mean,

(00:09:33):
I remember at Sonos having these types of conversations,

(00:09:36):
trying to convince sales,

(00:09:37):
marketing,

(00:09:38):
legal,

(00:09:38):
all these different groups that

(00:09:40):
First of all, what is a developer?

(00:09:41):
And second, like an open source developer, because our projects were outside.

(00:09:45):
NetBeans, OpenOffice, Juxta, Solaris, Java, obviously, was the big one.

(00:09:51):
So you had your teams were constantly interacting across the firewall with massive

(00:09:56):
global communities.

(00:09:57):
And that entire ecosystem requires a totally different engagement mechanism than,

(00:10:02):
say,

(00:10:03):
just simply a customer,

(00:10:04):
simply a customer across the firewall.

(00:10:06):
You sound very passionate about what you’re doing as a developer and you’re

(00:10:10):
extending that into these other areas,

(00:10:13):
which is fascinating.

(00:10:14):
Did this passion come naturally when you were a little kid or is this more like

(00:10:21):
later in life you just discovered this?

(00:10:22):
Because you’re not speaking like this is just a job.

(00:10:26):
Right.

(00:10:27):
And because my job has evolved recently in the last year or two,

(00:10:32):
It’s something I think about a lot.

(00:10:33):
Is this the direction I want to go in?

(00:10:36):
The short way to answer that question is that I’m always looking to grow.

(00:10:39):
I’m always looking for growth.

(00:10:41):
I am constantly evolving and constantly growing.

(00:10:46):
So it’s not something,

(00:10:47):
if you’d asked me as a kid,

(00:10:48):
do I want to be talking to lots of different people inside

(00:10:52):
a tech organization and potentially talking to high powered people inside large

(00:10:56):
banks,

(00:10:57):
I’d be like,

(00:10:58):
no,

(00:10:58):
no,

(00:10:59):
I do not want to do that because talking to people was not something that was

(00:11:01):
really interesting to me.

(00:11:02):
I found people confusing, overwhelming and difficult to understand.

(00:11:07):
That’s kind of why I went into computers because I like computers because you,

(00:11:11):
you know,

(00:11:11):
you have a problem,

(00:11:12):
you have a set of rules to follow and then you can get the computer to do what you

(00:11:16):
want.

(00:11:17):
Over time, I’ve learned that, I mean, I still love coding.

(00:11:21):
Coding is my happy place.

(00:11:23):
Like if I really want to feel in control or not really in control,

(00:11:28):
you’re not in control when you’re coding.

(00:11:29):
If I want to go into my happy place and like do something which is satisfying,

(00:11:33):
I’ll write code because it’s kind of cool.

(00:11:35):
But over time, since I started off as a developer, I mean, I graduated when I was like 21.

(00:11:40):
I went into a full time Java developer position.

(00:11:43):
And really what I wanted to do was like sit down and write code.

(00:11:47):
And over time, I’ve realized the only way to be really effective at delivering something.

(00:11:52):
is to involve people you need to understand what are the requirements what are the

(00:11:56):
users doing what are the other people who are coding on your application doing what

(00:12:01):
are their expectations how can we best work together and so like bit by bit i’ve

(00:12:06):
learned that i came from being like i write my code i’m an individual developer

(00:12:11):
which is what i did at university uh to oh now i’m working with like two or three

(00:12:14):
more people to now we’re a bigger team now i work for

(00:12:17):
for Ford, which is a huge organization.

(00:12:19):
And my application has to work with other applications.

(00:12:23):
And, you know, it has to work for the dealers who are technically a different business

(00:12:28):
Ford and all these different things.

(00:12:30):
And you’re learning we’re not an island and you can’t just write a few lines of

(00:12:34):
code and it fixes everything.

(00:12:36):
It’s all about relationships and people.

(00:12:39):
So kind of as I’ve grown,

(00:12:40):
my comfort level with the sort of people I’m interacting has grown from,

(00:12:45):
OK,

(00:12:45):
the person on my team.

(00:12:47):
OK, the person on that team over there.

(00:12:49):
OK, some DevOps stuff.

(00:12:50):
OK, some other people, some of the users.

(00:12:53):
I used to work with some of the users inside Ford.

(00:12:55):
And then it grew to things like,

(00:12:56):
now I go to conferences and I speak to other developers at other organizations.

(00:13:00):
And now I’m like, well, speaking to other developers is great and I still want to do that.

(00:13:04):
But in order to really enable developers, we have to speak to the people who pay our salaries.

(00:13:09):
We have to speak to the people who control our lives, right?

(00:13:11):
So now I’m kind of figuring out how to speak to those folks so that they can

(00:13:16):
understand us and we can understand them.

(00:13:18):
And like, it’s really a selfish thing.

(00:13:20):
How can I help developers be happier?

(00:13:22):
Well,

(00:13:22):
I need to be able to speak to the folks who pay our salaries so that they can learn

(00:13:25):
what makes us happy.

(00:13:27):
So it’s kind of like a selfish growth thing, really.

(00:13:30):
But people are just another problem to solve.

(00:13:32):
It’s just a different type of language, a different level of code.

(00:13:37):
Actually, you mentioned that a couple of times, problem solving.

(00:13:40):
But that sort of way of you inquiring into this seems innate into you,

(00:13:45):
at least to a certain degree.

(00:13:47):
You’re driven to understand these things.

(00:13:49):
You’re driven to grow.

(00:13:50):
You’re driven to understand the complexity of the human side of it as well as the technical.

(00:13:56):
And it was interesting that you said AI is writing code,

(00:13:59):
but they’re not solving problems so much.

(00:14:01):
Humans are doing that.

(00:14:02):
Talk a little bit more about that.

(00:14:03):
I’m interested in that.

(00:14:04):
The kind of naive,

(00:14:05):
I don’t mean naive in a bad way,

(00:14:07):
naive approach to looking at Gen AI is that it generates code,

(00:14:12):
it creates code,

(00:14:12):
it must write code.

(00:14:14):
The naive way of thinking about what developers do is that we generate code, we write code.

(00:14:19):
But it’s not the same thing.

(00:14:21):
The average number of lines of code written by a developer has always been around

(00:14:25):
about 11 lines a day.

(00:14:27):
so if we wanted to write code faster i’m sure we could have written code faster the

(00:14:33):
fact is it’s not the writing of the code the typing of the code that really slows

(00:14:36):
us down it’s understanding what is the real problem what are the weird edge cases

(00:14:42):
how do i get it to fit inside my current application what design patterns do we

(00:14:46):
have how do i how do i make that work for me and that’s like loads and loads of

(00:14:51):
thinking and breaking stuff down

(00:14:53):
into a shape which kind of works for the computer,

(00:14:56):
works for the existing application,

(00:14:57):
works for our team,

(00:14:58):
and then doing stuff like testing and documentation and all the rest of it.

(00:15:01):
So what’s interesting about Gen.ai is that the lines of code that’s created,

(00:15:07):
we can critique them however we want.

(00:15:09):
We wouldn’t have written it that way.

(00:15:10):
We wouldn’t have done it that way.

(00:15:11):
But the thing that’s complicated about using Gen.ai is still doing that breakdown

(00:15:15):
of,

(00:15:15):
dear Gen.ai,

(00:15:17):
I would like to create this feature

(00:15:19):
The design patterns I have are these.

(00:15:21):
I want it to be over here.

(00:15:23):
I want it to look this way.

(00:15:24):
I need you to think about the test cases and don’t forget about this weird edge

(00:15:28):
case where this customer wants to do that thing.

(00:15:31):
Right.

(00:15:31):
And that’s the thing that takes all the time.

(00:15:33):
And that’s the thing that some people tend to think,

(00:15:36):
well,

(00:15:36):
maybe we don’t need developers for that.

(00:15:38):
We use business analysts for that and we use technical architects for that.

(00:15:41):
And we can just scale by having loads more Gen AI.

(00:15:44):
And I think we can scale with Gen AI.

(00:15:47):
But there’s still a developer skill set of,

(00:15:50):
okay,

(00:15:51):
the customer said I want a red button,

(00:15:52):
but I needed to find out what is a red button?

(00:15:54):
Why do you want a red button?

(00:15:55):
Does it have to be red?

(00:15:56):
What is it you’re trying to do?

(00:15:58):
What sort of report do you want?

(00:15:59):
Why do you want that report?

(00:16:00):
And what numbers do I actually have?

(00:16:02):
What can I really give you to solve the problem?

(00:16:05):
And maybe Gen AI will move closer to that kind of space.

(00:16:08):
But generally, Gen AI is going to say, OK, I’ll give you a red button.

(00:16:11):
And that’s the job of the developer has never been to write the red button.

(00:16:15):
The job of the developer has always been to say, what do you really want?

(00:16:19):
And how can I give it to you within the constraints of the existing system,

(00:16:23):
organization and team?

(00:16:25):
I’ve asked a lot of people this question before.

(00:16:27):
I don’t think I’ve gotten an answer like that.

(00:16:28):
So that’s really thoughtful.

(00:16:30):
It makes me feel better too, actually.

(00:16:32):
I was literally going to think,

(00:16:33):
I was thinking about writing,

(00:16:35):
creating a video today for like,

(00:16:37):
what are the skills that developers really need for working with AI?

(00:16:40):
So I’ve been thinking about this a bunch, but I really believe it.

(00:16:44):
I really think it applies.

(00:16:46):
I can remember, I was on the Open Solaris project at Sun, and back then we were in the kernels.

(00:16:52):
I was in kernel meetings.

(00:16:54):
And it’s not like I’m going to be offering much in a kernel meeting, I can assure you.

(00:16:57):
However,

(00:16:58):
I was observing these engineers and their discussions,

(00:17:01):
and sometimes they go on for hours.

(00:17:03):
in terms of analyzing a problem and trying to break it down and things like that.

(00:17:07):
And my manager at the time was an engineer, you know, she was a former coder.

(00:17:11):
And so,

(00:17:12):
you know,

(00:17:12):
she became a manager and her real skill on that team was her ability to question

(00:17:19):
the engineers.

(00:17:20):
You know,

(00:17:21):
like the Socratic,

(00:17:22):
you know,

(00:17:22):
platonic method of going back and forth,

(00:17:23):
back and forth,

(00:17:24):
back and forth.

(00:17:24):
And they got deeper and deeper and deeper and deeper into the problem.

(00:17:28):
And oftentimes,

(00:17:29):
the engineers would comment to Bonnie,

(00:17:31):
you know,

(00:17:31):
actually,

(00:17:32):
they would say,

(00:17:32):
that’s a really good question.

(00:17:33):
I hadn’t thought about that.

(00:17:36):
Okay, now we can go in this direction here.

(00:17:38):
And then they would move in this direction here.

(00:17:41):
And then, you know, Bonnie would come up with three or four more questions on that new fork.

(00:17:45):
Yeah.

(00:17:45):
And it was fascinating to see where they were going.

(00:17:48):
I was understanding,

(00:17:49):
well,

(00:17:49):
most of it was in English and I could follow it,

(00:17:51):
but I just thought that process was very,

(00:17:53):
very interesting.

(00:17:54):
And you’re saying something very similar here.

(00:17:59):
The best genius I’ve ever worked with ask really good questions.

(00:18:04):
And that’s where, like this idea of,

(00:18:07):
Asking questions and not taking anything for granted is not just for senior experienced people.

(00:18:13):
It’s a mindset that we need to come with.

(00:18:16):
And this is why I’m not worried about losing junior developers yet,

(00:18:20):
because we can still hire juniors who go,

(00:18:22):
why did you do it that way?

(00:18:23):
What are we doing this for?

(00:18:25):
It’s a really good skill.

(00:18:26):
Yeah, the art of asking questions.

(00:18:28):
I used to take notes in those meetings about the process that was taking place in

(00:18:33):
front of me,

(00:18:34):
not to forget what’s happening here.

(00:18:36):
Fascinating.

(00:18:37):
So yeah, I think you should make a video on this.

(00:18:39):
I think it would be very, very helpful to people.

(00:18:41):
All right, let’s talk about Java for a little bit here in terms of Java itself.

(00:18:44):
Why Java?

(00:18:45):
What’s so special about Java?

(00:18:47):
It’s 30 years old this year.

(00:18:50):
Everybody I talk to is very happy in general with the evolution of Java.

(00:18:56):
Things ebb and flow.

(00:18:57):
Obviously,

(00:18:57):
you have good times and bad times,

(00:18:59):
but the language has kept up and superseded in many areas.

(00:19:03):
And it’s as relevant today as it ever has been, if not more.

(00:19:08):
And that says a lot about the investments that the entire community makes,

(00:19:12):
and Oracle and Sun years ago,

(00:19:14):
and customers as well,

(00:19:16):
and all the vendors and the companies within the ecosystem.

(00:19:20):
And yet it somehow works.

(00:19:22):
I mean, it’s a big complex thing there.

(00:19:25):
It somehow works.

(00:19:26):
And Java 25 is now coming out in a few weeks, in mid-September, next month.

(00:19:32):
So why?

(00:19:33):
Why Java?

(00:19:33):
What makes Java so special?

(00:19:35):
There’s a number of things.

(00:19:36):
I think it’s a combination of the technology and the community.

(00:19:39):
So technically, it’s interesting.

(00:19:42):
So I learned it at university in 97 when it was very, very new.

(00:19:46):
And one of the reasons we learned it was because it was free,

(00:19:50):
because it was cross-platform,

(00:19:51):
because lots of people at that time didn’t necessarily have their own computers,

(00:19:55):
but we would be using a range of different computers at universities.

(00:19:59):
And so it had to be something that would run anywhere.

(00:20:02):
So that’s kind of write once,

(00:20:03):
run anywhere is one of the things that kind of helped it get started.

(00:20:06):
And then when I ended up doing it professionally, I was writing Java at Ford.

(00:20:10):
Before then,

(00:20:10):
there’d been a Microsoft shop,

(00:20:12):
but they had a whole bunch of like Unix machines lying around and lots of different

(00:20:16):
bits of hardware.

(00:20:17):
And they didn’t want to have to buy Windows machines all the time to run the Microsoft stuff.

(00:20:21):
So they switched over to Java as well because it was free.

(00:20:26):
It would run on any of their machines.

(00:20:28):
And then that leads on to the second thing,

(00:20:30):
which makes it really popular as well,

(00:20:31):
like the community and the ecosystem,

(00:20:34):
which are kind of combined,

(00:20:35):
really.

(00:20:35):
Yeah.

(00:20:37):
When I was at Ford,

(00:20:38):
you’d be able to get free open source tools to do stuff,

(00:20:40):
which you wouldn’t be able to get in those days for the Microsoft stack.

(00:20:44):
We were able to use free IDEs.

(00:20:46):
We were able to use free application servers and things like that.

(00:20:51):
And they did what we needed.

(00:20:52):
And then if we really wanted something to be like really hardened and supported,

(00:20:57):
you can also pay for that as well.

(00:20:58):
So you had this flexibility of being able to use free tools and

(00:21:01):
but also being able to pay for the kind of support that an enterprise needed.

(00:21:05):
Combined with that is the community.

(00:21:06):
So when I started back then, we were using JSPs and servlets.

(00:21:12):
And then I moved to another much smaller organization and they said,

(00:21:16):
and at that time we were using struts and they were like,

(00:21:18):
have you heard of this spring thing?

(00:21:20):
And so I started looking at spring and spring is one of these amazing things

(00:21:24):
because it came out of the community.

(00:21:26):
You know, it kind of played to a lot of the strengths of Java in terms of understanding what

(00:21:29):
what people were really using in terms of at that time,

(00:21:32):
like servlets and JSPs and adhering to the standards that existed,

(00:21:36):
because of course,

(00:21:36):
we also had certain levels of standards,

(00:21:39):
but also being open source,

(00:21:42):
being reactive to what developers needed,

(00:21:43):
being reactive to what was required in the community and building an ecosystem,

(00:21:49):
which worked for the majority of Java developers.

(00:21:52):
And to me, that’s an indication of generally the community.

(00:21:55):
It kind of

(00:21:56):
something that’s required will grow out of the community.

(00:21:59):
We end up with things like,

(00:22:00):
you know,

(00:22:00):
Hibernate and we have things like,

(00:22:02):
well,

(00:22:02):
like I mentioned,

(00:22:03):
Spring and obviously things like Gradle,

(00:22:06):
which came along,

(00:22:06):
Maven,

(00:22:07):
Gradle,

(00:22:07):
all these kinds of tools which came up later to go,

(00:22:09):
right,

(00:22:10):
there’s a problem which is driving me crazy.

(00:22:12):
And someone like Hans Doctor goes away and builds Gradle, which can do the build system,

(00:22:17):
and dependency management,

(00:22:19):
you know,

(00:22:19):
and then eventually scale that into something kind of crazy.

(00:22:22):
So this is one of the things I really love about the Java ecosystem because it’s

(00:22:27):
the language is really good,

(00:22:29):
runs everywhere.

(00:22:30):
I haven’t even mentioned the JVM and the performance of the JVM, which is excellent.

(00:22:34):
And then we’ve got the ecosystem of open source,

(00:22:36):
but also standards,

(00:22:37):
which stops things going absolutely crazy.

(00:22:40):
And the ecosystem,

(00:22:41):
of course,

(00:22:41):
kind of lends itself to allowing individuals to make a difference.

(00:22:45):
So an individual comes around and goes, OK, well, I’m going to create this thing called Spring.

(00:22:48):
I’m going to create this thing called Gradle.

(00:22:50):
And they put it out there for the community.

(00:22:53):
They don’t go, I’m just going to make a boatload of money on this.

(00:22:55):
They go, this is helping me.

(00:22:57):
Let me see if I can help other people.

(00:22:58):
And we can all raise the boat together.

(00:23:01):
And that’s the thing I really love about the Java community.

(00:23:03):
It feels like whoever you are, whatever kind of programmer you are,

(00:23:07):
whatever you’re doing,

(00:23:08):
whether you work for a big enterprise,

(00:23:09):
you’re working on your own open source stuff,

(00:23:11):
or you’re just starting out,

(00:23:13):
there’s something there for you.

(00:23:15):
And there’s, you know, there’s a kind of inclusion in all of that.

(00:23:18):
Like, we’re all here, we’re all here to help each other.

(00:23:21):
And that is a very difficult thing to leave behind and go somewhere else.

(00:23:25):
Because, you know, we’re all here in this comfortable zone.

(00:23:27):
It’s interesting.

(00:23:28):
I mean, you just mentioned a whole bunch of things that were all massive contributions.

(00:23:32):
Yeah.

(00:23:33):
massive contributions.

(00:23:34):
I mean, that’s, I think that’s, I mean, I do a whole presentation on, on building communities.

(00:23:39):
And one of the core principles is contributing,

(00:23:41):
like we were talking about with Bichar earlier,

(00:23:43):
scratching that itch,

(00:23:45):
what’s necessary,

(00:23:45):
this is driving me crazy,

(00:23:46):
I’ll just go create a new,

(00:23:48):
you know,

(00:23:48):
something new,

(00:23:49):
so I can solve this problem.

(00:23:50):
And it turns out that that helps out millions of people,

(00:23:53):
you know,

(00:23:54):
all over the world,

(00:23:54):
really,

(00:23:55):
really fascinating.

(00:23:56):
You mentioned the JVM.

(00:23:57):
So the JVM is good stuff?

(00:23:59):
I love the JVM.

(00:24:00):
I didn’t really realize, you know, I was just used to using Java and Java’s kind of fine.

(00:24:04):
But when I was working for a low latency trading platform in London,

(00:24:07):
I worked there 2008 to 2012,

(00:24:11):
I think.

(00:24:12):
We were using Java and everyone looked at us like we were crazy.

(00:24:14):
Why would you do low latency, high performance stuff in Java?

(00:24:18):
And they said, well, firstly, because there’s a lot of Java developers out there.

(00:24:21):
So they’re easy to hire and they’re

(00:24:23):
The right amount of affordability.

(00:24:26):
And secondly, the JVM is designed for performance.

(00:24:29):
You don’t have to write weird C code to get good performance.

(00:24:33):
So the CTO of this organization I was working for,

(00:24:36):
he still says now,

(00:24:37):
like,

(00:24:38):
you know,

(00:24:38):
15 years on from this.

(00:24:40):
If you write good readable Java code with small methods,

(00:24:44):
not too many nested like conditionals or any too many weird for loops,

(00:24:49):
you’ll get good performance from Java out of the box.

(00:24:51):
You’ll get better performance out of the box than writing it in anything else.

(00:24:55):
Sure.

(00:24:55):
If you want something to be really,

(00:24:56):
really,

(00:24:57):
really low latency,

(00:24:59):
you could probably write some esoteric C code,

(00:25:01):
which will be like really fast,

(00:25:03):
but it’ll take you much longer to write that code.

(00:25:06):
And it will not necessarily give you the performance improvements that you want.

(00:25:09):
You want to be able to get something out there that’s fast straight away.

(00:25:13):
And you don’t want to have to hire a whole bunch of specialist performance people.

(00:25:16):
You just want to write,

(00:25:17):
you want to hire people who can write good,

(00:25:20):
clean code with good test coverage and

(00:25:22):
who can understand how to performance test some code and you can get that with Java.

(00:25:26):
A lot of that is the JVM because the JVM is really well written and it does all the

(00:25:30):
optimizations and real-time,

(00:25:32):
runtime optimizations and inlining and using CPU instructions.

(00:25:37):
And it does all of that stuff.

(00:25:39):
so that we don’t have to do that stuff.

(00:25:41):
And that is something as well that I think about to come back to some of the AI stuff.

(00:25:46):
There’s an argument that maybe like AI will start writing machine code.

(00:25:49):
Like, well, why would you need to do that?

(00:25:51):
Because you get the AI to write decent Java code.

(00:25:54):
The JVM has got 30 years of development experience in there by some of the best

(00:26:00):
engineers on the planet.

(00:26:02):
Why would you start from scratch and try and teach an LLM how to write ones and

(00:26:05):
zeros when they can write readable Java code

(00:26:08):
that runs efficiently on the JVM.

(00:26:10):
We don’t need to do that.

(00:26:12):
That’s really great.

(00:26:12):
That gives me a lot of confidence for the future, actually.

(00:26:15):
What about Java 25?

(00:26:17):
Java 25 is just a few weeks away, like I mentioned.

(00:26:19):
Is there anything coming up in the recent builds or recently that you especially

(00:26:25):
like or that’s especially helpful?

(00:26:28):
It doesn’t have to be released right now,

(00:26:29):
but just in the last year or so,

(00:26:31):
is there anything from a technical perspective that’s been especially helpful?

(00:26:35):
I think, so I’m not as on top of each individual release as I used to be.

(00:26:39):
When I worked at JetBrains,

(00:26:39):
I’d have to know what was coming in each release and I’d have to demo it and I’d

(00:26:42):
have some example code and have a really good idea of like what was cool and what

(00:26:47):
wasn’t for me particularly.

(00:26:48):
But in some ways, that distance gives me a different lens to answer that question.

(00:26:53):
Since we moved to two releases a year,

(00:26:56):
we’ve been able,

(00:26:57):
we,

(00:26:57):
or basically the Java folks,

(00:26:59):
have been able to release incremental steps towards improving the language and the

(00:27:05):
JVM without having to do like a big piece of work and then release it in a version

(00:27:10):
of Java.

(00:27:11):
And there’s a number of examples I can think of.

(00:27:13):
One,

(00:27:14):
the ability to split Loom into a series of different deliverables which are going

(00:27:19):
to improve concurrency.

(00:27:20):
I think in the past,

(00:27:21):
people would have thought,

(00:27:22):
I have to sit down and rewrite all of concurrency and deliver everything.

(00:27:27):
And I think it never would have been done.

(00:27:29):
But thinking about it in terms of what can we incrementally release,

(00:27:32):
how can we separate this into individual things,

(00:27:34):
has allowed the engineers to make incremental improvements that can be used by

(00:27:39):
developers.

(00:27:40):
and then iterate on that and dog food it and get feedback from people to figure out

(00:27:45):
the right way forward.

(00:27:46):
Another few things which are really interesting.

(00:27:48):
So I haven’t had a chance to play with Loom yet,

(00:27:49):
but it’s one of the things I really want to look at.

(00:27:52):
All the pattern matching stuff,

(00:27:53):
giving me all of the individual changes that have come with pattern matching.

(00:27:57):
The first one, pattern matching for instance of, was a couple of years ago or whenever it was.

(00:28:01):
And I remember looking at that going, well, that’s kind of a small change.

(00:28:04):
Like what’s the big deal?

(00:28:05):
But then you start to roll out pattern matching to this and then to case statements and then to

(00:28:10):
you know, all these different things.

(00:28:12):
And as a developer,

(00:28:13):
as a Java developer,

(00:28:14):
you can get used to the idea of how pattern matching works little by little.

(00:28:18):
And the engineers who are working on the language can kind of gradually roll it out

(00:28:22):
and figure out what works and what doesn’t.

(00:28:24):
So generally speaking,

(00:28:26):
what I’m really happy about with Java is we get two releases a year,

(00:28:29):
we get small incremental releases,

(00:28:31):
and each one has a

(00:28:33):
at least one thing in it which is kind of cool and new and maybe syntax that we

(00:28:37):
haven’t used before or maybe a performance under the covers.

(00:28:39):
We’ve got new garbage collectors which are improving all the time.

(00:28:43):
And on top of that,

(00:28:44):
what’s been really interesting to see is,

(00:28:46):
and I think I spoke to Brian Getz about this when I saw him at one of the

(00:28:49):
conferences,

(00:28:51):
There was a hypothesis that maybe when it moved to two releases a year,

(00:28:55):
the first couple of releases would have a lot of features in.

(00:28:58):
But then after that, people would kind of run out of things to work on.

(00:29:01):
But in actual fact,

(00:29:02):
moving to two releases a year meant that it just became more normal to work on

(00:29:06):
small features and small batches and iterative and get used to this idea of little

(00:29:11):
by little improving the language.

(00:29:13):
And we can see each release has like a whole boatload of features in.

(00:29:17):
And I think that’s really cool.

(00:29:18):
That’s really interesting.

(00:29:19):
What you’re really describing is a roadmap.

(00:29:21):
I mean,

(00:29:21):
it’s like you developers and also the people at Oracle,

(00:29:25):
all the engineers working on this,

(00:29:28):
is you can think more into the future.

(00:29:30):
You have your roadmap begin to break things up.

(00:29:32):
And also, you can adjust.

(00:29:35):
If you’re working on something,

(00:29:36):
this big,

(00:29:37):
massive project that’s,

(00:29:38):
you know,

(00:29:39):
a million lines of code or whatever it is,

(00:29:40):
you’re going to release it in five years from now.

(00:29:42):
Well, the world changes next year, right?

(00:29:45):
And if you get it wrong, you’ve got it really wrong.

(00:29:47):
Exactly.

(00:29:47):
And it could kill you.

(00:29:48):
Exactly.

(00:29:49):
I’ve been looking at Dora metrics lately because a lot of what Gradle does kind of

(00:29:54):
is more in the DevOps and delivery side of things.

(00:29:56):
One of the key capabilities to improve your Dora metrics are small batch sizes.

(00:30:00):
And that applies at every scale,

(00:30:02):
whether it’s a small feature in a release or whether it’s like committing regularly

(00:30:06):
every day.

(00:30:07):
Doing things in a small incremental way allows you to get faster feedback,

(00:30:12):
allows you to iterate and allows you to deliver something better.

(00:30:15):
And I think we can really see that in the two releases a year with Java.

(00:30:18):
I think it’s really helped the language and I think it’s helped the users of the

(00:30:22):
language,

(00:30:22):
but I think it’s probably helped the engineers of Java as well.

(00:30:25):
Cool.

(00:30:25):
That sounds great.

(00:30:27):
Any advice for students getting involved in Java or even people older, like a career change?

(00:30:33):
And looking at this for the first time, Java today is not what it was, Java 20 years ago.

(00:30:41):
It seems to me from all the people I talk to that the on-ramp is much, much easier.

(00:30:45):
We have a lot of tools.

(00:30:46):
The language itself is progressing to make things easier.

(00:30:49):
What about how you learned Java years ago versus how people are learning it now?

(00:30:53):
Right.

(00:30:54):
So I learned in I learned in 97, like I said, and there was no IDE then.

(00:30:59):
I learned using by from the command line using the compiler.

(00:31:04):
I did already know programming,

(00:31:05):
though,

(00:31:05):
because I learned basic when I was about nine and I learned at school in high

(00:31:11):
school,

(00:31:11):
I learned Turbo Pascal.

(00:31:13):
when i was like 16 so turbo pascal was interesting because i had an ide and i had a

(00:31:17):
tooling environment and then moving to java was a bit like why am i doing it this

(00:31:21):
way but yes so the way that we learned back then is different to the way that we

(00:31:25):
might learn now i do have to do a tiny plug which is that i i worked on headfirst

(00:31:29):
java third edition with burt bates and headfirst java is still one of the best ways

(00:31:35):
to learn java really it’s

(00:31:37):
Yeah, definitely.

(00:31:38):
It’s not… It still assumes a certain familiarity with the idea of programming.

(00:31:43):
I think there’s a headfirst programming as well, which is kind of worth looking at.

(00:31:46):
But I was just teaching my nine-year-old how to code Java, obviously.

(00:31:50):
And I was teaching her a little bit differently from the way that I learned.

(00:31:53):
Firstly…

(00:31:54):
I did show her IntelliJ IDEA as the IDE.

(00:31:57):
Now I worked for JetBrains for years.

(00:31:59):
I was a developer advocate for IntelliJ IDEA, so I’m 100% biased.

(00:32:03):
I also have a book about learning how to use IntelliJ IDEA.

(00:32:05):
But what I wanted to see is I wanted to see my nine-year-old’s experience using an

(00:32:10):
IDE to see if that was going to help her.

(00:32:13):
or if it was going to make it get in the way of her learning.

(00:32:17):
And she gets the IDE straight away.

(00:32:19):
She understands.

(00:32:20):
Like I taught her some live templates so that it would,

(00:32:23):
you type S out and it gives you system out printland.

(00:32:26):
And I was like,

(00:32:26):
if that’s too scary or confusing,

(00:32:28):
or if you can’t remember,

(00:32:29):
don’t worry about it.

(00:32:29):
But she’s like, no, no, she uses that everywhere now.

(00:32:31):
So

(00:32:32):
Life templates for some of this boilerplate that Java’s been so criticized for.

(00:32:36):
Like, she doesn’t care about the boilerplate.

(00:32:38):
She’s like, okay, I’m just not going to look at that stuff right now.

(00:32:41):
And I know the boilerplate is going away over time as well.

(00:32:43):
But I taught her in a fairly classical way.

(00:32:45):
I gave her, you know, a main class with a public static void main and a system at Printland.

(00:32:51):
And she was like, okay.

(00:32:53):
And she went away and she did a few more of those things.

(00:32:56):
She wrote a method inside her main class.

(00:32:59):
And she got the idea of flow of control.

(00:33:03):
The IDE was telling her when she had some compiler errors.

(00:33:05):
And so she kind of, she picked it up bit by bit.

(00:33:10):
And we’ve done like three or four sessions now.

(00:33:11):
Each session is only about half an hour.

(00:33:13):
So like, you don’t want to overwhelm a nine year old too much.

(00:33:16):
But on about the third session, then I started teaching objects.

(00:33:19):
This is a person object.

(00:33:20):
What does a person have?

(00:33:22):
Like an age and a name.

(00:33:23):
This is how you create a person.

(00:33:24):
This is how you get the name and the age.

(00:33:26):
All of those things are things that if you kind of teach them in the right order

(00:33:32):
with the right context,

(00:33:32):
people kind of get that straight away.

(00:33:35):
I did give her headfirst Java as well.

(00:33:37):
So I was like, hey, look, this is where we are.

(00:33:39):
We’re doing ifs and loops.

(00:33:41):
This is where we are in headfirst Java.

(00:33:43):
So she went away and she read some of that.

(00:33:44):
She’s nine.

(00:33:45):
She read…

(00:33:47):
She read headfirst Java and she she typed in the examples from from the code.

(00:33:52):
She figured out which things compile and which things don’t compile.

(00:33:56):
So, yeah, so I was like really dogfooding headfirst Java on my nine year old.

(00:33:59):
I also gave her I gave her the IntelliJ book.

(00:34:01):
But when I gave her that, I was like, I don’t think this is really nine year old material.

(00:34:05):
So I guess what I’m trying to say is things have changed a bit since I learned how

(00:34:08):
to code,

(00:34:08):
but not that much.

(00:34:09):
You can teach the old school way of like, here’s a main method.

(00:34:13):
Here’s a bunch of boilerplate that you don’t need to worry about.

(00:34:16):
Here’s what an object is.

(00:34:17):
This is what classes are.

(00:34:18):
You don’t need to teach the compiler.

(00:34:20):
You don’t need to teach things like this is a Java class.

(00:34:23):
This is a Java file.

(00:34:24):
This gets compiled down to a class file.

(00:34:25):
You can skip over a bunch of that to begin with.

(00:34:28):
And you can teach the basics of the IDE to help lighten the mental load for someone

(00:34:33):
learning it for the first time.

(00:34:35):
I would like to start teaching her some of the simpler stuff.

(00:34:39):
I tried her with the REPL, but the REPL wasn’t working when I tried to get it to work.

(00:34:42):
I would like her to try it with some of the more streamlined syntax that I know is

(00:34:46):
coming in or has come in for learning Java.

(00:34:49):
But it didn’t really get in the way too much.

(00:34:52):
So yeah,

(00:34:52):
I think that someone who’s motivated to learn,

(00:34:55):
someone who has somewhat algorithmic way of thinking,

(00:34:59):
someone who kind of like…

(00:35:01):
is just interested in doing this you can you can use it there’s so many resources

(00:35:05):
for learning stuff nowadays and you don’t have to worry about like oh but in python

(00:35:10):
you do it this way and in javascript you do it that way like just pick a way which

(00:35:13):
works for you and and pick it bit by bit the other thing that i think is really

(00:35:17):
interesting is there’s so many more different ways of learning these days if

(00:35:21):
reading is a struggle for you so i know plenty of kids in particular who have a bit

(00:35:26):
of difficulty reading or i live in spain right so english is not their first

(00:35:30):
language then there’s a whole bunch of youtube channels and you can learn more

(00:35:35):
visually you don’t have to just like

(00:35:37):
read dry code on a piece of paper you can see interactively how things are going to

(00:35:42):
work and i think that’s cool i think that opens up so many more opportunities for

(00:35:46):
different types of people to learn in different ways there is no one true way and

(00:35:51):
it’s absolutely fine to come at it from whichever angle works for you and then fill

(00:35:55):
in the gaps as you go and that’s absolutely fine and we shouldn’t be snobby about

(00:35:58):
that

(00:35:59):
That’s really, I’m glad you mentioned that.

(00:36:01):
It’s very well put because now she’s nine,

(00:36:05):
so she has kind of a blank slate and she has all the enthusiasm of a little kid.

(00:36:10):
You talk to,

(00:36:11):
in your sessions,

(00:36:12):
in your conferences,

(00:36:13):
you’re talking to adults or at least young adults on up.

(00:36:16):
So these are more mature and there’s some things are already embedded in the mind.

(00:36:21):
Like what about young developers in that context?

(00:36:24):
Are they learning in a similar way or is it not the same as the nine-year-old?

(00:36:28):
Yes, it is different because by the time you’re sort of 18, you’ve been taught how to learn.

(00:36:34):
And a lot of things are about like passing exams and meeting the minimum criteria.

(00:36:39):
A challenge for a new developer,

(00:36:41):
a junior developer,

(00:36:43):
whatever age they are,

(00:36:44):
however,

(00:36:44):
whether they did boot camps or university or whatever,

(00:36:47):
is that once they’ve finished

(00:36:48):
finished their learning and i say that with big inverted commas they go out into

(00:36:53):
the world and then get their first you know programming job engineering job

(00:36:57):
developer job whatever they my experience of speaking to a bunch of these folks is

(00:37:01):
that it’s extremely overwhelming like they think they should have learned

(00:37:06):
everything by now and they get out there like oh my god i don’t know what git is

(00:37:11):
I don’t know this IDE because I’m using a different IDE.

(00:37:15):
I don’t know,

(00:37:15):
I’ve never used Spring or frameworks,

(00:37:18):
or I have used Spring,

(00:37:19):
but I used it in a really different way.

(00:37:20):
Or like, I always use the example of Jenkins.

(00:37:23):
I worked at a bunch of different organizations that all used Jenkins,

(00:37:26):
but they all use it in very,

(00:37:27):
very different ways.

(00:37:28):
So it might as well be a different tool.

(00:37:31):
So the overwhelming thing for a lot of these junior devs is that they realize they

(00:37:35):
know very little and they need to learn a lot.

(00:37:38):
And they think, I’m stupid.

(00:37:40):
I can’t do this.

(00:37:41):
And that’s what they should have been taught when they were learning how to be a developer is…

(00:37:46):
You will never know everything.

(00:37:49):
There is no expectation for you to know everything.

(00:37:52):
As soon as you move jobs or positions or teams,

(00:37:54):
there will be a whole bunch of other new stuff that you didn’t know.

(00:37:57):
And that’s fine.

(00:37:59):
And that’s the industry.

(00:38:00):
And that’s that’s who we are.

(00:38:02):
And so the most important skill to come out with after learning to program is

(00:38:08):
learning how to learn and learning to be comfortable with the fact that you don’t

(00:38:12):
know it all and you will never know it all.

(00:38:15):
That’s very helpful.

(00:38:16):
Very helpful to me because I get that feeling of overwhelm as well.

(00:38:19):
I really do because I’ve had multiple careers.

(00:38:22):
Hopefully, this is my last one.

(00:38:23):
But when you make that transition, it is quite a lift.

(00:38:29):
And I get that freezing, oh my God, I’m an idiot.

(00:38:32):
I just spent all this time trying to learn whatever it is and…

(00:38:36):
I’m completely incompetent here.

(00:38:38):
So that’s really helpful.

(00:38:39):
This is a great conversation.

(00:38:41):
I’m really learning a lot, but I do have to go.

(00:38:43):
And so wrap us up here.

(00:38:47):
Is there any final thoughts that you want to leave us with?

(00:38:49):
Is there anything that I should have asked, but I didn’t?

(00:38:52):
No,

(00:38:53):
I mean,

(00:38:53):
I think I’m going to try and summarize what I’ve said,

(00:38:55):
which is that programming is about writing code into the computer,

(00:39:01):
but that’s not your key skill.

(00:39:03):
Programming is about the community, the people, the network you make.

(00:39:08):
Programming is about learning and learning isn’t necessarily about learning how to use AI.

(00:39:13):
It might be about learning how to work with different types of teams or how to

(00:39:18):
adopt some new way of working.

(00:39:21):
The more you learn to be uncomfortable and to work within that discomfort and

(00:39:27):
embrace it,

(00:39:28):
I think the sort of the more successful you’ll be.

(00:39:32):
Beautiful.

(00:39:32):
I’ll take that to heart.

(00:39:33):
And congratulations again on your Java community lifetime achievement for so young.

(00:39:38):
I’m sure it’s going to be going to get another one.

(00:39:40):
Actually, I’ll have to in a few years.

(00:39:43):
So and we’ll we’ll catch you at some conference somewhere.

(00:39:46):
See you, Trish.

(00:39:47):
Thanks very much.

(00:39:48):
Thank you.