67-Ivar-Grimstad.txt

(00:00:00):
Ivar Grimstad, welcome.

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

(00:00:02):
Thank you, Jaymon.

(00:00:03):
Happy to be here.

(00:00:04):
It’s great to see you here.

(00:00:06):
We met a couple of times.

(00:00:07):
There was some recently at some conferences in Japan and elsewhere,

(00:00:12):
and I thought it would be great to have a little session here on Duke’s Corner to

(00:00:17):
find out what you do.

(00:00:18):
I see you are doing a lot of conferences.

(00:00:21):
You do a lot of travel and stuff.

(00:00:23):
I sat in on your session in Tokyo, I guess about six months or so ago.

(00:00:28):
And the audience was really into it.

(00:00:30):
And so I figured, hey, I want to talk to this guy for this podcast here.

(00:00:33):
So you’re in Sweden and you’re a developer advocate for Jakarta EE.

(00:00:39):
So let’s start off with that.

(00:00:40):
So what do you do as a dev advocate for Jakarta EE?

(00:00:45):
yeah so before i get into that i actually have a you you said we were meeting at

(00:00:51):
conferences and stuff and i think we met i can’t remember it and i certainly i’m

(00:00:57):
sure you can’t either but i’m pretty sure

(00:01:00):
that we must have met at Java 1 in the Open Solaris launch sometime in the early 2000s.

(00:01:07):
Because I remember I was at Java 1, because you used to work with Open Solaris, right?

(00:01:13):
Yeah, yeah, I was at Simon.

(00:01:14):
Open Solaris was my baby.

(00:01:17):
Yeah, so I…

(00:01:19):
That was before like MacBooks were a thing and stuff.

(00:01:23):
And so I went to Office Depot across the street from Moscone and I bought one of

(00:01:29):
these small,

(00:01:30):
you know,

(00:01:31):
the small laptops,

(00:01:32):
the mini laptops that had some version of Windows on it.

(00:01:36):
And I just unpacked it,

(00:01:37):
brought it down to the Open Solaris Lounge and somebody there gave me a USB drive

(00:01:42):
and I just plugged it in.

(00:01:43):
I never booted it on Windows.

(00:01:45):
Oh, okay.

(00:01:48):
So since you were working with that, you must have been there.

(00:01:52):
I got some really good help from the people in the lounge there to set up the

(00:01:58):
drivers and stuff to get the keyboard to work.

(00:02:00):
Yeah.

(00:02:01):
Oh, that’s a great story.

(00:02:02):
Yeah, this goes way back.

(00:02:05):
That was so much fun.

(00:02:08):
We had a bootable CD, and we had a USB, and that was like gold back then.

(00:02:14):
Everything has changed now.

(00:02:16):
Wow.

(00:02:16):
Yeah.

(00:02:18):
Well, so, yeah, so Jakari, that’s what I work with on a daily basis.

(00:02:23):
And as I said, a lot of my work is speaking at conferences.

(00:02:29):
So I travel around and do talks.

(00:02:32):
So, yeah.

(00:02:35):
That’s basically what I do.

(00:02:37):
Jakarta EE, that’s the continuation of Java EE that used to be under the JCP at Sun and Oracle.

(00:02:47):
So that was moved over to Eclipse Foundation.

(00:02:49):
And we continued it there and rebranded it to Jakarta EE from Java EE.

(00:02:56):
I was so lucky to get into the role of the developer advocate there.

(00:02:59):
So that’s what I’m doing these days.

(00:03:01):
Cool.

(00:03:02):
I mean,

(00:03:02):
so if we crossed paths way back with Open Solaris at Sun,

(00:03:07):
so you’ve been in this business for a while.

(00:03:08):
You’ve been involved in open source and advocacy and community building basically

(00:03:14):
for a long time.

(00:03:15):
Oh, yes.

(00:03:15):
Yes.

(00:03:16):
I thought back before I ended university or graduated from university in 98.

(00:03:23):
I think in 96 or 97 was when I first encountered Java.

(00:03:30):
Somebody talked about this stuff and I bought this book,

(00:03:33):
Java 1.0 in a nutshell from the bookstore and went down to the computer room

(00:03:39):
because we didn’t have our own computers.

(00:03:41):
These old Unix machines logged in, had Java there and did Hello World.

(00:03:47):
And that summer I worked, had a summer job at a consulting company in Oslo.

(00:03:54):
And they put me on the client site because I had worked with them the year before

(00:03:58):
so they trusted me.

(00:04:00):
And we were working on the internet banking for that Norwegian bank,

(00:04:05):
and they were using Java,

(00:04:06):
and they were doing it in Swing.

(00:04:08):
So I was put on that,

(00:04:10):
and I think I did some modifications to some of the Swing components they were

(00:04:16):
using.

(00:04:16):
So that was kind of the first…

(00:04:18):
time I was doing Java and the open source part of it that came a little later I got

(00:04:26):
exposed to it through the mostly I think I can I can thank Java 1 for most of my

(00:04:33):
this career path because that’s where I got in you know the JCP and started getting

(00:04:39):
involved there and that was I guess it was back in 2017 2007

(00:04:46):
Seven, yeah.

(00:04:47):
Where I signed the agreement with the JCP.

(00:04:52):
So it seems like the technology first and then the community second for you.

(00:04:56):
For me, at that point, it was.

(00:04:58):
But it was sort of the community around Java that also…

(00:05:04):
made it a natural thing for me.

(00:05:06):
And also at that time, in the company I was working, we had lots of Java developers.

(00:05:11):
This was a tech consultant company.

(00:05:14):
And we had an internal,

(00:05:16):
what we call a Java competence group or sort of an internal jug or Java user group.

(00:05:21):
where we had uh i think we had monthly meetings where we had technical like

(00:05:27):
presentations and discussions and we also got people from the java bin which is the

(00:05:33):
java user group in oslo coming to present with us at the company and we also went

(00:05:39):
to their event so so that’s where i

(00:05:41):
I started attending Java user groups.

(00:05:44):
So that was the community that kind of brought me into there.

(00:05:48):
But at the time,

(00:05:49):
that early in my career,

(00:05:50):
I guess it was mostly the tech at work and community at the conferences I was

(00:05:58):
allowed to go to.

(00:05:59):
And that was usually a Java one every year those years.

(00:06:01):
Yeah,

(00:06:02):
I’ve been to about 10 Java 1s over the years because I haven’t always been involved

(00:06:07):
in Java because I was on the Solaris project for,

(00:06:10):
I guess,

(00:06:11):
about a decade at Sun.

(00:06:13):
We used to piggyback off of all the Java operations because they were very, very big, you know.

(00:06:18):
So we would go to their conferences basically and tag along.

(00:06:22):
Yeah.

(00:06:24):
And we did, you know, the Sun Tech Days had a big tour.

(00:06:29):
And so we used to, you know, we used to go on that and we would obviously go to Java 1.

(00:06:34):
One of these things about these open source projects is that they’re so dynamic,

(00:06:39):
they just foster this notion of contribution.

(00:06:42):
With Jakarta EE being Eclipse, obviously that’s an open source project there, right?

(00:06:47):
And Java itself is less…

(00:06:51):
sort of the meta, that’s the canonical open source project, right?

(00:06:55):
A project of projects.

(00:06:57):
Talk a little bit about this notion of contributing to open source in general,

(00:07:02):
and specifically Java,

(00:07:04):
since you’ve seen a lot of it.

(00:07:07):
Definitely.

(00:07:08):
And what I usually say when people are asking why you should get involved in,

(00:07:14):
and also the reason why I got involved in open source is that

(00:07:18):
we tend to consume a lot of open source technologies in our daily work.

(00:07:22):
And at some point,

(00:07:25):
that scale is not even you don’t contribute back to what you’re actually consuming

(00:07:30):
and and you’re relying on a lot of these technologies.

(00:07:34):
And if you’re not contributing back, you’re kind of losing control over

(00:07:38):
over what’s happening with this technology, which direction is it going?

(00:07:44):
Is it fitting our needs?

(00:07:46):
Should we get involved to contribute back so we can kind of make sure it’s still

(00:07:53):
the technology we can rely on?

(00:07:54):
So it’s kind of a give and take, a win-win situation there.

(00:07:59):
I think most contributions that are sustainable comes from when you are using the

(00:08:05):
technology yourself.

(00:08:07):
So you’re kind of feeling the pain points and you’re figuring out it’s easier for

(00:08:10):
me to fix it than ask somebody else to do it.

(00:08:14):
that was kind of my first contribution into open source that was actually sort of

(00:08:20):
that but it wasn’t related to java it was um scala that was was kind of coming at

(00:08:28):
that time and they had a lot of these getting started with scala guides like a

(00:08:34):
couple of pages with some simple examples

(00:08:38):
And they were translated to a lot of languages, but they didn’t have the Norwegian translation.

(00:08:43):
So I translated it into Norwegian and committed it to their subversion or whatever they had.

(00:08:50):
And they had one comment back about some of the formats I’ve used in the documents.

(00:08:56):
So I fixed those and they accepted it and it was published on the webpage the next day.

(00:09:00):
So that was kind of a big thing to have my name out there on some piece of stuff

(00:09:05):
that people could use.

(00:09:07):
So how long did that take to do?

(00:09:09):
It wasn’t a big document, so some hours, maybe a day or two in total.

(00:09:16):
So I just spread it out a little.

(00:09:18):
So you truly understood the concept then in terms of actually doing some work and

(00:09:23):
contributing it back and then seeing the result of that.

(00:09:26):
Yeah, yeah.

(00:09:27):
It’s interesting because sometimes I ask that question and I get these very

(00:09:32):
interesting stories where somebody will say that they did a contribution and they

(00:09:37):
wrote up a blog about it and then went to bed,

(00:09:40):
right?

(00:09:40):
Just, you know, here’s the contribution.

(00:09:42):
This is what I did.

(00:09:43):
They submitted it and then just,

(00:09:44):
you know,

(00:09:45):
articulated,

(00:09:45):
you know,

(00:09:46):
this is what I did basically in a blog post and went to bed and then woke up the

(00:09:49):
next morning and they’ve got like 500,

(00:09:51):
you know,

(00:09:52):
comments on the blog and stuff.

(00:09:53):
Yeah.

(00:09:54):
And this thing is sneaking through whatever million list they contributed to and everything.

(00:09:58):
And they’re just so blown away by the result of the contribution.

(00:10:02):
I find that fascinating.

(00:10:05):
It is.

(00:10:05):
Yeah.

(00:10:05):
And I think many people who are kind of struggling with where should I start?

(00:10:11):
What should I do there?

(00:10:12):
Maybe they’re thinking a little bit too big and thinking,

(00:10:15):
hey,

(00:10:16):
I can fix this big,

(00:10:18):
massive project that everybody is using rather than focusing on this is a little

(00:10:23):
piece of code or piece of document or a graphic.

(00:10:26):
It doesn’t have to be code to be open source contribution.

(00:10:29):
It can be anything,

(00:10:29):
especially documentation and tutorials are what all open source projects are super

(00:10:35):
happy to have contributions on.

(00:10:37):
So it could be a small piece

(00:10:40):
Like my three-page or whatever Norwegian translation, it doesn’t take me much effort to do it.

(00:10:47):
But it is actually a fairly visible thing because it’s one piece of work that can be published.

(00:10:54):
And if you contribute to,

(00:10:56):
for example,

(00:10:57):
a super vital if statement that solves a big security problem internally in some

(00:11:04):
open source app server,

(00:11:06):
You may have saved the world,

(00:11:07):
but people may never notice that it was here because it’s just hidden down there.

(00:11:13):
So find some kind of thing that you can actually show,

(00:11:17):
like the blog post you’re talking about,

(00:11:19):
show what you’ve done.

(00:11:20):
I was at a conference once, actually it was last year in Vietnam.

(00:11:27):
It was FOSS Asia, and there were 5,000 students there.

(00:11:31):
And it was really kind of cool because it was just all these kids.

(00:11:36):
They’re all 22, 23, 24 years old and from multiple universities in Vietnam.

(00:11:41):
And a lot of them would ask, what can I do?

(00:11:45):
Because they hadn’t left Vietnam.

(00:11:48):
They’re too young.

(00:11:48):
They haven’t traveled, but they know this stuff is global.

(00:11:52):
And all these projects are global.

(00:11:55):
And I said, well, I mean, you can start a user group.

(00:11:58):
You can get involved in user groups.

(00:12:00):
But think in terms of contributing something.

(00:12:03):
Take what you’re learning in school and do some sort of contribution.

(00:12:07):
Get involved in GitHub.

(00:12:08):
Get your name out there within the project that you’re interested in.

(00:12:13):
And start small.

(00:12:14):
And if you do that as a student, when you graduate, you already have a portfolio.

(00:12:19):
And they thought that was a really great idea, and they were really excited about it.

(00:12:22):
And a bunch of them were actually learning Java.

(00:12:25):
And it was really interesting to see.

(00:12:27):
I like to talk about this concept of contributing because it sort of equals the playing field.

(00:12:33):
There’s a lot of famous people in technology and stuff,

(00:12:36):
and there’s a lot of people who are new and they’re young,

(00:12:38):
right?

(00:12:39):
What can you do?

(00:12:40):
Well, you can contribute.

(00:12:42):
And also, for me, it’s like I’ve changed careers multiple times.

(00:12:46):
I got into this career really late.

(00:12:49):
I’m older than everybody.

(00:12:50):
And I got in because of this specific reason is things move fast and you can

(00:12:55):
contribute and you can get yourself known.

(00:12:59):
Because not all professions have this concept.

(00:13:03):
Yeah.

(00:13:03):
Yeah,

(00:13:04):
so when I chose this kind of career path,

(00:13:08):
my family were,

(00:13:09):
are you sure you want to do this?

(00:13:11):
People are, things are happening so fast there.

(00:13:14):
You have to always learn.

(00:13:16):
You can never,

(00:13:17):
you know,

(00:13:17):
in many other professions,

(00:13:19):
you can just learn your trade and then just do it,

(00:13:23):
you know.

(00:13:24):
And continue.

(00:13:25):
But in our industry, you have to learn continuously.

(00:13:30):
And the second you stop learning,

(00:13:31):
especially these days with AI coming in all over the place,

(00:13:35):
and if you’re not on top of it,

(00:13:38):
it’s hard to stay here in this industry.

(00:13:42):
And one of the best ways of learning things is by doing.

(00:13:47):
Like we learn with our fingers.

(00:13:48):
We learn by doing it.

(00:13:49):
You can read a lot of books about programming,

(00:13:52):
but when you start actually doing the coding,

(00:13:56):
that’s when you learn.

(00:13:57):
I mean, that’s not special for our industry.

(00:13:59):
I mean, who would go on a plane if the pilot had learned flying by reading about it?

(00:14:09):
So it’s learning by doing and the best way of getting away from just the sort of

(00:14:15):
exercises you have at schools and university and doing something that is actually

(00:14:19):
industry relevant.

(00:14:22):
is an open source project that many people are using.

(00:14:25):
And if you can contribute and learn so much about that technology that you can

(00:14:30):
contribute to it and learn by doing it,

(00:14:32):
by building that open source technology,

(00:14:35):
you’re actually building,

(00:14:36):
you’re giving yourself the benefit of learning.

(00:14:41):
So contribution is by the word itself,

(00:14:43):
it’s you give something,

(00:14:45):
you know,

(00:14:45):
but it’s actually you’re getting something because you’re getting all this

(00:14:48):
knowledge by doing it.

(00:14:50):
And that’s what’s fascinating about open source that we can just, you know, trade this.

(00:14:54):
I do this and I learn this.

(00:14:56):
also when you when you contribute to an open source project there are usually

(00:15:01):
committers there that has been there for a long time and many of them are like you

(00:15:05):
say famous in this industry has written books or speakers at conferences or are

(00:15:11):
well-known figures in the industry and you get to learn with them by solving

(00:15:16):
problems together with them so you you learn from the best and you see how they

(00:15:21):
write code how they solve problems

(00:15:23):
So it is the best way of learning, I think.

(00:15:27):
So by doing that with telling the students in Vietnam to go out and contribute to

(00:15:34):
learn,

(00:15:35):
that’s the best way of doing it.

(00:15:37):
Yeah, it’s interesting.

(00:15:39):
I’ve spoken with many developers who have told me that

(00:15:44):
their first experience maybe at a conference and there would be approaching one of

(00:15:48):
the senior developers with like a question or something after a session and they

(00:15:52):
were so surprised that the you know senior or famous person was so willing to just

(00:15:58):
chat for like a half an hour in the hallway about this obscure bug that they found

(00:16:03):
somewhere you know and there’s a really famous people you know it’s like

(00:16:07):
I was talking to Gosling, and he just was going off and off and off on this great thing.

(00:16:12):
You’re talking to James Gosling here, and he gave you all that time.

(00:16:15):
That’s a normal story.

(00:16:17):
Same thing with Venkat Subramanian.

(00:16:20):
He’s a sweet guy.

(00:16:21):
He loves to teach.

(00:16:22):
He loves to engage people.

(00:16:24):
He goes to be in big conferences and stuff, but he also goes to small user groups.

(00:16:31):
He interacts with everybody at all levels.

(00:16:34):
So I think what you said is really apt in the sense of the more senior people,

(00:16:39):
the more famous people many times are very humble and they just want to chat about

(00:16:44):
technology.

(00:16:45):
Yeah, and we have this technology that kind of unites us.

(00:16:48):
And because most of us are,

(00:16:51):
some are more geeky than others,

(00:16:53):
but we’re usually,

(00:16:55):
we’re coders,

(00:16:56):
we’re probably geeks in everybody else’s eyes.

(00:17:00):
And many of us are introverts,

(00:17:02):
even though if we’re speakers,

(00:17:04):
we’re not necessarily comfortable in a social context.

(00:17:08):
But when we have this technology together that we can talk about,

(00:17:11):
then we can open up more easily.

(00:17:12):
Yeah.

(00:17:13):
That’s really interesting you say that because although I’m not a coder,

(00:17:18):
I’ve taken a few programming classes in school and stuff,

(00:17:21):
but I can’t say anything without a camera in my hand.

(00:17:26):
So when I go to a conference, I’m usually taking photographs, right?

(00:17:29):
Even if I’m working and managing the event,

(00:17:32):
which I had to do a lot of times at Oracle and previously at Sun,

(00:17:36):
where we’d have to actually manage the event or run a user group,

(00:17:38):
something like that.

(00:17:39):
I always have my camera with me to shoot the event because I’m always interested in

(00:17:43):
profiling developers and stuff.

(00:17:45):
But I can’t talk to anybody socially unless I have the damn camera with me.

(00:17:49):
So it’s a topic of conversation.

(00:17:53):
So when you were in school,

(00:17:54):
did you choose software for any of these specific reasons or you just like complex

(00:18:03):
solving puzzles and complex problems?

(00:18:04):
Yeah.

(00:18:05):
Yeah, so I feel I just slipped into this career path by coincidence.

(00:18:12):
I think I am a problem solver.

(00:18:15):
I was good at math and physics and those kind of subjects.

(00:18:19):
I got a computer fairly early.

(00:18:22):
It was a, I don’t know if anybody knows, it was a Sharp MC700 or something.

(00:18:28):
It has an integrated cassette player.

(00:18:30):
So I could load it with BASIC on a cassette.

(00:18:34):
So I learned a little bit of coding on that one, but it was mostly games.

(00:18:42):
My coding started,

(00:18:43):
I think,

(00:18:44):
when I got a Commodore 128,

(00:18:46):
which came with BASIC when you open it up.

(00:18:50):
And I had this…

(00:18:52):
a little program on my sharp computer that I could use to test me in words you know

(00:18:58):
when we were learning English at school or English and French at school you had

(00:19:02):
this test you get 20 words that you have to know until tomorrow and then you got a

(00:19:07):
test just translated and this program let me type in the words and the translations

(00:19:14):
and it would test me until I had all 30 words correct

(00:19:17):
Cool.

(00:19:18):
It’s like an algorithm.

(00:19:18):
But the Commodore didn’t have this.

(00:19:20):
So I made it.

(00:19:23):
I coded it in BASIC.

(00:19:26):
So I could still test myself in these words.

(00:19:28):
And that was my first programming thing.

(00:19:30):
After that,

(00:19:31):
I elected some programming at the high school I was at,

(00:19:38):
where we learned some Pascal coding,

(00:19:40):
mostly by writing on paper.

(00:19:43):
Because the computer room were limited access to,

(00:19:45):
so we can only get in there like a couple of hours or so.

(00:19:49):
So we had to write the programs on paper first and then have them evaluated by the teacher.

(00:19:54):
He was kind of the walking compiler and then typing in.

(00:19:59):
Different times, you know.

(00:20:01):
At that time, when I was like 12, 13, I would say I was probably a decent programmer.

(00:20:08):
I could solve problems using code.

(00:20:11):
But when I came to university,

(00:20:13):
the others were so much more clever and so much better because they were really

(00:20:19):
into this kind of stuff more than me.

(00:20:22):
So I was still the problem solver, but not necessarily the one typing the code.

(00:20:28):
So what was the difference with them, though?

(00:20:30):
I’m not sure, actually.

(00:20:32):
But I think my interests were as far as it’s sort of useful within the kind of the

(00:20:41):
ecosystem I know about.

(00:20:43):
And that was sort of having the cassette tapes were my interface to the world.

(00:20:49):
I didn’t have a modem or anything.

(00:20:50):
So internet wasn’t a thing then.

(00:20:52):
Yeah, yeah.

(00:20:54):
But these guys had probably were in environments where they had some…

(00:20:59):
Internet,

(00:21:00):
it was in these young days.

(00:21:02):
So I started university in 93.

(00:21:06):
So internet was there, but it wasn’t like web browsers and stuff.

(00:21:10):
It was just you logged into a terminal and text-based everything.

(00:21:13):
But they’ve been doing that for a while, I think.

(00:21:16):
So they had been in these more hacker kind of environments.

(00:21:21):
Right.

(00:21:22):
at home,

(00:21:23):
and were more,

(00:21:24):
yeah,

(00:21:24):
I’m going to just have a master’s degree in programming,

(00:21:29):
where I was just,

(00:21:30):
I wanted to be a marine engineer,

(00:21:33):
and I didn’t get in there,

(00:21:34):
so I ended up on computer science.

(00:21:40):
But after the first classes, I felt at home there, and yeah, this is my thing.

(00:21:47):
When did you trip over Java?

(00:21:48):
It must have been in 96 or 97.

(00:21:55):
So right around Java, yeah.

(00:21:58):
Yes, it was Java 1.0, and I wrote the Hello World on the Unix terminal at the university.

(00:22:06):
And I got to use it in a, well, quote-unquote, professional capacity at my summer job in 97.

(00:22:15):
And I started using it in work around 99, 2000, and ever since, yeah.

(00:22:24):
So it’s been your main focus since then?

(00:22:26):
Yes, it has been.

(00:22:27):
I’ve touched into other programming languages, but I’ve ended up with Java.

(00:22:34):
That’s been my go-to language for everything.

(00:22:36):
I guess it is.

(00:22:39):
I think Jane Gosling, he wanted to be the blue-collar language.

(00:22:43):
It’s a multipurpose language you can use for anything.

(00:22:46):
It’s kind of the thing you would use to solve the most problems with.

(00:22:51):
Not kind of the special cases, you would use something else, but most cases you can use Java.

(00:22:58):
And I think the timing when I started working, Java was conquering the server side.

(00:23:04):
So everything was J2EE at that time.

(00:23:08):
And that was a money machine for everybody around there.

(00:23:12):
All the old COBOL systems had to be replaced by J2EE because they had to solve this

(00:23:17):
2000 year problem anyway.

(00:23:19):
So they had to do something and J2EE was there.

(00:23:22):
And it was a brilliant technology at the time.

(00:23:26):
And that was when I started working with it.

(00:23:28):
So that’s been my thing since.

(00:23:31):
So you’ve had the benefit of seeing really the whole evolution of Java.

(00:23:37):
So let’s talk a little bit about the technology.

(00:23:39):
I always ask everybody, why Java?

(00:23:42):
What makes it special?

(00:23:44):
Because, I mean, like in your case, it’s been your primary focus for your whole adult career.

(00:23:50):
So talk a little bit about the evolution.

(00:23:53):
You talked a little bit about how you got involved early on and now we’re 30 years later here.

(00:23:59):
30 years old, I guess next month is Java.

(00:24:03):
Why Java?

(00:24:04):
What makes it special?

(00:24:05):
Yeah, it’s a good question.

(00:24:07):
I think at the time, Java was everywhere.

(00:24:11):
If you were working anywhere as a consultant,

(00:24:16):
coder,

(00:24:16):
programmer in the industry,

(00:24:19):
you were using Java for everything.

(00:24:20):
It works for most things.

(00:24:23):
The language itself, I guess…

(00:24:27):
People complain that it’s too verbose, it’s too complicated to do certain things.

(00:24:35):
I think it’s one of the good things about why Java is still around here is its

(00:24:39):
simplicity and its readability,

(00:24:41):
its simple rules.

(00:24:43):
The things that made C++ hard, for example, isn’t hard in Java.

(00:24:48):
You have the garbage collector.

(00:24:51):
I hope you don’t have to think about the memory things, the issues you would have in C and C++.

(00:24:57):
The multiple inheritance that you have in Java.

(00:25:00):
C++ just makes things hard.

(00:25:02):
People miss it and Java says that by not having it, it’s hard.

(00:25:06):
But I think having these kind of simple guidelines when they created the language

(00:25:12):
makes it easy to learn,

(00:25:14):
easy to use.

(00:25:15):
And if you look at how it’s evolved over these years, oh my god, it’s…

(00:25:20):
When generics came in Java 5, I mean, that was a big thing for us to get over.

(00:25:27):
And then the next one, I guess, was Java 8 when you get streams.

(00:25:32):
And now the releases are coming so fast that you don’t remember anything that’s

(00:25:36):
coming in the different versions.

(00:25:38):
But it’s evolving and taking away these small pain points slowly and still being

(00:25:44):
relevant after 30 years.

(00:25:46):
I think it’s impressive.

(00:25:48):
But it’s a good question, why Java, why not something else?

(00:25:50):
It’s been here for 30 years.

(00:25:53):
It’s probably going to be here for 30 years or more.

(00:25:57):
It’s interesting you mentioned C and C++.

(00:26:00):
I remember taking C and kind of liking it.

(00:26:04):
I can handle it, right?

(00:26:05):
And then I took C++ and I choked.

(00:26:08):
I vomited immediately.

(00:26:10):
It just didn’t sit at all with me.

(00:26:16):
I’m happy to hear that Java solved that problem.

(00:26:19):
Okay.

(00:26:20):
Yeah,

(00:26:21):
I think from learning the basic on Commodore machines and then using Pascal,

(00:26:30):
which is more like function-oriented,

(00:26:32):
and when I saw C for the first time,

(00:26:35):
I thought it was,

(00:26:36):
well,

(00:26:36):
this is just complicated.

(00:26:37):
Where is the real words, like the begin and the end of the functions?

(00:26:43):
It’s these stupid curly braces.

(00:26:45):
I don’t understand them.

(00:26:47):
But then Java came around and it had this stuff and you got used to it.

(00:26:54):
Okay,

(00:26:54):
so you got involved in the technology and the community,

(00:26:58):
you were contributing,

(00:27:01):
and you also got involved in the JCP.

(00:27:03):
Yes.

(00:27:04):
The Java Community Process, which is a specification body.

(00:27:08):
How did that come along?

(00:27:10):
Yeah,

(00:27:10):
that’s a good story,

(00:27:11):
actually,

(00:27:12):
because it also shows what can be a motivating factor of these things.

(00:27:18):
And I’ll keep coming back to Java 1, because I think Java 1 has had a big impact on my career.

(00:27:27):
One of the things at Java 1 was that all these bofs at evenings where they had

(00:27:32):
these JSRs that presented discussions and JSR,

(00:27:36):
Java specification requests,

(00:27:38):
and all these acronyms.

(00:27:40):
It was JAXRS and JAXWS and JAXXML and whatever.

(00:27:44):
It’s all these.

(00:27:45):
these words and at the beginning it was so impressive to just sitting in a room and

(00:27:51):
hear people saying these letters like it meant something and not understand a

(00:27:56):
single thing and then started slowly to understand and then oh yeah it’s JSRs and

(00:28:01):
started noticing people with these ribbons on their badges that said specification

(00:28:08):
lead or expert group member and that and it kind of got curious how do I get that

(00:28:13):
ribbon

(00:28:14):
So you started going to these booths at Excavation Floor,

(00:28:19):
figuring out the JCP,

(00:28:20):
and I signed up for it.

(00:28:21):
I signed like a 40-page print.

(00:28:24):
You had to print out a document, like sign it on a couple of pages and fax it to some.

(00:28:30):
That was at the time we had fax machines.

(00:28:32):
And I got to become a JCP member.

(00:28:36):
And then I just randomly chose some expert groups to see if I can get in there.

(00:28:41):
And nobody accepted me until because they were all like pretty mature and

(00:28:46):
established until there was a new one coming out.

(00:28:50):
That was the MVC, a new specification.

(00:28:52):
And I had done my share development of like web frameworks and that kind of thing.

(00:28:58):
So I thought this is good for me.

(00:28:59):
So I applied for that one and I got in.

(00:29:02):
So suddenly I was an expert group member of the MVC specification.

(00:29:08):
We had bi-weekly calls.

(00:29:11):
So I got that ribbon.

(00:29:12):
And I also met Heather from the JCP there at Java 1.

(00:29:19):
And she introduced me to the executive committee.

(00:29:22):
And I heard that as an associate member of the executive committee,

(00:29:29):
Oracle would pay for the travels to these meetings.

(00:29:32):
And I like traveling, so yeah, why not go?

(00:29:36):
So I ran the election to become an expert member.

(00:29:40):
So I got into the executive committee of the JZB as an individual.

(00:29:46):
And I’ve been there ever since.

(00:29:47):
That was in 2013, I ran that election, I think.

(00:29:51):
Well, that’s really great.

(00:29:52):
And that’s also a huge contribution as well.

(00:29:54):
I mean, you have to run, you have to be elected, right?

(00:29:56):
Yeah.

(00:29:57):
And I also was contributing a little bit, at least, to the MVC specification.

(00:30:01):
And to that story also that when Java EE8 came out in 2016, MVC was supposed to be a part of it.

(00:30:12):
But right before the announcement of Java EE8, Oracle announced that we’re not taking MVC in.

(00:30:21):
We’re canceling that one.

(00:30:22):
And we were almost done, or we thought we were done, because we had done the spec and the API.

(00:30:28):
And we had an implementation.

(00:30:30):
We thought we had a TCK, because we didn’t do that.

(00:30:34):
There was some team at Oracle that did that one.

(00:30:36):
So I asked at one of these buffs at Java 1, I asked, but it’s almost done.

(00:30:43):
Can’t we just finish it, somebody outside of Oracle, if you don’t want to do it?

(00:30:48):
They asked me, yeah, but who would do that?

(00:30:51):
I said, I would do it.

(00:30:53):
So I got the IP rights for the MVC specification and the implementation signed over

(00:31:00):
to me by Oracle.

(00:31:01):
So suddenly I owned the IP.

(00:31:05):
of this specification.

(00:31:06):
And I brought in,

(00:31:07):
I had some other German friends,

(00:31:09):
Christian Kaltipoth,

(00:31:11):
which I brought on as a co-spec lead with me.

(00:31:14):
And we finalized that spec under the JCP and released it, MVC 1.0 there.

(00:31:19):
we brought it over to the Eclipse Foundation.

(00:31:21):
And actually, a month ago, we released MVC 3.0.

(00:31:26):
So it’s still going strong.

(00:31:27):
And now, no, I don’t have the IPO of that one.

(00:31:30):
I gave that away.

(00:31:31):
I contributed to the Eclipse Foundation.

(00:31:33):
So that’s a fully open source project.

(00:31:37):
So a lot of benefits there.

(00:31:38):
I mean, a lot of opportunity.

(00:31:40):
I mean, what you’ve just described is a chain of opportunities.

(00:31:44):
Yeah, it is.

(00:31:45):
And it’s also, I remember also being at conferences like Java One.

(00:31:51):
And I think if I should recommend a young developer, what should I do for training?

(00:31:57):
What books should I read?

(00:31:58):
What should I do to get better at something?

(00:32:01):
My standard answer is always go to a conference and continue doing it.

(00:32:06):
Because what I experienced was I had the opportunity to go to Java 1 every year and

(00:32:12):
also maybe some other conferences in between during the year.

(00:32:17):
By doing that continuously, I learned more and more and more and got inspired.

(00:32:23):
Every time I come back from one of these conferences,

(00:32:26):
I ended up buying a bunch of books because I’d seen those speakers.

(00:32:30):
They’d also written books.

(00:32:31):
So I went home and bought their books, read them, and I learned more.

(00:32:35):
And next year, repeat.

(00:32:37):
Until you get to that point where you’re sitting at a conference in a room,

(00:32:42):
you’re listening,

(00:32:43):
it’s probably a fabulously good talk.

(00:32:45):
But you’re starting thinking, I could be up there.

(00:32:48):
I now know so much that I could actually consider myself being a speaker.

(00:32:56):
And I started submitting talks.

(00:32:58):
And that’s how I stumbled into the speaker circuit.

(00:33:02):
And that’s almost 15 years ago that I submitted my first talk and got accepted to

(00:33:06):
an international conference.

(00:33:07):
And since that, the ball is rolling.

(00:33:09):
Now I do 40 conferences a year.

(00:33:12):
Wow.

(00:33:12):
All over the world.

(00:33:13):
That’s a lot.

(00:33:14):
That’s a lot.

(00:33:15):
I can’t match that.

(00:33:16):
Very few people can match that.

(00:33:18):
That’s just constant travel.

(00:33:20):
Obviously, you’re meeting hundreds of developers every year.

(00:33:24):
I mean,

(00:33:26):
thousands in terms of the number of people who are attending your session,

(00:33:29):
but you’re talking to certainly hundreds of people throughout the year.

(00:33:33):
Any interesting trends that you can see from the last few years?

(00:33:37):
Yeah.

(00:33:37):
I think it’s very different from which part of the world you’re going to.

(00:33:44):
Actually,

(00:33:44):
I have a feeling that Java had some struggle a couple of years ago where everybody

(00:33:52):
was,

(00:33:53):
no,

(00:33:53):
you have to go to other languages.

(00:33:55):
But it was usually on the JVM.

(00:33:56):
It was Groovy or Scala or it was Kotlin or something else.

(00:34:04):
But nowadays I feel people are sort of coming back a little bit or Java isn’t

(00:34:10):
irrelevant any longer that people were telling us a couple of years ago.

(00:34:15):
So I see, I wasn’t kidding when I said probably 30 more years.

(00:34:20):
So I think Java is going strong.

(00:34:24):
I see a lot of younger developers out there are very interested in Java.

(00:34:29):
And one concern we have nowadays is that universities tend to jump on the latest,

(00:34:37):
or not necessarily the latest,

(00:34:39):
but the easier path of learning.

(00:34:41):
So they’re choosing to learn Python to students rather than Java.

(00:34:45):
And developers come out and get the first job, and it’s usually Java.

(00:34:50):
they get exposed to so so having these initiatives like we have in the jcp with

(00:34:55):
java in education to to educate the university that i still have to learn java

(00:35:01):
because that’s what the industry wants still i think it’s um it’s interesting

(00:35:08):
another observation is is these cycles that we go through you know we always tend

(00:35:12):
to think that we have

(00:35:14):
invented something new and then we just dial back the time machine and yeah we did

(00:35:19):
it 20 years ago you know interesting so yeah i won’t get into the like server

(00:35:26):
started rendering people are talking like react server side components was a new

(00:35:31):
thing like man we had servlets back in 2000 or even before you know so

(00:35:38):
I see you have your J-Jug t-shirt on there.

(00:35:41):
I do.

(00:35:42):
Java.

(00:35:43):
Yeah, the user group up in Tokyo.

(00:35:47):
Actually, it’s all over Japan.

(00:35:48):
I’m in Osaka, so I’m a little bit further south or west, I guess.

(00:35:54):
So what’s next for you?

(00:35:57):
We’re in mid-25, actually May of 25 here.

(00:36:03):
What’s up next?

(00:36:03):
What’s your next event?

(00:36:05):
Tomorrow I’m going to J-Con in Germany.

(00:36:09):
I’m actually going back to Tokyo in June for the J-Jug CCC Spring event.

(00:36:17):
Cool.

(00:36:17):
Well, when you go to Germany to say hello to Char, he’ll be there.

(00:36:20):
And a couple of my teammates will be there as well.

(00:36:24):
That’s an important event for our team that we usually go.

(00:36:28):
And we’re Oracle sponsoring as well.

(00:36:30):
So there’ll be a bunch of stuff there.

(00:36:33):
You’re also a Java champion.

(00:36:35):
So I’m sure there’ll be plenty of Java champions that you cross paths with at these

(00:36:38):
events,

(00:36:38):
right?

(00:36:39):
Yeah.

(00:36:40):
How did that come about?

(00:36:41):
The Java Champions, that was… I had never heard of it.

(00:36:45):
But then at some conference,

(00:36:48):
I can’t remember which one,

(00:36:48):
but it was someone was pulled up on stage and given a jacket and called a Java

(00:36:54):
Champion.

(00:36:54):
And then I sort of, okay, this is a thing.

(00:36:57):
So I started recognizing and seeing these Java Champions around.

(00:37:01):
And I thought that maybe I should…

(00:37:07):
should make myself be a candidate for it.

(00:37:10):
So I know there are five like criterias of things that you should fulfill more or less.

(00:37:16):
So I kind of make sure that I covered them all for myself.

(00:37:20):
So I am a Java user group leader,

(00:37:23):
I’m doing conferences,

(00:37:24):
I’m doing blogging,

(00:37:25):
social media,

(00:37:26):
I’m doing a cool open source project contributing to technologies and all these

(00:37:31):
kind of other

(00:37:32):
community building aspects that the Java champions are.

(00:37:37):
And I was suggested as a Java champion and got my jacket on the stage at DevOps UK

(00:37:45):
a couple of years later.

(00:37:47):
So, yeah.

(00:37:48):
It’s a beautiful jacket.

(00:37:50):
Yeah, it is.

(00:37:51):
And one funny thing is when I tell people I’m a Java champion or people that aren’t

(00:37:57):
familiar with the program,

(00:37:59):
they think,

(00:37:59):
oh,

(00:37:59):
you have to be very good at Java.

(00:38:01):
And I say, no, I’m probably not.

(00:38:04):
And I mean, I know a way around it, but I’m not a very good Java programmer.

(00:38:09):
That’s nothing to do with, you’re not a champion of Java.

(00:38:13):
You’re championing Java.

(00:38:15):
So it’s about getting Java out to the people.

(00:38:20):
I think that’s a, people get a little bit surprised when I tell them that.

(00:38:25):
And then you see, some of them you see, which are probably very good Java developers and think,

(00:38:31):
I’m the best Java developer in the world.

(00:38:33):
I should be a Java champion.

(00:38:34):
But when I said, and they asked me, how should I become a Java champion?

(00:38:39):
I say,

(00:38:39):
well,

(00:38:40):
you can start coming to the Java user group and you can start presenting on the

(00:38:44):
Java user group because it’s all about the community.

(00:38:47):
And you see just the light goes off in their eyes and they turn around and go away.

(00:38:53):
Yeah, I mean, that’s true.

(00:38:54):
I mean, there’s a lot of people who just are coding behind the firewall and they’re happy.

(00:39:00):
And that’s fine.

(00:39:00):
That’s their role, too.

(00:39:03):
But what’s also interesting about that is many times those people,

(00:39:08):
especially early on in their career,

(00:39:09):
they’re not necessarily aware of the community anymore.

(00:39:13):
And they discover the community through work.

(00:39:16):
And they cross the firewall.

(00:39:17):
They go to a user group.

(00:39:18):
They go to a conference.

(00:39:19):
And they meet friends.

(00:39:20):
And they get problems solved.

(00:39:22):
And their career explodes as a result of that.

(00:39:25):
So the community is so big.

(00:39:28):
I mean, there’s millions and millions.

(00:39:30):
And there’s all different people doing different things at different levels.

(00:39:33):
Yeah.

(00:39:33):
What you said about the Java Champions is very true.

(00:39:35):
I mean, I talked to a lot of JCs.

(00:39:39):
I’m involved with managing the program through Oracle.

(00:39:42):
I mean, it’s an independent project, program, so to speak, but it’s sort of sponsored by Oracle.

(00:39:49):
And so I work on that.

(00:39:50):
So I’ve gotten to know a lot of you guys over the last few years since I joined

(00:39:55):
this team in 22,

(00:39:58):
the Java Developer Relations team.

(00:39:59):
Yeah.

(00:40:01):
It is true.

(00:40:01):
I mean,

(00:40:01):
some of them are highly technical and they’re just hacking on the JVM and some of

(00:40:06):
them are more generalists and some of them do a lot of community building.

(00:40:09):
I mean, there’s just a variety of people.

(00:40:12):
So it’s very interesting for me.

(00:40:14):
I do a lot of learning through my interactions with them.

(00:40:17):
All right.

(00:40:18):
Well, Ivar, it’s been great talking to you.

(00:40:21):
Is there anything that you can leave us with?

(00:40:24):
Is there any words of wisdom,

(00:40:26):
any interesting stories,

(00:40:27):
anything or anything I’ve forgot to ask you that I should have?

(00:40:32):
i feel i’ve just been rambling on for an hour now but i don’t know i i i say you

(00:40:39):
should listen to duke’s corners podcast because that’s where the real stuff is so

(00:40:45):
cool go back and listen to previous episodes and upcoming episodes and if you want

(00:40:49):
to skip this one fine but uh we’ll appreciate if you listen to this one as well

(00:40:54):
No, I only talk to good people.

(00:40:55):
It’s interesting because sometimes I talk to someone like yourself as well now and

(00:41:00):
someone who has no name recognition at all.

(00:41:04):
But I learn from every single one of you guys because you all have different

(00:41:09):
stories and different perspectives on things.

(00:41:13):
I do it because Oracle lets me do it,

(00:41:16):
so that’s really cool,

(00:41:17):
but I find it a learning experience.

(00:41:20):
And it’s something I can actually do.

(00:41:21):
I enjoy it.

(00:41:23):
So thanks for the plug.

(00:41:25):
Cool.

(00:41:27):
Learning while enjoying.

(00:41:28):
That should be our slogan.

(00:41:31):
Absolutely.

(00:41:31):
Absolutely.

(00:41:32):
All right, my friend.

(00:41:33):
I will see you at a conference because you’re everywhere.

(00:41:37):
I’m sure I’ll trip over you somewhere sometime soon.

(00:41:41):
Yeah.

(00:41:42):
Thank you very much for having me here.

(00:41:43):
It’s been a pleasure.